Definizione delle specifiche software per la redazione degli atti normativi e per la loro archiviazione e gestione: il sistema Norma_40% Docu Code: Sommario: NORMA_N/002/0.1 Scopo del seguente documento è l’esposizione dell’analisi del sistema Norma_40% avente come oggetto la progettazione e realizzazione di un sistema informatico atto a gestire la pubblicazione degli atti normativi e giurisprudenziali. Date: 22 Febbraio 1999 Author(s): Palmirani Sola Coppari Baldini Baroncini Guerra Authorised by: Prof. Pattaro To: Cc: Il documento è organizzato in due parti: 1. L’analisi delle funzionalità del sistema 2. Le specifiche tecniche del sistema Sommario 1. Presentazione del sistema Norma_40% ....................................................................................... 3 1.1. Definizione degli Obiettivi ................................................................................................................ 3 1.2. Architettura generale del sistema ....................................................................................................... 3 1.2.1. Editor ............................................................................................................................................ 4 1.2.2. Consolidamento............................................................................................................................ 5 1.2.3. Database server ............................................................................................................................ 5 1.2.4. Consultazione e ricerche .............................................................................................................. 6 1.3. Formato ed organizzazione dei dati ................................................................................................... 7 1.4. Interfaccia utente ............................................................................................................................. 11 2. Descrizione tecnica del sistema ................................................................................................. 20 2.1. Modulo di redazione ........................................................................................................................ 20 2.2 Modulo di consolidamento ............................................................................................................. 22 2.3 Modulo di consultazione ................................................................................................................ 25 2.4 Server dell’applicazione ................................................................................................................. 25 2.5 Server del database ......................................................................................................................... 26 2. Bibliografia ................................................................................................................................ 31 Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione 1. Presentazione del sistema Norma_40% 1.1. Definizione degli Obiettivi Con la seguente proposta si intende analizzare la progettazione di un sistema integrato per la diffusione degli atti normativi riguardanti l’introduzione dell’Euro e testi collegati. Tale sistema dovrebbe consentire una rapida e corretta archiviazione degli atti e l'archiviazione degli stessi in un archivio facilmente consultabile tramite tecnologia Web. L'idea è quella di progettare un programma di videoscrittura specializzato per il legal drafting in grado di favorire una corretta e veloce redazione di atti normativi. La filosofia di base è quindi orientata alla gestione del documento piuttosto che verso il concetto di record. Questo perché precedenti esperienze hanno dimostrato l’inefficacia e la pesantezza nel procedere per partizioni di testo piuttosto che permettere all’utente la digitazione di tutto il documento come nella pratica cartacea è gestito. I documenti così creati vengono poi registrati in una base di dati consultabile, tramite diverse modalità di ricerca, navigazione e indicizzazione, in Internet. Il valore aggiunto di tale sistema risiede comunque nella gestione dell’operazione di consolidamento. Sistema consente, sempre attraverso la metafora del wordprocessor, di gestire il consolidamento degli atti normativi, memorizzando nel database l’ultima versione consolidata. Il sistema è infatti dotato di un modulo per gestire il versioning degli atti. 1.2. Architettura generale del sistema Il sistema si comporrà di cinque elementi fondamentali (Figura 1): un modulo di redazione degli atti, un modulo per il consolidamento degli atti (produzione testi unici), uno di consultazione e ricerche, un Web server ed un database server. La fase di consultazione e ricerche sarà effettuata dall’utente tramite un -3- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione normale Web browser, mentre la fase di redazione e consolidamento saranno effettuate con l’ausilio di un word processor specializzato, interconnesso con l’archivio dei documenti. Architettura Cittadini Aree di produzione Operatori interni 1. Editor Word & Inserimento Consolidamento PC PC PC 2. Web+Add-on PC Consultazione Ricerche 4. Web Server 5. Script Doc. Editor Manag. 3. DBMS SQL + Consolid. Ricerche 6. File system HTML + 7. IR Figura 1: Modello di architettura generale 1.2.1. Editor L’editor deve consentire di inserire e catalogare tutte le informazioni in fase di redazione in maniera agile ed efficace al fine di poterle poi utilizzare per la fase di consultazione e consolidamento. È infatti in sede di redazione che si evidenziano la struttura del documento, i nessi normativi, la qualificazione dei riferimenti, le parole chiave connesse al documento, gli argomenti di classificazione, le parti funzionali del periodo. Lo scopo è di “marcare” adeguatamente ogni informazione inserita dall’operatore, per poi utilizzarle sia per un successivo controllo di coerenza dell’intero testo, sia per poter manipolare tale documento flessibilmente in base alle richieste dell’utente. Funzionalità: Inserimento e qualificazione dei documenti Gestione della struttura del documento Gestione delle citazioni Gestione delle citazioni abbreviate Gestione delle citazioni più frequenti Gestione di sigle, abbreviazioni e unità di misura -4- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione 1.2.2. Collegamento in fase di editing al database per verifiche e interrogazioni Consolidamento Il modulo di consolidamento consente di guidare l’utente nell’attività di consolidamento attraverso l’uso di un’interfaccia semplificata, ma vincolante, fornendo strumenti informatici che comunque devono essere integrati dalla competenza giuridica dell’individuo. L’editor specializzato e il browser Web sono il supporto attraverso il quale effettuare la chiamata del modulo di consolidamento il quale attiva una sequenza di processi verso il database. Il database diviene il repository di tutte le versioni del documento permettendo così la gestione del versioning degli atti normativi. È possibile dunque reperire il corpus normativo in vigore rispetto a qualsiasi data fornita al sistema e risalire alla catena informativa dei documenti precedenti (antenati) partendo da un documento in vigore. Il documento viene fissato a una determinata data e conterrà tutti e soli i riferimenti normativi coerenti al momento temporale dato. Funzionalità: 1.2.3. Consolidamento mediante cut and paste Consolidamento possibile partendo dalla lista dei modificati o dei modificanti Bloccaggio temporale delle azioni di consolidamento Mantenere il versioning nel database alla sottomissione del documento consolidato Blocco delle partizioni che hanno originato la modifica e che sono state modificate Database server Un database SQL compatibile costituisce la struttura informativa nella quale memorizzare i e sulla quale sviluppare ricerche e consultazioni, ma soprattutto la base sulla quale si poggiano i moduli di consolidamento e di pubblicazione in Internet/Intranet. Le regole di formazione dei documenti, i livelli di profondità del documento e la granularità adottata, la struttura degli atti, le etichette descrittive, le priorità di accesso ai documenti e i relativi gradi di sicurezza sono tutti elementi gestiti con meta-tabelle in relazione con le tabelle dei dati. In stretta connessione alla rappresentazione del documento nel database troviamo due documenti: il file Word originario e la sua traduzione in HTML, corredata di meta-tag, al fine di classificare tutte le informazioni del testo. Da questa struttura si evince che l’unità minima trattata a livello di archiviazione è il documento, mentre non ci sono limiti di granularità sia per quanto concerne le operazioni di consolidamento sia per quelle di consultazione. La multimedialità del database consente infine -5- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione l’archiviazione di allegati in forma tabellare, grafica, video e audio in quanto l’atto normativo sempre più si completa di un corredo tecnico non testuale che necessita di essere archiviato e reperito come parte integrante del testo normativo. Funzionalità: Documenti sono presenti solo nel document system o all’interno della base dati ma come documenti interi Il documento è trattato nella sua interezza ed è l’unità di riferimento Flessibilità di livellazione nella struttura del documento. Gestione degli allegati multimediali: tabelle, immagini, ecc. I template per la pubblicazione in Internet sono esterni allo schema logico del DBMS e quindi facilmente modificabili. 1.2.4. Indicizzazione del testo con uno strumento di IR che riconosca i tag inseriti Gestire le date emanazione, pubblicazione, e vigore Gestire query per intervallo di date Gestire il raffinamento del campo di ricerca Possibilità di fotografare la collezione dei documenti a una certa data di vigore Gestire link passivi Consultazione e ricerche La consultazione via Internet/Intranet è alla base della nuova architettura client/server di Norma_40% , che consentirà la visualizzazione dinamica (on the fly) dei documenti presenti nel database. Il meccanismo di pubblicazione si basa essenzialmente sull’utilizzo di template HTML esterni al database che definiscono l’impostazione della pagina sulla base delle richieste dell’utente. In questo modo la progettazione del layout è completamente separata dalla gestione dei dati nel database e quindi facilmente personalizzabile. Funzionalità: Il modulo offre i seguenti le seguenti modalità di consultazione e ricerca: -6- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione navigabilità dei documenti attraverso una struttura rigida gerarchica (lista dei documenti e/o indice sommario all’interno dei documenti); navigabilità attraverso i riferimenti normativi, tramutati nel corso del trattamento in link ipertestuali bidirezionali; strumenti di ricerca sui campi strutturati dei documenti (estremi dell’atto normativo); possibilità di fare ricerche full-text; il testo del documento infatti sarà indicizzato da uno strumento di Information Retrieval; ottenere la visualizzazione della lista dei link attivi e passivi relativi a una partizione testuale; consentire la ricerca per data emanazione, pubblicazione, vigore, efficacia; consentire le ricerche per intervallo di date; possibilità di "fotografare" la collezione dei documenti ad una certa data di vigore; 1.3. Formato ed organizzazione dei dati Il formato dei dati deve rispettare le seguenti caratteristiche: Standard, poiché è indispensabile non legarsi ad una particolare tecnologia proprietaria. Questo esclude ad esempio il formato dei file word, perché esso è visualizzabile correttamente solo con il programma Microsoft Word ed è suscettibile di frequenti ed imprevedibili modifiche con l'avvento di nuove versioni di tale programma. Sono invece formati standard HTML, SGML, testo ASCII. Espandibile, è, infatti, necessario poter aggiungere delle informazioni al testo normalmente visualizzato all'utente, in modo da poter identificare ad esempio l'inizio di una partizione testuale (l'inizio ad esempio dell'articolo 3). Questo esclude ad esempio il testo ASCII, in quanto non è possibile introdurre in tale testo informazioni che non siano visualizzate all'utente. Diffuso, è, infatti, necessario che i documenti abbiano la massima visibilità. Ciò che si vuole realizzare è un sistema per la diffusione degli atti normativi. Questo esclude ad esempio SGML che, anche se sembra il formato di dati ideale, non è attualmente trattato dagli strumenti software in possesso ai potenziali utenti. -7- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione La scelta sembra automaticamente cadere su HTML. Esso è, infatti, un formato standard, molto diffuso, che consente inoltre di inserire informazioni non direttamente visibili all'utente (è espandibile). Le informazioni si possono inserire in due maniere: Sotto forma di commenti HTML, in modo che i normali strumenti per la redazione e la visualizzazione delle pagine ignorino le informazioni se non sono in grado di gestirle. Un esempio di tale utilizzo è quello dell’identificazione della sottoscrizione all’interno del testo normativo: sarà sufficiente inserire il tag "<!--sottoscriz-->" prima della sottoscrizione ed il tag <!--/sottoscriz--> dopo. Questa soluzione è comunemente utilizzata per inserire in testi HTML informazioni estranee, come ad esempio per includere script Visual Basic (cfr. Active Visual Basic 5.0, Guy Eddon, Enry Eddon, Microsoft Press) e Java. Inserire uno script Visual Basic sotto forma di commento permette ad un browser web non in grado di comprendere lo script (ad esempio Netscape versione 2.0) di ignorarlo. Utilizzando il tag <META>, questo tag è uno standard HTML ed è usato per identificare le proprietà del documento. Molti browser e editor WWW sono in grado di leggere queste proprietà ed associarle al documento. Non possono essere specificate con questo tag proprietà che si riferiscono a porzioni del documento o che identificano semanticamente una porzione di testo. Un ulteriore motivo che ci fa preferire la scelta di HTML (sia pur personalizzato nelle maniere sopra descritte) è la facilità con cui è possibile convertire i documenti in formato SGML standard (o XML). Il formato SGML è attualmente poco diffuso e quindi non immediatamente usabile. Tuttavia esso è particolarmente adatto alla descrizione di documenti normativi, in quanto permette di definire la struttura del documento, facilitare il controllo di correttezza dello stesso. SGML è un linguaggio di marcatura orientato alla semantica anziché alla rappresentazione grafica come invece HTML. Nel momento in cui SGML (o XML) sarà più diffuso, si potrà utilizzare questa tecnica esportando facilmente l’intero database. In Tabella 1 sono elencati i tags inseriti sotto forma di commento all'interno del testo HTML. Essi, come già detto, identificano semanticamente porzioni di testo, isolando dal resto il titolo, l'intestazione, il corpo normativo ecc. Alcuni di questi tags hanno associate alcune proprietà. Particolarmente importanti sono le proprietà del tag Link, listate il Tabella 2. Attraverso le proprietà del tag Link è possibile distinguere, ad esempio, un riferimento modificativo (indicato come <!--n_link RT=MT-->) da un rinvio informativo (indicato come <!-n_link RT=RI-->). In Tabella 3 sono infine mostrate le proprietà del documento espresse attraverso il tag standard HTML "META". -8- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Tag di apertura Tag di chiusura Descrizione <!--n_Int--> <!--/n_Int--> Intestazione <!--n_Title--> <!--/n_Title--> Titolo del documento <!--n_GID--> <!--/n_GI--> Identificativo generale <!--n_SID--> <!--/n_SI--> Identificativo specifico <!--n_DD--> <!--/n_DD--> Data di Emissione <!--n_VD--> <!--/n_VD--> Data di vigore <!--n_PD--> <!--/n_PD--> Data di pubblicazione <!--n_Pre--> <!--/n_Pre--> Preambolo <!--n_DT--> <!--/n_DT--> Tipo di documento <!--n_DA--> <!--/n_DA--> Autorità emanante <!--n_Sum--> <!--/n_Sum--> Sommario <!--n_Disp--> <!--/n_Disp--> Dispositivo <!--n_P1--> <!--n_P9--> Partizioni 1-9 <!--n_TP1--> <!--n_TP9--> <!--/n_TP1--> <!--/n_TP9--> Titoli partizioni 1-9 <!--n_Link--> <!--/n_Link--> Citazione <!--n_Sub--> <!--/n_Sub--> Sottoscrizione Tabella 1: Tags inseriti come commento. -9- Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Proprietà Valori possibili Descrizione RT RI (Rinvio Informativo) Tipo Riferimento MT (Modifica Testuale) MM (Modifica Materiale) RE True, False Riferimento Esplicito RI True, False Riferimento Interno RS True, False Riferimento Statico DID Numero Identificativo Documento VID Numero Identificativo versione DT Numero Identificativo tipo di documento GID Numero Identificativo Generale del documento SID Numero Identificativo Specifico del documento DD Data Data di emanazione P1 - P9 Numero Identificativo partizione Tabella 2: Proprietà del tag Link. Nome Valore Descrizione n_DID Numero Identificativo del documento nel DB n_VID Numero Identificativo della versione del documento nel DB n_DTID Numero Identificativo del tipo di documento nel DB n_DD Data Data di emanazione del documento n_PD Data Data di pubblicazione del documento n_GID Numero Identificativo generale del documento n_SID Numero Identificativo specifico del documento nel DB n_VD Data Data di inizio vigore del documento n_KW Stringa Parole chiave del documento Tabella 3: Proprietà del documento inserite con il tag meta. - 10 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione 1.4. Interfaccia utente Redazione ed inserimento degli atti nel DB L’editor prevede diverse modalità di inserimento dei testi normativi tali da consentire la trattazione di testi già esistenti (pregresso corpus normativo) e di testi di nuova redazione. Il sistema consente l’acquisizione integrale del materiale pregresso disponibile dando la possibilità di marcare sia la struttura, sia i riferimenti esplicitati nel testo. L’operatore confermerà le proposte formulate dal sistema ed integrerà le parti informative mancanti, ma in ogni caso non potrà modificare in alcun modo il testo trattato, in quanto pregresso normativo già in vigore. L’editor non sarà uno strumento isolato, ma consentirà, durante ogni fase della redazione, il collegamento al database centrale per consultare la collezione dei documenti già in vigore, per effettuare controlli di coerenza e integrità, per effettuare ricerche mirate. L’editor quindi potrà mutuare tutti i dati già presenti nella banca dati facilitando l’operatore nella fase di stesura. L’editor si baserà, come ora, su strumenti di word processing di grande utilizzo di mercato (Word97) e l’accesso al database sarà possibile via browser Web. La parte sicuramente che necessita maggiore attenzione e rigore da parte del redattore è quella riservata all’inserimento dei nessi normativi. Riportiamo nella figura successiva la classificazione adottata dal Manuale Norma [Sar96] e utilizzata dal nostro sistema. modifiche modifiche materiali modifiche testuali nessi normativi esplicite implicite esplicite implicite rinvii statici dinamici Figura 5 - Classificazione dei nessi normativi Ogni nesso normativo (o anche riferimento) esplicito necessita prima di tutto di un processo di identificazione e qualificazione: l’operatore dovrà individuarlo nel contesto, identificarne le parti informative e quindi trasmettere tali informazioni al sistema (qualificazione). Nel nostro caso il documento nella maggior parte dei casi proviene da altri enti e quindi l’utente potrà selezionare con il mouse la parte testuale relativa a un riferimento e il sistema proporrà una maschera per il completamento del riferimento. Tale procedura viene definita di puntamento del testo. - 11 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 2 – Maschera di inserimento di un riferimento normativo Dopo l'identificazione e la qualificazione del nesso normativo, occorre una classificazione, ovvero l'attribuzione delle proprietà che ci permettano di trattarlo adeguatamente durante la fase di consolidamento e di pubblicazione. La natura infatti del nesso normativo influisce notevolmente sulle operazioni semi automatiche di consolidamento e sulla redazione di note esplicative del testo. Si prenda infatti l’esempio di un nesso “modificativo integrativo integrale” ossia che inserisce un intero articolo all’interno di una collezione di articoli. Se il riferimento è stato adeguatamente classificato, il sistema potrà procedere automaticamente alla creazione di un documento includente il nuovo articolo. Per classificare il nesso normativo l’operatore selezionerà con il mouse la parte testuale precedentemente qualificata come riferimento e la classificherà attraverso un’apposita maschera oppure nel caso l’operatore sia in possesso di tutte le informazioni in fase di identificazione e qualificazione potrà completare in quella sede l’intero processo relativo al nesso normativo apponendo anche la classificazione. - 12 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 3- Classificazione del riferimento Poiché la qualificazione delle citazioni non è un’operazione banale, si consente all’utente di memorizzarle in un archivio locale e di poterle richiamare all’occorrenza. Questa funzione viene definita “lista dei riferimenti frequenti” e, ragionevolmente, varierà nel contenuto a seconda del dominio di competenza di ogni singolo ufficio. Si è inoltre realizzato il concetto di “citazione breve”, così come definito nel Manuale, ovvero la possibilità di citare in forma abbreviata un riferimento preventivamente inserito in forma estesa almeno una volta. Tale funzione viene realizzata mantenendo una lista locale ad ogni documento con la forma estesa e abbreviata di ogni citazione inserita. Consolidamento atti esistenti Il consolidamento è un’operazione a cui solo alcuni utenti autorizzati possono accedere tramite browser Web. L’operazione di consolidamento potrà avvenire sia partendo dalla lista dei documenti modificati, sia partendo dalla lista dei documenti modificanti. Nella figura successiva si mostra la lista dei modificati nella quale è anche indicato lo stato attuale del consolidamento, ovvero quanti riferimenti di modifica testuale sono stati già applicati al testo originale. - 13 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Norma System – Consolidamento per modificati Figura 4: Lista documenti da consolidare Scegliendo un documento viene mostrata la maschera per il consolidamento di Figura 5, che permette la costruzione del nuovo testo consolidato. L’utente dovrà costruire manualmente il nuovo testo, basandosi sul vecchio e sulla deliberazione di modifica, entrambi visualizzati nella stessa maschera con la possibilità di copiare ed incollare il testo. - 14 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 5: Maschera per il consolidamento Consultazione della base di dati Come già accennato nel paragrafo 1.2.2, l’interfaccia di consultazione è un browse Web. In questa maniera, sia in Internet, sia in Intranet, sarà possibile avere accesso a tutte le informazioni contenute nel database. Attraverso un normale Web Browser (Netscape, Internet Explorer) sarà infatti possibile effettuare ricerche nel database attraverso una semplice, ma efficace, maschera di ricerca, simile a quella progettata in Figura 6. - 15 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 6– Lista dei filtri di selezione e ordinamento Esisteranno inoltre maschere di ricerca personalizzate per ogni tipo di documento, in cui sarà possibile specificare parametri propri di uno specifico tipo di documento e non di altri. - 16 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 7– Maschera di inserimento ricerche personalizzate sul tipo documento Tra gli altri parametri di ricerca sarà presente la data di vigore desiderata. Sarà quindi possibile cercare un determinato documento, o un insieme di documenti, nella loro versione in vigore ad una certa data del passato. Il risultato della ricerca sarà costituito dalla lista dei documenti che la soddisfano, presentata come riferimenti ipertestuali ai documenti, come mostrato in Figura 8. Nella lista compariranno il titolo del documento ed altri parametri essenziali alla sua identificazione. - 17 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Figura 8– Risultato della ricerca Una volta selezionato un particolare documento, esso comparirà nel frame principale, mentre nel lato sinistro continuerà ad essere presente la toolbar di navigazione, e sopra di esso un nuovo frame, contenente i dati essenziali del documento. Dal nuovo frame sopra al documento sarà anche possibile risalire a versioni precedenti (o eventualmente successive) del documento visualizzato, visualizzare la lista dei riferimenti passivi in arrivo al documento e visualizzare i documenti che hanno modificato quello che si sta attualmente leggendo nel frame principale. - 18 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione La versione standard della consultazione userà frames e sarà compatibile con lo standard HTML 2.0 e quindi con i browser più diffusi (Internet Explorer 3.0 o superiore, Netscape Navigator 3.0 o superiore). Una versione più evoluta, disponibile solo per browsers di ultima generazione, potrebbe contenere anche Javascript. - 19 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione 2. Descrizione tecnica del sistema Il sistema si comporrà di cinque parti fondamentali: un modulo di redazione degli atti, un modulo per il consolidamento degli atti (produzione testi unici) uno di consultazione, un server ed un database server. La Figura 9 mostra le relazioni tra i moduli citati. Ognuno di questi moduli sarà descritto in dettaglio più avanti in questo paragrafo. Ufficio deliberatnte Modulo di redazione (Word personalizzato) Utente Modulo di redazione (Word personalizzato) Modulo di consultazione (Web Browser) Server dell'applicazione Server del Database Figura 9: Moduli software che costituiranno il sistema Norma 2.1. Modulo di redazione L'editor sarà costruito configurando Microsoft Word 8 per Windows 95/NT. Ad esso sono state inoltre aggiunte importanti funzionalità. In questa maniera esso sfrutta tutte le potenzialità di Microsoft Word. Microsoft Word è di gran lunga l'editor più diffuso, anche negli uffici che si occupano di redazione normativa. I tempi di addestramento all'uso sono quindi generalmente minimi ed il livello di accettabilità da parte dell'utente è elevato. - 20 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione L'editor Norma sarà realizzato in due moduli distinti, in modo da separare la personalizzazione dell'interfaccia di word dalle elaborazioni vere e proprie (controlli sulla strutturazione del testo, comunicazioni con il server ecc..). Il modulo contenente le elaborazioni sarà un ActiveX, riutilizzabile anche per personalizzazioni analoghe di altri strumenti di redazione, come ad esempio Lotus WordPro o Corel WordPerfect. La Figura 10 mostra come l'utente interagisce con i moduli software e con il database server. Utente Client Norma SeServer Microsoft Word Modello di Microsoft Word ActiveX per elaboarazioni client-side e comunicazione con il server Internet Server Norma SeServer Figura 10: Moduli software del client Norma Ogni tipo di documento disporrà di un modello personalizzato per la redazione di quel particolare tipo. Tutti i modelli useranno però un unico ActiveX che renderà disponibili funzioni comuni. Le funzioni a cui l’utente potrà accedere attraverso l’editor sono, oltre alla redazione di nuovi atti, anche la produzione di testi unici (consolidamento) e la consultazione della base di dati, come illustrato in Figura 11. - 21 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Utente Redazione nuovi atti Consolidamento atti esistenti Consultazione base di dati Comunicazioni con il server Figura 11: Funzionalità dell’editor 2.2 Modulo di consolidamento Il consolidamento è la procedura che consente di generare versioni successive di un documento: quando una delibera modificativa cambia il testo di un documento normativo, tali modifiche possono essere applicate al testo modificato. Il testo così prodotto sarà la nuova versione, in vigore dalla data di vigore del testo modificativo. Il consolidamento va eseguito rispettando in modo rigoroso l’ordine temporale delle modifiche, in caso contrario le modifiche successive potrebbero aggiungere o togliere testo rilevante per modifiche precedenti, che quindi non potrebbero più in alcun modo essere applicate. Per questo motivo è necessario studiare delle procedure di ordinamento temporale dell'applicazione delle modifiche testuali. Le modalità possibili sono due: Consolidamento per documenti modificati: consente di accedere al documento che si vuole consolidare e di visualizzare la lista degli atti modificativi su tale documento. La prima modifica ad essere consolidata deve obbligatoriamente essere la più vecchia: deve, infatti, esserci assoluta certezza che non vi siano atti modificativi riguardanti il documento in questione non ancora inserite nel DB. Consolidamento per documenti modificanti: consente di accedere al primo dei documenti modificativi presenti nel DB. La prima modifica ad essere consolidata deve obbligatoriamente essere la più vecchia. Deve esserci assoluta certezza che gli atti modificativi inserite nel database siano tutte le modifiche testuali - 22 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione che riguardano uno qualsiasi dei documenti del DB in questione ovvero che non esistano atti modificativi non ancora registrate e più vecchie di quelle presenti nel DB. Entrambi gli approcci presentano, come ovvio, pregi e difetti. Nel primo caso è possibile un consolidamento parallelo di più documenti, ed inoltre è sufficiente essere sicuri che tutti i documenti modificativi di quello che si sta consolidando siano stati inseriti, non è necessario che siano stati inseriti tutti i documenti modificativi in assoluto. Il difetto di questo approccio è che alcuni atti modificativi potrebbero modificare contestualmente più documenti, alcuni dei quali potrebbero risultare consolidati ed altri no. Il secondo caso evita questo problema, ma richiede un consolidamento sequenziale (svolto quindi da una sola persona e non da un gruppo di lavoro in parallelo) e si deve essere certi di aver inserito tutti i documenti modificativi e non solo quelli che riguardano un certo documento (tale condizione è molto più restrittiva). In ogni caso i due approcci non si escludono a vicenda, ma si possono anzi considerare complementari. Il consolidamento per documenti modificanti è, infatti, utilissimo per ottenere una situazione consistente del consolidamento della base di dati dopo una sessione di consolidamento parallela (svolta da più persone) usando l'approccio per documenti modificati. - 23 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Consolidamento per modificati Consolidamento per modificanti Lista dei documenti modificanti Lista dei documenti modificati Selezione del documento che si intende consolidare Seleziona il più vecchio documento Attiva generazione lista modificativi Attiva generazione lista modificati Lista dei documenti modificanti il documento selezionato Lista dei documenti modificati dal documento modificativo selezionato Selezione del primo documento modificante Selezione del primo documento modificato Attiva la modalità di consolidamento Attiva la modalità di consolidamento Consolida le modifiche apportate sul modificato dal documento modificante selezionato Consolida le modifiche apportate sul modificato dal documento modificante selezionato Salva il consolidamento Salva il consolidamento Attiva procedura di salvataggio Attiva procedura di salvataggio Salva il documento consolidato come nuova versione del documento modificato Salva i documenti consolidati come nuova versione dei documenti modificati Figura 12: Possibili approcci al consolidamento In entrambi i casi è necessaria la fase di consolidamento delle modifiche e di salvataggio del documento come nuova versione. L'editor sarà in grado di salvare in testo nascosto la precedente versione del documento, in modo da poter visualizzare le modifiche apportate. - 24 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione 2.3 Modulo di consultazione La consultazione avverrà attraverso un normale browser web, come Microsoft Internet Explorer o Netscape Navigator. Attraverso tale interfaccia sarà possibile consultare la lista dei documenti disponibili sul server, effettuare ricerche per identificativi, tipi di documenti, data vigore ed, ovviamente, consultare un singolo documento con possibilità di accedere a versioni precedenti o successive dello stesso. Una modalità a parte consentirà la ricerca full-text. Le funzionalità accessibili tramite il client web sono descritte in Figura 13. Utente Consultazione documenti Ricerca dei documenti Consultazione docuemnti per data vigore Comunicazioni con il server Figura 13: Funzionalità accessibili dal browser web 2.4 Server dell’applicazione Il server dell’applicazione costituisce il middle-tier, cioè il livello di interfaccia esistente tra client e server del database. I client non fanno mai richieste direttamente al server di database, ma al server dall’applicazione, che poi gira le richieste al server del database. In questa maniera i clients possono essere “leggeri”, e quindi non necessitare di complicate installazioni o aggiornamenti. La “logica” dell’applicazione (composizione delle query, conoscenza della struttura del database ecc…) risiede sul server. Nel nostro caso, ad esempio, il client in consultazione è un qualsiasi web client (Netscape o Internet Explorer) che legge pagine HTML generate dinamicamente dall’application server. Non sarebbe stato facilmente possibile costruire un client HTML che accedesse direttamente al DB. La struttura dell’application server è mostrata in Figura 14. - 25 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Modulo di Redazione Modulo di Consultazione Internet Internet Web Server Chiamate CGI Application Server Modulo di interfaccia CGI Modulo server per editor Modulo server per consultazione Modulo di interfaccia al Database SQL Figura 14: Struttura del server dell’applicazione 2.5 Server del database I documenti creati con l'editor, saranno memorizzati in un server comune in modo da essere reperibili e consultabili in Internet. Essi sono normali documenti HTML memorizzati in directory prestabilite o all'interno di un database. Per rendere veloce ed efficace il reperimento dei documenti, al momento dell'inserimento nel server essi sono scanditi alla ricerca delle informazioni rilevanti (data emanazione, autorità emanante ecc.) che sono memorizzate in un database. Attraverso la base di dati così costruita è possibile reperire ad esempio la lista dei documenti che sono stati emanati ad una particolare data o da un particolare organo. - 26 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Per organizzare la base di dati, si è scelto un sistema di gestione di basi di dati relazionale (R-DBMS), che fornisce un linguaggio di interrogazione compatibile allo standard SQL (Structured Query Language). In questa maniera qualsiasi R-DBMS che supporti tale standard (Microsoft SQL server, Oracle, Informix e molti altri) può essere utilizzato come database per il sistema Norma. Una rappresentazione semplificata della base di dati è mostrata in Figura 15, che presenta lo schema E-R (Entity-Relationship) delle entità e delle relazioni principali. Un documento normativo può avere più versioni, in dipendenza ad esempio dalla lingua usata o dal periodo di vigore (lo stesso documento è modificato nel tempo da delibere di modifica testuale, che producono testi unici diversi dal documento originario). Tutte le versioni dello stesso documento hanno comunque caratteristiche comuni, come la data di emanazione (della versione originale). Le caratteristiche comuni sono memorizzate nell'archivio Documenti. Per ogni versione sono invece specificate le caratteristiche particolari, come la data di inizio vigore o la lingua usata. Ovviamente ad ogni versione è associato il documento vero e proprio in formato HTML registrato in directory predefinite. data emissione data pubb. identificativo titolo autorità emanante oggetto 1 n Documenti Versioni lingua data inizio vigore data fine vigore data inizio efficacia data fine efficacia keyword (materia) Documenti HTML Figura 15: Schema E-R delle entità e relazioni principali Importante è anche la relazione riflessiva Riferimenti costruita sull'archivio Versioni mostrata in Figura 16. In essa sono contenuti tutti i rinvii informativi ed i riferimenti di modifica in partenza da una particolare versione del documento ad un'altra. La relazione è "ternaria", in quanto riflessiva sull'entità "Versioni" ed associato all'entità "Tipi di riferimento". In pratica ogni riferimento associa la versione di partenza e versione di arrivo del riferimento al tipo di riferimento. I riferimenti sono, infatti, classificabili in tipi predefiniti, in - 27 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione base alle loro caratteristiche peculiari: rinvio informativo o modifica testuale, rinvio informativo statico o dinamico ecc. Attraverso le informazioni contenute in questa relazione sarà possibile conoscere, ad esempio, tutti i rinvii informativi in arrivo ad una particolare partizione di un documento, oppure tutti i documenti che la hanno modificata testualmente. Le informazioni contenute in riferimenti saranno particolarmente importanti nella creazione di un ipertesto normativo, in cui sarà possibile navigare, ad esempio, dalla versione precedente alla successiva, visualizzare il provvedimento di modifica che ha generato la nuova versione, e quindi spostarsi su uno qualsiasi dei documenti che citano la nuova versione. - 28 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Nome del tipo di riferimento riferimento modificativo/rinvio Informativo Rinvio statico/dinamico 1 Partizione di partenza Partizione di arrivo 1 Versioni Riferimenti Tipo di riferimento 1 Figura 16: Schema E-R dei riferimenti L'entità tipo di documento conterrà informazioni generali su quel tipo, come l'autorità emanante o il luogo di pubblicazione. Un esempio di tipo di documento può essere la “Direttiva CEE”, la cui autorità emanante è appunto "CEE" ed il cui luogo di pubblicazione è il "La Gazzetta ufficiale della Comunità Europea". Grazie alle due entità descritte in Figura 16 sarà possibile cercare, ad esempio, tutte le Direttive Europee emanate dalla CEE piuttosto che dall’EURATOM. Nome del tipo di documento Autorita emanante Gazzetta di pubblicazione Documenti Tipo di documento Appartengno a Figura 17: Schema E-R della classificazione dei documenti In Figura 18 è riassunto lo scema generale fino a qui studiato per sottoinsiemi per chiarezza espositiva. In Tabella 4 sono invece mostrati gli archivi relazionali generati dallo schema E-R di Figura 18. - 29 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Tipo di riferimenti Materie Documenti Versioni Tipo di documenti Documenti HTML Figura 18: Scema E-R Generale - 30 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione Relazione Attributi Descrizione Documenti Identificativo documento Proprietà del documento Identificativo tipo di documento Titolo Oggetto Data emanazione Versioni Identificativo versione Proprietà della versione Identificativo Documento Data inizio vigore Data fine vigore Lingua Riferimenti Identificativo versione di partenza Riferimenti tra documenti Identificativo versione di arrivo Identificativo del tipo di riferimento Partizione di partenza Partizione di arrivo Tipi di documento Identificativo del tipo di documento Proprietà del tipo di documenti Nome del tipo di documento Autorità emanante Luogo di pubblicazione Tipi di riferimento Identificativo del tipo di riferimento Nome del tipo di riferimento Riferimento statico o dinamico Riferimento modificativo o informativo Tabella 4: Archivi relazionali 2. Bibliografia [Bla95] Black U., “Il manuale TCP/IP”, McGraw-Hill, 1995 - 31 - Proprietà del tipo di riferimenti Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione [Bla95a] Blaquier M., “SGML applications to legal information”, In “17th IVR World Congress Proceedings”, CLUEB, 1995 [Bra97] Bray T., Paoli J., Sperberg C.M. “Extensible Markup Language (XML)”, In “XML Principles, Tools and Techniques”, O’Reilly & Associates, 1997 [Bry88] Bryan M., “SGML, an author’s guide to the standard generalized markup language”, Addison-Wesley Publishers, 1988 [Cer98] Ceruti C. 1998. In Iter Legis N.2/98. . Atti del seminario ‘Strumenti per il drafting e il linguaggio delle leggi’, Bologna il 19 e 20 giugno 1997. Roma: RISL. [Col97] Colby M., Jackson D. “USING SGML”, Que Corporation, 1996 [Del96] Della Casa G. 1996. Quanto costa all’Italia il caos legislativo in cui si trova?. Relazione presentata al Seminario Nazionale di Studio “Produzione legislativa e analisi di fattibilità delle leggi”, Genova 20-21 giugno 1996. [Edd97] Eddon G., Eddon E. “Active Visual Basic 5.0”, Microsoft Press, 1997 [Fla97] Flanagan D. “JavaScript, the definitive guide”, O’Rielly & Associates, 1997 [Gil94] Gilster P., “Finding it on the INTERNET”, John Wiley & Sons, 1994 [Gra97] Graham I., “HTML Stylesheet”, Jhon Wiley & Sons 1997 [Gru90] Gruber M., “Understanding SQL”, Sybex Inc. 1990 [Gru93] Gruber M., “SQL Instant Reference”, Syber Inc., 1993 [Guar98] Guarino G. 1998. Osservazioni sintetiche sui procedimenti legislativi e sulle cause che li condizionano. In: “Applicazione e Tecnica legislativa” Atti del Convegno, Bologna 9-10 maggio 1997. Milano: Giuffrè. [Gun96] Gundavaran S. “The CGI Programming for the World Wide Web”, O’Rielly & Associates, 1996 [Lau98] Laurent S., “XML: a premier”, MIS Press, 1998 [Lau98] Laurent S., “XML: a premier”, MIS Press, 1998 [Lig97] Light R, “Presenting XML”, Sams.net Publishing, 1997 [Mic97] AA.VV. “Microsoft Office 97 Visual Basic Programmers Guide”, Microsoft Press, 1997 [Mus96] Musiano C. & Kennedy B., “HTML the definitive guide”, O’Reilly & Associates, 1996 [Oss91] Osservatorio Legislativo Interregionale, “Regole e suggerimenti per la redazione dei testi normativi”, http://www.idg.fi.cnr.it/iperinf/manresc.htm, 1992 [Pat98] Pattaro E., Baldini P., Capelli A., Coppari M., Palmirani M., Sartor G., Speranza S., Vitali F., “Norma System legistica e legimatica”, CLUEB, 1998 [Pet98] Petta P. 1998. Tecnica legislativa e dinamica della legislazione. In Iter Legis N.2/98. Atti del seminario ‘Strumenti per il drafting e il linguaggio delle leggi’, Bologna il 19 e 20 giugno 1997. Roma: RISL. [Rum91] Rumbaugh J., Blaha M., Premerlani W., Eddy F., Lorensen W., “Object Orientated Modeling and Design”, Prentice Hall, 1991 [Rum91] Rumbaugh J., Blaha M., Premerlani W., Eddy F., Lorensen W., “Object Orientated Modeling and Design”, Prentice Hall, 1991 [Sar96] Sartor G., “Riferimenti normativi e dinamica dei testi normativi”, In “Il procedimento legislativo regionale”, CEDAM, 1996 [Sch94] Schwartz R., Christiansen T., “Learning Perl”, O’Rielly & Associates, 1994 [Sol97] Cristine Solomon, “Microsoft Office 97 Developer’s Handbook”, Microsoft Press, 1997 - 32 - Norma: un sistema informatico per la redazione degli atti normativi e per la loro archiviazione e gestione [Sri97] Srinivasan S., “Advanced Perl Programming”, O’Rielly & Associates, 1997 [Wal96] Wall L., Schwartz R., Christiansen T., “Programming Perl”, O’Rielly & Associates, 1996 [Wei96] Weinman W., “The CGI Book”, New Riders, 1996 [Whi96] White B., “HTML and the art of authoring for the World Wide Web”, Kluwer, 1996 - 33 -