Bookmark and Share

Avvisiamo tutti i nostri visitatori
che Redomino sarà chiusa dal 2 al 29 agosto 2010 per le vacanze estive.
Buone vacanze a tutti!

Plone e database relazionali

Un esperimento per rendere Plone più alla portata di utenti non tecnici per costruire through the web maschere per l'interrogazione a database relazionali

creato da Davide Moro - 19/03/2010

Oggi vediamo un esperimento che dovrebbe rendere più facile l'interazione tra Plone attraverso dei form e Database Relazionali.

Come base per iniziare con l'esperimento si può partire dalla riesumazione di un vecchio prodotto in disuso chiamato SQLDocument disponibile sul collective [https://dev.plone.org/collective/browser/SQLDocument/trunk].

Note

Naturalmente voglio sottolineare che si tratta praticamente solo di un prototipo e va preso esattamente come tale, è per questo che parlo di "esperimento"!

Per esempio il codice non era mai stato ufficialmente rilasciato, era stato pensato per la versioni ormai datate e i soli interventi che ho effettuato avevano come scopo quello di riuscire a vederlo installato su un Plone 3 e vedere come funziona. Quindi sia chiaro: ognuno lo usi a suo rischio e pericolo, non ho verificato se ci sono meccanismi per evitare delle DROP, ecc...

Tuttavia essendo codice open source nulla ci vieta di testarlo, migliorarlo o prendere spunto da soluzioni simili per costruire un prodotto testato, affidabile e che renda Plone più facile da usare e pronto da dare in mano a persone che magari conoscono solo qualche fondamento di sql senza dover imparare da zero Plone e tutto il resto.

Obiettivi

L'obiettivo dell'esperimento sarà quello di dare uno strumento facile da usare a personale mediamente tecnico per realizzare semplici maschere di interazione con un database e:

  • creare di viste dinamiche per interrogare database con query qualsiasi
  • realizzare delle query dinamiche grazie a dei form autogenerati
  • essere integrato con PloneFormGen in veste di ThanksPage (costruisco il form come voglio e gli input vengono passati all'SQLDocument che li visualizzerà)

Le uniche competenze necessarie saranno la conoscenza base di SQL (scrivere qualche select con una condizione where).

Non sarà necessario per nulla conoscere:

e si potrà lavorare through the web (con tutti i limiti e i vantaggi che ne conseguono).

Quindi questo approccio potrebbe aiutare se il form da realizzare non è troppo complesso e vogliamo rendere autonome delle persone senza competenze specifiche (Plone, python, z3c.form, ...); in questo modo gli utenti dovrebbero essere autonomi e non avranno a che fare con un'astronave che non sapranno mai gestire senza un aiuto esterno, anche solo per fare operazioni molto semplici.

Naturalmente In tutti gli altri casi in cui si ha bisogno di un software chiavi in mano e che abbia tra le sue caratteristiche robustezza, flessibilità... allora un qualcosa come z3c.form&co sono l'ideale.

Test sul campo

Diamo qualche informazione sul prodotto: installazione, utilizzo, ecc...

Installazione

Basta effettuare il checkout dall'svn del collective e configurare il proprio buildout, con diverse modifiche ora è stato adattato per girare su Plone3.

Opzionalmente è possibile includere Reportlab per ottenere dei pdf sulla base dei risultati visualizzati estratti dal database. C'è anche la possibilità di ottenere dei file Excel installando le opportune librerie.

Opzionalmente si può anche installare PloneFormGen per poter scrivere delle maschere di interrogazione personalizzabile e in autonomia.

Utilizzo

Basta installare il prodotto e usarlo:

  • da solo (visualizza una query oppure realizza in automatico un semplice form se ci sono delle select con delle where)
  • in combinazione con PloneFormGen (costruiamo in autonomia con PloneFormGen la maschera di interrogazione e abilitiamo l'SQLDocument come ThanksPage per visualizzare i risultati)

Riferimenti in rete

Ecco alcuni link in inglese che portano alla pagina principale del prodotto, dei tutorial e al codice (sono presenti esempi di configurazione e screenshot).

Non viene coperta dai tutorial l'integrazione con PloneFormGen, ma è piuttosto semplice

Parole sante

Inviato da Andrea Marin il 21/03/2010 10:46
Ciao Davide,

quoto in pieno la tua frase:

"in questo modo gli utenti dovrebbero essere autonomi e non avranno a che fare con un'astronave che non sapranno mai gestire senza un aiuto esterno, anche solo per fare operazioni molto semplici"

Il problema che continuo a riscontrare con Plone è propio la sensazione di dover imparare un intero sistema complesso e tecnologicamente evoluto anche per fare piccole personalizzazioni o esperimenti.

Però inizio ad essere più fiducioso vedendo le features delle nuove versioni 4 e 5, speriamo bene :):):)

p.s.

per non parlare di qualsiasi minima personalizzazione della grafica.

re: ParoleSante

Inviato da Davide Moro il 22/03/2010 10:25
Ciao Andrea,
confermo, Plone sta compiendo dei bei passi in avanti e ne vedremo delle belle :)