<- Sniffing e programmazione C a basso livello - Indice Generale - Copertina - User-Mode-Linux -> |
Sistemi Liberi
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 |
<- Sniffing e programmazione C a basso livello - Indice Generale - Copertina - User-Mode-Linux -> |