Attività di manutenzione evolutiva della banca dati - ittig

Istituto di Teoria e Tecniche dell’Informazione Giuridica (ITTIG)
Consiglio Nazionale delle Ricerche
Attività di manutenzione evolutiva della banca dati normativa
PAeSI – Pubblica Amministrazione e Stranieri Immigrati
Evolutionary maintenance activities of the legislative database
PAeSI - Public Administration and Immigrants
Mariasole Rinaldi
30 maggio 2014
Rapporto tecnico n. 1/2014
Keywords: legislative database, Content Management System (CMS), NIR DTD 2.2
1
Indice
1. Introduzione……………………………………………………………………………..pag. 3
2. La banca dati normativa…………………………………………………………………pag. 5
2.1 Attività riguardanti la gestione dei documenti normativi……………………………….pag. 7
2.2 L’accesso ai documenti normativi………………………………………………………pag. 9
2.3 Protocollo di comunicazione con la banca dati eXist…………………………………...pag. 10
3. Esperienze analoghe già realizzate: le raccolte legislative di Regione Toscana e
Regione Campania …………………………………………………………………………..pag. 11
2
1. Introduzione
Il progetto PAeSI (Pubblica Amministrazione e Stranieri Immigrati) nasce intorno al 2004 con
l’intento di fornire un punto di accesso telematico unico per i servizi che vedono coinvolti
amministrazioni pubbliche e stranieri residenti nel territorio toscano, ovvero un luogo dove gli
operatori della pubblica amministrazione, che svolgono un ruolo di supporto informativo verso i
cittadini stranieri, possano trovare informazioni aggiornate e dettagliate su procedure e normativa.
Il portale per l'immigrazione PAeSI1, creato nell’ambito dell’omonimo progetto è stato realizzato
grazie alla collaborazione tra Regione Toscana, Prefettura di Firenze e Istituto di Teoria e Tecniche
dell’Informazione Giuridica (ITTIG) del CNR.
Il servizio PAeSI si inserisce nel Piano di azione regionale e.Toscana, approvato in attuazione del
programma speciale “Una Toscana più efficiente e meno burocratica”, con l’obiettivo di creare tra i
soggetti della pubblica amministrazione, le associazioni di categoria e le rappresentanze del mondo
delle professioni una circolarità e una condivisione di informazioni, finalizzate allo snellimento e
alla trasparenza dei procedimenti amministrativi ed alla costruzione di un corretto sistema di
rapporti fra pubblico e privato, a vantaggio dei cittadini e delle imprese.
L’imponente crescita della documentazione raccolta in questi anni rende necessaria la completa
ristrutturazione dell'intera architettura del portale attraverso l’utilizzo di strumenti di accesso e di
selezione più flessibili e sofisticati dei contenuti, utilizzando prodotti che siano più facilmente
mantenibili e che offrano maggiori funzionalità.
Questo Rapporto tecnico si pone, quindi, l’obiettivo di illustrare l’attività relativa alla manutenzione
evolutiva del portale effettuata grazie al supporto di Tecnodiritto s.r.l., spin-off del CNR, relativa
in modo particolare alla sezione che contiene la banca dati normativa.
Questa necessaria evoluzione comporta la revisione degli strumenti di gestione dell’intero
patrimonio documentario raccolto. La gestione dei vari contenuti è attualmente basata sul CMS
(Content Management System)2 Lenya, un sistema XML nativo che, al momento della originaria
progettazione, era molto promettente ma che attualmente è completamente superato. Questo
comporta notevoli difficoltà nella manutenzione del sistema rendendo vincolanti i possibili sviluppi
e costringendo all'utilizzo di strumenti compatibili, anch'essi diventati al momento obsoleti.
In Lenya, la registrazione dei contenuti avviene direttamente sul file system, attraverso due file
XML che ne guidano l'accesso:
-
il Site-tree, che contiene sostanzialmente la mappa del sito, ovvero come sono organizzate e
distribuite le risorse nel file system. Nel Site-tree sono contenute anche le norme, collocate in
una cartella indicizzata da Lucene;
-
l'Event-tree, che svolge le funzioni di albero di navigazione e di accesso ai procedimenti. In
linea generale questo file riproduce il classico schema degli “eventi della vita”, organizzati in
categorie principali, con le relative sotto-categorie. I procedimenti vengono agganciati ad una o
più delle sotto-categorie per le quali sono rilevanti. Sulla base di altri metadati presenti (es.
provincia, comune, ecc.) vengono visualizzati solo i procedimenti specifici del territorio
selezionato.
1
2
http://www.immigrazione.regione.toscana.it/
Per CMS s’intende un sistema di gestione dei contenuti, ovvero uno strumento software, installato su un server
web, il cui compito è facilitare la gestione dei contenuti di siti web, svincolando il webmaster da conoscenze
tecniche specifiche di programmazione Web.
3
Per migliorare le funzionalità di gestione e di ricerca sul patrimonio documentario, si intende
immettere i vari contenuti in veri e propri sistemi di gestione di banche dati (DBMS) o di contenuti
(CMS), che mettono a disposizione una serie di funzioni per l’aggiornamento e l’indicizzazione dei
materiali. Tali sistemi di gestione sono scelti sulla base delle caratteristiche del tipo di documento
che vi deve essere memorizzato, in modo da ottenere per ciascun materiale la massima efficacia.
L’attività di manutenzione, quindi, prevede sostanzialmente l’intervento in due moduli, che
riguardano in particolare la gestione e l’accesso ai seguenti contenuti:
-
la banca dati normativa, sulla quale ci soffermeremo con attenzione in questo rapporto tecnico;
-
gli altri materiali del portale (news, guide, approfondimenti, ecc.)3.
3
Progetto esecutivo per la manutenzione evolutiva del portale PAeSI (WP1 e WP3) Versione 1.0 ad opera di
Tecnodiritto s.r.l.
4
2. La banca dati normativa
Il risultato a cui s’intende mirare è la creazione di una banca dati XML nativa delle norme di
interesse nel settore dell'immigrazione, i cui documenti siano:
-
conformi ai più recenti standard nazionali;
-
interconnessi alle altre norme comunitarie, nazionali e regionali;
-
richiamabili da un qualsiasi sito o sezione e presentabile secondo i relativi layout;
-
interoperabili con il sistema di “tagging” già realizzato;
-
selezionabili attraverso funzioni di ricerca avanzate4.
La banca dati normativa che s’intende realizzare sostituisce l'attuale raccolta delle norme nel portale
PAeSI e sarà successivamente integrata con il nuovo sistema di gestione, per il quale verrà utilizzato
il CMS Drupal.
Il DBMS (Database Management System) scelto è eXist5, un database nativo XML che permette di
gestire documenti XML come collezioni di dati indicizzati, e la loro interrogazione tramite XPath e
XQuery. In tal modo verranno sfruttate appieno tutte le caratteristiche della marcatura XML, ed in
particolare quella relativa alla struttura dell'atto (titolo, articolo, comma, ecc.), ai metadati
descrittori (pubblicazione, vigenza, ciclo di vita, ecc.) e alle relazioni con altri atti (citazioni,
modifiche attive e passive, ecc.).
Il database richiede un servlet container (Tomcat, Jetty, ...) o un application server (Weblogic,
JBoss, ...). La scelta finale su questi componenti verrà concordata con i tecnici della Regione che
devono allestire il server del portale.
L'interrogazione della banca dati avverrà come mostrato nello schema sotto riportato6.
4
Si veda Progetto esecutivo per la Manutenzione evolutiva del portale PAeSI (WP1 e WP3) Versione 1.0, cit.
eXist è un sistema di gestione open source per data base costruito usando la tecnologia XML. E’ capace di
archiviare e organizzare dati in accordo con l’efficienza fornita dalle caratteristiche e i modelli dello standard XML
(http://exist-db.org/exist/index.xml).
6
Cfr. Progetto esecutivo per la manutenzione evolutiva del portale PAeSI (WP1 e WP3) Versione 1.0, cit.
5
5
Mediante la maschera di ricerca si effettuano delle chiamate all’application server secondo un
protocollo prestabilito, recuperando dal database eXist un opportuno file XML che contiene
l'insieme dei documenti che soddisfano la richiesta; questo file sarà trasformato con il linguaggio
XSLT in un documento XHTML visualizzabile dal browser che ha effettuato l'interrogazione.
Per ottenere tali risultati verranno svolte delle azioni specifiche che riguardano essenzialmente:
1. le attività relative alla gestione dei documenti normativi
2. l’accesso ai documenti normativi stessi7.
7
Progetto esecutivo per la manutenzione evolutiva del portale PAeSI (WP1 e WP3) Versione 1.0 , cit.
6
2.1 Attività riguardanti la gestione dei documenti normativi
Le azioni necessarie per la completa gestione della normativa, che si concretizza nella costituzione
della banca dati e degli strumenti necessari al suo accesso, si svolgono attraverso dei passi ben
definiti, quali:
1. la conversione dei documenti normativi nello standard NIR DTD 2.2:
occorrerà allineare la marcatura delle norme preesistenti, basate su standard precedenti, all’attuale
standard nazionale (vers. 2.2) per garantire la completa interoperabilità con gli altri sistemi
informativi e per poter utilizzare tutti i più recenti strumenti che si basano su questo standard.
Le novità introdotte dall’ultima versione dello standard riguardano sia la struttura dell'atto che, in
modo più significativo, l'insieme dei metadati associati. La conversione verrà effettuata in gran
parte in automatico, predisponendo opportuni fogli di trasformazione XSLT o script; invece, per le
norme che hanno subito modifiche (versione multivigente), occorrerà un intervento di tipo manuale;
2. la creazione per i documenti normativi di una banca dati XML nativa:
le norme convertite alla vers. 2.2 dello standard NIR saranno caricate nel data base, dopo le
necessarie fasi di installazione e personalizzazione del DBMS eXist 8; successivamente verranno
ritoccati i fogli di stile di presentazione, per migliorare la leggibilità e l'interconnessione dei
documenti;
3. la gestione della banca dati normativa via CMS:
alla redazione che gestisce la banca dati, al fine di facilitare le operazioni di aggiornamento, sarà
resa disponibile, attraverso lo stesso eXist, un’interfaccia web con le classiche funzionalità per il
download, la sostituzione, l'inserimento e la cancellazione delle norme. Ogni operazione di
aggiornamento sarà tracciata, quindi sarà possibile confrontare fra loro due versioni adiacenti per
evidenziare le differenze e, se del caso, ripristinare la versione precedente.
Sarà inoltre reso disponibile un pannello di amministratore per la creazione, cancellazione o fusione
delle varie collezioni nonché per la gestione degli utenti e delle relative credenziali;
4. l’implementazione di un protocollo richiesta/risposta XML con la banca dati:
il protocollo in questione permette l'interoperabilità e la condivisione dell’intera normativa con altri
soggetti e servizi. In sostanza può essere selezionato un qualsiasi insieme di documenti da una
qualsiasi sezione del portale PAeSI così come da un qualsiasi sito o sezione della Regione Toscana
o di un altro ente. Essendo restituito un file XML, la presentazione è demandata al sito chiamante e
quindi può essere effettuata, attraverso un proprio foglio di stile, in piena armonia con il layout del
sito stesso;
5. la conversione del risolutore URN-URL per la banca dati:
il risolutore per la trasformazione da identificatore univoco dell'atto (URN) a collocazione in
rete (URL) dell’atto stesso sarà riprogettato.
I principi di funzionamento del risolutore sono i seguenti:
a) per gli atti contenuti nella banca dati normativa del portale PAeSI, verrà effettuata una query nel
DB eXist;
8
http://prdownloads.sourceforge.net/exist/cocoon-2.1.11-with-eXist-1.2.6.war
7
b) per gli atti della Regione Toscana, la risoluzione verrà demandata all’archivio del Consiglio
regionale;
c) per gli atti nazionali, sarà il portale di Normattiva a restituire il documento;
d) per gli atti europei, verrà generata una query verso il portale EurLex, attraverso la costruzione
dell’identificativo univoco “Celex number” dell’atto;
6. l’ampliamento del sistema di tagging:
il sistema di tagging già realizzato verrà ampliato per contenere anche i metadati relativi ai
documenti normativi. In questo modo sarà possibile utilizzare questa metodologia di accesso anche
per le norme, al pari di tutte le diverse tipologie di contenuti raccolti nel portale.
La definizione dettagliata dei tag specifici per le norme sarà concordata con il Gruppo di lavoro che
cura la gestione dei contenuti9.
9
Progetto esecutivo per la manutenzione evolutiva del portale PAeSI (WP1 e WP3) Versione 1.0 , cit.
8
2.2 L’accesso ai documenti normativi
La banca dati XML gestita da eXist, permetterà di sviluppare una serie di nuove funzionalità di
ricerca sulle norme, sfruttando la marcatura degli atti.
In particolare saranno realizzate specifiche maschere di ricerca per effettuare la selezione dei
documenti in base a:
-
i diversi aspetti della struttura formale:
i. estremi dell’intestazione (autorità emanante, tipo di provvedimento, data e numero);
ii. parole del titolo e/o del testo;
iii. compresenza delle parole nella stessa partizione (articolo, comma, …), ecc.;
-
i metadati descrittori:
i. materia trattata;
ii. estremi di pubblicazione, ecc.;
-
i tag relativi all’area tematica con cui la norma viene classificata;
-
la presenza di riferimenti ad uno specifico atto;
-
la presenza di modifiche dovute ad uno specifico atto normativo.
Tutte le query di ricerca sono sviluppate utilizzando i linguaggi specifici per documenti marcati in
XML: XQuery10 e XPath11, standard emanati dal W3C12.
XQuery usa la sintassi delle espressioni di XPath per la selezione di specifiche porzioni di
documenti XML, con l'aggiunta delle cosiddette espressioni FLWOR (for, let, where, order by,
return) per la formulazione di query complesse. Altre potenzialità del linguaggio sono:
-
costruzione di elementi XML;
-
ordinamento dei risultati;
-
generazione di documenti HTML;
-
funzioni predefinite per il calcolo;
-
funzioni di aggregazione (simili a SQL).
Verranno inoltre sviluppati:
-
l'ordinamento cronologico inverso dei risultati della ricerca, ovvero (dal più recente al più
datato), basato sulla data di emissione dell'atto;
-
la predisposizione di un box informativo con i link alle norme inserite più recentemente, in
modo da poter visualizzare immediatamente la presenza di nuovi atti nel campo
dell'immigrazione;
-
l'implementazione di una banca dati, con relativa maschera di ricerca, per la normativa europea
in materia di immigrazione, reperibile da EurLex, con link al relativo atto di recepimento nella
10
11
12
http://www.w3.org/TR/xquery-30/
http://www.w3.org/TR/xpath/
http://www.w3c.it/it
9
normativa italiana: al fine di rendere visibili le modalità di attuazione in Italia delle direttive
europee.
10
2.3 Protocollo di comunicazione con la banca dati eXist
Il protocollo “richiesta/risposta XML” di comunicazione con la banca dati eXist consente
l’interoperabilità e la condivisione con il portale PAeSI (e in futuro verso altri soggetti e servizi).
Le risposte ad una query prevedono una gamma di tipologie a seconda delle necessità del
chiamante.
In generale esistono varie uscite che raggruppano i documenti secondo profili diversi (es. tipo atto,
emanante, anno, ecc.); da questi elenchi si attivano, tramite link, altre query che restringono la
ricerca al risultato ottenuto, fino ad arrivare alla richiesta del singolo atto.
L'interrogazione della banca dati fornirà la seguente serie di file XML per tipologia di uscita:
1. singolo atto: l’atto identificato dal suo nome uniforme univoco URN;
2. elenco atti: l’elenco degli atti che soddisfano la query di ricerca, con le modifiche subite;
3. elenco tipi di atto: l’elenco degli atti che soddisfano la query di ricerca, organizzato per
tipologia dell’atto e al suo interno per anno di emissione;
4. elenco emananti: elenco delle autorità emananti degli atti, organizzato per anno di emissione;
5. elenco tipi emanante: elenco delle tipologie delle autorità emananti, organizzato per anno di
emissione;
6. elenco anni: elenco degli anni di emanazione degli atti.
11
3. Esperienze analoghe già realizzate: le raccolte legislative di Regione Toscana e Regione
Campania
Nel 2009 la Regione Toscana ha affidato all’ITTIG ed al suo spinn-off Tecnodiritto s.r.l., il progetto
di conversione del proprio corpus di testi legislativi in testo marcato in formato XML secondo gli
standard NIR più recenti, appunto la versione 2.2 DTD.
Per la realizzazione della banca dati legislativa della Regione Toscana i testi, convertiti nel formato
XML, sono stati raccolti nel database nativo XML eXist, e sono stati successivamente processati
tramite il server web Jetty13, il quale li ha “renderizzati” 14 attraverso una specifica Graphical User
Interface (GUI), ideata sulla base di una dettagliata maschera di ricerca.
Il progetto si è concluso nel 2012, ha interessato le leggi emanate dal 1971 al 2011 e si è articolato
in varie fasi:
-
è stata svolta l’analisi dei testi utile al controllo della completezza degli elementi strutturali dei
documenti legislativi (estremi dell'atto, pubblicazione, titolo, eventuale preambolo, articolato,
formula finale ed eventuali annessi) pervenuti in formato txt;
-
i testi all’interno dell'ambiente di editing xm-Leges15 sono stati importati e convertiti
singolarmente in formato XML grazie al modulo xmLegesMarker;
-
i testi sono stati controllati e gli eventuali errori di lettura del parser sono stati corretti
manualmente; a questa fase è seguito il trattamento del testo con il parser dei riferimenti
(xmLegesLinker) per la costruzione dei link ipertestuali secondo la sintassi URN;
-
alla fase automatizzata è seguita una fase manuale per il controllo e per l'eventuale correzione
dei riferimenti malformulati (l'Editore contiene una procedura guidata per la costruzione
manuale delle URN).
Inoltre, per quanto riguarda i testi di modifica sono state individuate le disposizioni di modifica
attiva, annotandone i relativi metadati, estratti i metadati di modifica dalle disposizioni attive nel
testo (xmLegesExtractor) ed, infine, tramite una procedura automatica guidata, sono state scritte le
modifiche sugli atti destinatari, ovvero la relazione passiva, costruendo così sia la versione vigente
ad oggi di ogni documento sia la versione multivigente16.
La banca dati proposta, un archivio esclusivo della legislazione regionale, ancora in fase di
pubblicazione sul sito ufficiale di Regione Toscana17, garantisce la possibilità di visualizzare i testi
legislativi in una modalità che rappresenta l'intero arco del proprio ciclo di vita con le eventuali
modifiche subite.
Gli atti nel database nativo XML eXist, possono essere visualizzati a partire:
13
Jetty è un client/server HTTP unicamente basato su Java sviluppato come software libero e progetto open source
come parte di Eclipse Foundation. Jetty è progettato per essere incorporato in una applicazione Java, per fornirle tutti i
servizi del protocollo HTTP che le siano necessari.
14
Il termine, in senso ampio, indica la resa grafica, ovvero un'operazione compiuta da un disegnatore per produrre una
rappresentazione di qualità di un oggetto. In tempi relativamente recenti ha assunto un valore essenzialmente riferito
all'ambito della computer grafica; dove identifica il processo di "resa" ovvero di generazione di un'immagine a
partire da una descrizione matematica di una scena tridimensionale interpretata da algoritmi che definiscono il
colore di ogni punto dell'immagine digitale. www.wikipedia.org.
15
http://www.xmleges.org/ita/
16
Si veda M.Rinaldi, P.Scerrino, Appendice alla Guida per l'annotazione degli atti normativi tramite xmLeges-Editor:
trattamento dei metadati di modifica e creazione del testo multivigente, Rapporto tecnico Ittig n. 2/2013.
17
L'archivio è attualmente consultabile all'indirizzo: http://jtest.ittig.cnr.it:8080/cocoon/marcaturaToscana/index.xql
12
-
dalla classificazione per anno e per materia;
-
attraverso una maschera di ricerca basata su un'articolata modalità di interrogazione che
prevede:
un campo per la ricerca full text abbinata agli operatori booleani AND e OR;
un campo per la ricerca per estremi dell'atto;
un campo per la ricerca in base ai riferimenti attivi;
un campo di ricerca sulla base delle modifiche subite.
1.
2.
3.
4.
L'interrogazione restituisce la lista delle leggi che rispondono ai criteri della ricerca evidenziando:
-
gli estremi dell'atto
-
il titolo
-
l'elenco degli eventuali documenti modificanti
-
lo status abrogato, nel caso in cui l'atto sia stato abrogato.
L'atto oggetto della ricerca, viene visualizzato di default nella versione vigente, con la possibilità di
selezionare dalla maschera iniziale la versione desiderata. Nella pagina viene visualizzata:
-
la data odierna;
-
la URN con le specifiche della versione in uso;
-
l'elenco degli interventi di modifica con le relative date di vigenza;
-
l'opzione per la visualizzazione in modalità multivigente;
-
l'indice ed il testo della legge, corredato dalle note di vigenza sulle parti del testo che subiscono
modifiche.
Un’ulteriore esperienza commissionata all’ITTIG è stata quella relativa alla ristrutturazione della
base dati normativa della Regione Campania in conformità agli standard NIR DTD 2.2. Il progetto
si è sviluppato dal gennaio del 2008 alla fine del 2009 ed ha interessato la legislazione regionale dal
1971 al 2009.
Le leggi regionali sono state marcate secondo gli standard ufficiali di Norme In Rete più recenti
(versione 2.2 DTD o XMLSchema).
La raccolta delle leggi della Regione Campania redatte ad opera dell’ITTIG18, presenta le stesse
caratteristiche di quella descritta per le leggi della Regione Toscana, ovvero è stata inserita nel
database XML eXist19.
Il lavoro si è svolto:
-
18
19
acquisendo gli atti originali della Regione Campania dall'archivio delle leggi regionali della
Camera dei Deputati, integrate da alcune leggi regionali reperite dal sito della Regione
Campania in formato PDF, relative agli anni più recenti (dal 2000 in poi) al fine di ottenere una
migliore gestione delle tabelle, che negli archivi della Camera risultavano mancanti o convertite
a semplice testo (il modulo dell’Editore di pre-marcatura è stato adattato per la gestione del
Attualmente consultabile all'indirizzo: http://jtest.ittig.cnr.it:8080/cocoon/marcaturaCampania/index.xql
E’ stato, inoltre, sviluppato un CMS (Content Management System) per la gestione dei contenuti, come l’upload e il
download intelligente dei documenti, la gestione delle versioni e l’interfacciamento con il data base.
13
formato di estrazione dall'archivio della Camera al fine di sopperire la presenza di leggi con
commi non numerati e mancanti della formula finale. Inoltre è stato necessario rilasciare una
nuova versione di xmLeges-Editor, migliorata in funzionalità ed efficienza per l’inserimento
della materia trattata);
-
effettuando la marcatura specifica di tutte le leggi regionali con modifiche attive testuali:
sfruttando gli automatismi dell'Estrattore, ultimato proprio in questo periodo, sono stati attribuiti
i relativi metadati per la produzione del testo consolidato e realizzate, poi, le eventuali
correzioni ed integrazioni.
L’accesso alle leggi può essere effettuato:
-
per anno;
-
per materia;
-
per data di pubblicazione;
-
per parole nel testo e nel titolo.
Nel prototipo sono disponibili funzioni di ricerca avanzate e sono operativi i collegamenti alle leggi
regionali della Campania all’interno della stessa banca dati, alla legislazione statale presente in
“Normattiva” e alla legislazione comunitaria (direttive e regolamenti) presente in “EurLex20”.
20
http://eurlex.europa.eu
14