ugg outlet italia online Albo Pretorio On Line per la Pubblica Amministrazione

ugg ultra short Albo Pretorio On Line per la Pubblica Amministrazione

Albo Pretorio On Line è un’applicazione che è nata nella comunità italiana di Joomla! per dare una risposta, con l’uso del CMS Joomla!, all’esigenza delle pubbliche amministrazioni di avere disponibile l’albo pretorio on line sul quale pubblicare i propri atti in adempimento dell’art. 32 della Legge 18 giugno 2009, n. 69, che prevedeva che dal 1 luglio 2010 gli atti soggetti a pubblicazione per avere efficacia dovevano essere pubblicati sul sito Internet degli enti. L’art. 2 della legge 25/2010 ha prorogato la data di inizio della pubblicazione obbligatoria al 1.1.2011. La ricerca che stavo facendo sull’uso abbinato di due componenti, Chronoforms e Chronoconnectivity della Chronoengine, mi portò a rispondere, a chi aveva posto la necessità di realizzare un’applicazione, che pensavo che con quegli strumenti si poteva risolvere il problema.

Quella dichiarazione fu un po’ ottimistica, ma come i fatti hanno dimostrato era vera. C’era uno schema mentale delle cose, che sostanzialmente è rimasto solido, ma quante cose si sono presentate da allora. In quel momento non si conoscevano completamente i problemi che dovevano essere superati. Ma si doveva fare qualcosa. (“Provare no! Fare! O non fare. Non c’è provare!” Maestro Joda Guerre Stellari)

Si è aperta una discussione con pareri, esigenze, suggerimenti una vera piccola comunità creativa. Era dicembre 2009 e da allora la discussione è stata letta oltre 20.000 volte. E’ al primo posto dei topic con maggiori risposte ricevute con circa 700 post ad oggi (dovremo pensare a qualcosa di diverso altrimenti sarà ingestibile). Nel marzo 2010 è uscita timidamente la prima versione 1.0 alpha ed oggi dopo 30 rilasci siamo alla versione 8.0 beta 5 di Albo, 2 patch dei componenti della Chronoengine, una per validazione W3C e l’altra per il potenziamento del componente Chronoconnectivity ed un modulo dedicato all’applicazione per visualizzare gli ultimi atti pubblicati. Al Joomladay 2010 è stata presentata l’applicazione che per l’occasione aveva una versione dedicata alla manifestazione.

Da una semplice ricerca con Google risulta che 54 amministrazioni italiane usano in nostro Albo. Fra cui comuni, tanti piccolissimi e con difficoltà economiche, unioni di comuni, comunità montane, scuole, associazioni, l’ ASL 14 del Veneto, una agenzia della Regione Abruzzo e l’Autorità Portuale di Cagliari.

Si può dire un successo, che trova la forza proprio nelle modalità con cui è nato. Il CMS Joomla! e le sue estensioni che sono il motore di tutto e la sua comunità operosa che partecipa costantemente alla crescita ed allo sviluppo delle sue estensioni. Due risorse che vanno di pari passo ed in simbiosi. Senza uno non c’è l’altro e viceversa.

Descrivere i 400 Kb di codice non è impresa che può essere realizzata in questa sede, ma può essere utile forse parlare dei principali problemi trovati e risolti, perchè ciò può essere utile anche ad altri, che magari con gli stessi metodi o addirittura innovandoli possono realizzare altre applicazioni utili alla comunità.

Una premessa preliminare, Albo Pretorio On Line non è una classica estensione di Joomla. Albo Pretorio è un sistema che mette il relazione fra loro i prodotti realizzati dai componenti della Chronoengine. I prodotti realizzati dai componenti sono i forms e le connessioni alle tabelle del database, in cui i forms registrano i loro campi. Il dialogo controllato realizzato fra forms e connessioni da vita all’applicazione Albo Pretorio.

Alcune informazioni di ordine generale. Allo stato attuale l’applicazione utilizza 19 forms di Chronoforms e 11 connessioni di Chronoconnectivity2 (la versione modificata multi tabella), 7 le tabelle utilizzate, escluse quelle che contengono i forms e le connessioni.

Il primo problema superato è stato proprio quello di modificare la normale versione di Chronoconnectivity, che gestisce una sola tabella nella query per interrogare il database. La versione modificata, alla fine in modo abbastanza semplice grazie alla qualità del codice originario, consente di gestire query su più tabelle e quindi ha dato maggiori possibilità e potenza alla realizzazione del lavoro.

Le funzioni che compie l’applicazione possono essere comprese in queste descrizioni:Ovviamente qui i dati sono tutti finalizzati a descrivere gli atti amministrativi che devono essere pubblicati e gli allegati in vari formati sono i veri documenti costituenti gli atti che saranno visualizzati dal pubblico con varie modalità. I formati gestiti nella configurazione di default sono i seguenti: doc, pdf, rtf, txt, png, jpg.

