Sinistra <- Sniffing e programmazione C a basso livello - Indice Generale - Copertina - User-Mode-Linux -> Destra

Sistemi Liberi


DaDaBIK

di Rudi Giacomini Pilon

L'articolo...

Quando si decide di recensire un programma è sempre difficile parlarne in modo obiettivo, spesso si finisce per essere troppo entusiasti e chi legge la recensione ha l' impressione di trovarsi di fronte ad un articolo "di parte"; altre volte si esagera con le critiche negative e si finisce con lo scrivere una stroncatura. Spero seriamente che l'articolo che segue possa risultare sufficientemente obiettivo da stimolare la vostra curiosità senza indurvi a preconcetti.



Un po di tempo fa stavo cercando di decidere come sviluppare un piccolo database che lavorasse principalmente sotto GNU/Linux. In realtà mi sono subito reso conto che, rispetto ad ogni altra soluzione, avrei preferito un sistema multipiattaforma e quindi mi sono orientato ad uno sviluppo con la classica terna di strumenti composta da Apache, MySQL e PHP. Ho avuto molti dubbi prima di intraprendere questa strada in quanto pensavo che un applicativo dedicato sarebbe stato molto più leggero (e quindi veloce) e che le mie necessità erano in fondo basilari. Alla fine ho concluso che tanto valeva pensare in grande e creare un template per tutti i futuri database che avrei creato. Questo strato di base sarebbe stato anche un bel pacchetto da distribuire con GPL.
Dopo aver completato un po' di lavoro mi sono casualmente imbattuto in DaDaBIK, una applicazione che era praticamente il risultato di quanto stavo cercando di realizzare. Ho trovato l' applicativo particolarmente stabile e utile per cui ho deciso di dedicargli questo articolo.

Come descrive la presentazione nella home page, DaDaBIK è un applicazione web-based, scritta in PHP, che permette la facile realizzazione di interfacce per database MySQL. Fornisce le operazioni di base di ricerca, inserimento, modifica e cancellazione dei records. Tali funzioni vengono implementate senza la necessità da parte dell'utente di scrivere una sola riga di codice. DaDaBIK vuole infatti permettere alle persone non esperte di programmazione di incorporare nelle loro pagine web dei database fornendo degli strumenti per manipolare l' interfaccia di base e, attraverso essa, l'accesso ai dati.
Viene ipotizzata la figura di un "amministratore" che nulla ha a che vedere con il sysadmin del sito web o con l'amministratore del database; si tratterà dell'utente esperto o web designer che ha il compito di preparare per gli altri l'interfaccia di accesso ai dati. Bisogna, a questo punto, precisare che DaDaBIK non offre nessuno strumento di manipolazione dei database (un ottimo tool per questo scopo è phpMyAdmin), in quanto si prevede che il database e le tabelle su cui si andrà a lavorare siano preesistenti. Questo potrebbe essere visto da alcuni come un limite ma a mio parere è semplicemente una chiara visione di quali siano gli obiettivi del programma.
L'amministratore sopra definito ha fra gli altri il compito di decidere quali delle tabelle del database devono essere incluse nell'interfaccia per gli altri utenti e quindi visibili attraverso di essa. Nella gestione delle tabelle troviamo quello che potrebbe essere una smagliatura del programma, ovvero l'impossibilità di creare un alias per il nome della tabella. Questo impone di creare dei nomi significativi per le tabelle fin dall'inizio, cosa che in fondo potrebbe anche non essere un problema se costruite dei database da zero ma che può diventare antipatica per i database già esistenti. Comunque, anche se avete dei database con dei nomi di tabella tipo tab_cpl_clnt_azie non disperate, in quanto quella del supporto agli alias delle tabelle è una delle migliorie più richieste e quindi è molto probabile possa essere presente in futuro.

L'alias è invece ampiamente supportato per i singoli campi di ciascuna tabella elementi, per i quali le possibilità di gestione sono molto più ampie. Oltre alla loro visibilità, per esempio, è possibile definire la tipologia del campo (definito "content type") implementando automaticamente il controllo dei valori inseriti. Per essere più chiari: se un campo viene definito come numerico ed in esso, durante l'utilizzo, vengono inserite delle lettere il programma non validerà l' input e chiederà il reinserimento dei dati. Oltre ai campi di tipo numerico, alfanumerico, alfabetico e numeri di telefono sono supportati:

Oltre alla tipologia del campo è possibile definire il tipo di interfaccia (definita "field type"), dove accanto ai soliti campi di tipo testo, password o area di testo vi sono dei tipi di campo un po' più sofisticati. Vediamo alcuni esempi:

Il programma supporta anche una minima forma di autenticazione, in quanto è possibile permettere la visualizzazione, la modifica e la cancellazione di un record solo all'utente che lo ha caricato. Per includere tali possibilità vanno abilitate le corrispondenti voci del file di configurazione. Ovviamente la creazione degli utenti è riservata all'amministratore.

L'installazione è relativamente semplice, ma le istruzioni sono in lingua inglese e questo potrebbe mettere un po' in difficoltà alcuni utenti. I file del programma sono scaricabili dal sito Sourceforge. I prerequisiti del programma sono alla portata di tutte le distribuzioni più recenti: richiede una versione di PHP 4.05 o maggiore ed è considerato compatibile con MYSQL 3.23.x e superiori.
Personalmente ho provato il programma su una Fedora Core 2, con una grande facilità, semplicemente scompattando i file nella cartella opportuna e accedendo alla "home page" del programma. Questo mi ha permesso di verificare all'istante il coretto funzionamento del tutto. Chiaramente le cose hanno avuto un maggior senso dopo avere adeguatamente modificato un minimo di voci nel file di configurazione. Portatevi quindi nella cartella del programma ed individuate nella sottocartella ./program_files/include/ il file config.php : in questo file inserite (dove richiesto) il nome o l'indirizzo ip dell'host che contiene il server mysql a cui vi appoggiate, lo username (ovvero nome utente) utilizzato per la connessione, il nome del database da connettere, e l'indirizzo per il sito web. Vi sono altre variabili configurabili ma quelle elencate sono sufficienti per verificare il funzionamento del tutto.
Per completezza di informazioni devo dire che testandolo sotto Windows ho avuto problemi con l'ultima versione (1.7) di EasyPHP in quanto venivano segnalate delle mancate inizializzazioni di variabili. Non ho riscontrato il problema sotto Linux ne con la versione precedente di EasyPHP (N.B: uno scambio di mail con l'autore del programma mi ha confermato che il problema è già stato risolto e non sarà presente nella prossima release).

Mi sembra doveroso avvisare che DaDaBik aggiungerà delle tabelle al vostro database quindi, se avete un database già operativo in ambiente di produzione e non desiderate "sporcarlo" con tabelle aggiuntive, eseguire i test in un ambiente di prova è d'obbligo.

Il programma è multilingua e sono supportati inglese, italiano, tedesco, olandese, spagnolo e francese. In realtà su questo punto ho incontrato un paio di pecche:

Chiaramente tali limiti non toccano coloro che non dovessero avere necessità di un supporto multilingua sullo stesso database.

Il sito di DaDaBik offre un buon supporto attraverso il "support forum". Mi sono trovato di fronte ad un paio di problemi che erano già stati riscontrati da altri ed ho trovato le risposte con una semplice ricerca negli argomenti già trattati.

Vediamo, infine, di riassumere quelli che considero i pro e i contro di questo programma.

Pro:

Contro:

Spero di avervi incuriosito a sufficienza da indurvi a provare il programma, che a mio parere ha buone potenzialità e merita di poter crescere. La semplicità d'uso è la sua caratteristica migliore e toglie un ostacolo all'implementazione di tabelle dinamiche all'interno delle pagine web.



L'autore

Rudi Giacomini Pilon, programmatore dall'età di 14 anni, ex progettista elettronico, ex hardwarista e sistemista presso un Microsoft Solution Provider, ex esperto di reti e programmatore in una concessionaria IBM, incontra Linux nel 1994 e da allora vede pinguini ovunque. Dal 1999 è responsabile EDP in una SpA ove affronta l'informatica a 538 gradi (360 erano pochi).


Sinistra <- Sniffing e programmazione C a basso livello - Indice Generale - Copertina - User-Mode-Linux -> Destra