last update: 26/ january / 2005
[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 prendere questa strada in quanto pensavo che un
applicativo dedicato sarebbe stato molto più leggero (e
quindi veloce) e 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 un
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 [esempio in fig. 1].
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. [fig.2]
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 su quali sono 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 un neo 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:
Il programma supporta anche una minima forma di autentificazione 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 files 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 files
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 è un 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:
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 quindi di riassumere quelli che considero i pro e i contro di questo programma...Pro: | Contro: |
---|---|
Facilità di installazione | Istruzioni solo in inglese |
Facilità d'uso | Non ben strutturato per il supporto multilingua |
Stabilità | Non supporta (ancora) l'alias sui nomi delle tabelle |
Buon supporto | Le istruzioni sono ridotte all'essenziale |
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 sua semplicità d'uso ` la sua caratteristica migliore e toglie un ostacolo all'implementazione di tabelle dinamiche all'interno delle pagine web.