Avendo stabilito di usare come strumenti i componenti della Chronoengine, che lavorano su forms, elenchi di dati e tabelle di database, si è dovuto pensare ad un uso dei forms che andasse oltre il semplice inserimento di dati e del loro invio ad una tabella del database. In questa applicazione il form deve essere pensato come un contenitore, in cui può stare qualsiasi cosa, in alcuni casi c’è tutto tranne gli elementi fondamentali di un form, campi e bottoni. Per esempio ci sono immagini, testi informativi, link ad altri form e connessioni oppure codici in linguaggio php, css o javascript, che controllano e decidono cosa e come deve essere mostrato nel form o come esso deve reagire a determinati eventi. Questo è uno dei punti di forza che ha consentito di superare i problemi. Infatti tutte le finestre che sono mostrate dall’applicazione, escluso qualche elenco, sono dei forms, che a volte si presentano apparentemente come normali contenuti di Joomla.

I 19 forms dialogano fra loro scambiandosi dati (variabili, array), i quali determinano il modo in cui il form ricevente risponde o si presenta graficamente per gestire nel modo appropriato i dati. La stessa cosa fanno le 11 connessioni, che visualizzano ciascuna liste sintetiche degli atti e consentono le ricerche e la navigazione fra gli atti e permettono di raggiungere i form per vedere o elaborare di dati. Le 3 connessioni dedicate alle ricerche contengono esse stesse dei forms.

I principali problemi di risolti per far funzionare le cose nel modo giusto sopra sintetizzato sono i seguenti:

Implementazione di due caselle dropdown dinamiche, di cui la seconda con dati mostrati in funzione di quelli scelti nella prima casella. Questo è stato necessario per gestire la classificazione degli atti divisi in sezioni e categorie, che però non hanno riferimento a quelle di joomla, in cui le seconde appunto appartengono alle prime. Questa soluzione, di cui è stato dato conto anche nel forum, è stata realizzata con l’uso misto di javascript e di php. Le soluzioni sono giunte utilizzando la gestione delle sessioni di Joomla che ha consentito di memorizzare dati funzionali alla navigazione fra le pagine prodotte dalle ricerche e di visualizzare i totali dei dati trovati insieme alle chiavi di ricerca.

Altra funzione importante inserita è quella che consente l’ordinamento ascendente e discendente delle colonne dei campi negli elenchi degli atti. Anche qui javascript e php hanno fatto la loro parte integrandosi in modo ottimale.

La stampa di parti delle pagine visualizzate è un’altra funzione ottenuta con l’uso di javascript sia all’interno degli elenchi che dei forms.

E’ stata pensata una gestione dei permessi degli utenti , una specie di ACL di Albo Pretorio, che opera sia sulle funzioni dell’applicazione che sulle categorie degli atti. Questo consente di assegnare a ciascun operatore delle specifiche funzioni di Albo, ma anche di limitare o meno la sua attività ad atti appartenenti a determinate categorie.

L’uso dei plugin di chronoform. Due in modo particolare. Il Multi Page con il quale sono gestiti i 3 form, oltre al form madre, che consentono la procedura di inserimento degli atti e degli allegati. Il Profile Page che consente di richiamare i singoli atti dai risultati degli elenchi e delle ricerche, in visione, in modifica, cancellazione o nella finestra di notifica.

Quest’ultima funzione di notifica ha richiesto, per le sue necessità, lo sviluppo di una modalità di invio per email dei dati degli atti, con gli allegati, che ha sfruttato completamente il sistema delle API di joomla dedicate all’invio delle email. Ne è risultato un sistema potente che non ha alcun limite nelle possibilità di invio che potrebbero essere richieste in futuro.

E’ stata posta cura per assicurare uno scambio di valori fra le pagine dell’applicazione in modo sicuro usando le API di joomla dedicate a questo compito (JRequest::getVar() e JRequest::setVar() ).

Sono stati usati quasi tutti gli elementi di configurazione dei forms previsti da Chronoforms, fra questi i campi che consentono di seguire il flusso dei dati durante l’uso del form, cito come esempio la finestra Validation che consente di analizzare i valori dei campi passati dal form prima del loro invio definitivo al sistema. Questa è una vera risorsa che consente il controllo dei dati, la loro modifica e l’avvio di azioni specifiche in funzione appunto dei valori rilevati.

La finestra_avvio è il punto di partenza, di transito e ritorno delle attività. E’ anch’essa uno di quei form particolari senza tasti e campi ed ha come compito quello di chiamare gli altri forms e le connessioni,
ugg outlet italia online Albo Pretorio On Line per la Pubblica Amministrazione
predisponendo le variabili di sessione necessarie per passare alle altre finestre il controllo dell’applicazione.