Giovanni Pirrotta

Just a curious person

VisualCAD: la mappa interattiva della storia del CAD

February 09, 2018

Il Codice dell’Amministrazione Digitale (CAD) è il testo normativo di riferimento della pubblica amministrazione che disciplina il processo di digitalizzazione dell’attività amministrativa. Da più di un decennio il CAD, cioè il decreto legislativo n.82 del 7/3/2005, viene sistematicamente bistrattato a colpi di leggi, decreti legislativi e decreti legge, come un vestito continuamente rattoppato a suon di taglia e cuci, a discapito delle povere pubbliche amministrazioni che hanno il compito di attuare le disposizioni normative. Dal testo originario del 2005, tra piccole e grandi modifiche, si sono succeduti ben 29 aggiornamenti. Ad ogni aggiornamento, per poter leggere il testo coordinato, è necessario apportare all’ultima versione del CAD tutte le modifiche previste dall’aggiornamento normativo. Paragonando quest’operazione al mondo informatico, potremmo dire che l’operazione effettuata è un merge di un fix o di una nuova feature nella codebase di un software.

Ed è proprio da quest’idea di merging documentale che sono partito per riflettere sulla possibilità di considerare i testi normativi alla stregua di codici sorgente e di poter utilizzare i tool a disposizione per il versionamento del software, ad esempio Git ma anche Subversion o Mercurial, per tenere traccia di tutte le modifiche che avvengono fra le versioni delle leggi.

Quest’idea in realtà non è nuova. Da diversi anni esistono dei progetti che supportano l’utilizzo di strumenti che, anche se nati per il mondo software, consentono sia di versionare i documenti normativi sia di far interagire i cittadini con i proponenti la legge, mettendoli in condizione di fornire feedback, consigli, critiche e/o spunti di miglioramento. E’ un esempio il progetto Bundes-Git che raccoglie in un repository git le leggi e i regolamenti federali tedeschi in markdown, cioè usando un formato in grado di migliorare la leggibilità e la fruibilità per gli utenti finali.

Anche in Italia, in occasione del referendum costituzionale del 2016, c’è stato chi ha pensato bene di versionare la costituzione corrente con quella che sarebbe stata se fosse passato il referendum confermativo.

Ritornando al CAD, a fine gennaio avevo quindi intenzione di creare un repository git e caricare tutte le versioni del CAD, naturalmente con commit diversi, per consentire sia la lettura del decreto legislativo su piattaforme online di versionamento, come ad esempio github, sia per tenere traccia delle modifiche di capi, titoli, articoli e commi e poter fare confronti tra le varie versioni. Successivamente avevo intenzione di creare una mappa dell’intero decreto, in grado di fornire all’utente il quadro generale non solo della versione corrente del CAD ma anche di tutte le precedenti.

Per reperire il testo delle varie versioni ho riciclato e fixato in alcune parti un vecchissimo scraper, sviluppato più di 4 anni fa per un progettino didattico, in grado di estrarre dati da normattiva.it e di creare un file JSON con capi, sezioni, articoli, versioni, testi, aggiornamenti, vigenze, riferimenti normativi del CAD.

Il file estratto lo potete trovare qui.

Era fine gennaio dicevo (cioè due settimane fa), avevo generato il file e accantonato il progetto per qualche settimana intendendo ritornarvi appena avessi avuto un pò più di tempo libero quando, ad un tratto…un fulmine a ciel sereno.

Il team digitale di Diego Piacentini carica su github tutte le versioni del CAD andando a realizzare esattamente quello che avevo in mente io. Non solo. Rilasciano il CAD in formato reStrucredText, collegano il repository al servizio di documentazione online readthedocs migliorando di molto l’esperienza di leggibilità, con in più la possibilità di confrontare le versioni, articolo per articolo, direttamente su github.

Questa la mia reazione

M’avete fregato sul tempo…A Piacentì, A Team Digitale…‘ve possino!!! se scherza eh ;-)

Raccolgo quatto quatto i cocci del mio progetto originale, accuso il colpo ma non demordo. Naufragata la parte relativa alla pubblicazione delle leggi su github mi concentro sulla seconda parte, cioè la realizzazione di una mappa in grado di visualizzare e interagire interattivamente con tutte le versioni del CAD.

Giro un pò in rete per prendere ispirazione su progetti di mappe e mi innamoro di quello realizzato nel 2012 da Gregor Aisch (CTO di datawrapper) per le leggi tedesche.

Decido quindi di riusarlo, estenderlo ed adattarlo al CAD.

Invece di partire però dal file JSON estratto con lo scraper, i cui dati non sono opendata ma sono licenziati in modo da non consentirne il riuso per fini commerciali, decido di riutilizzare invece i dati del team-digitale, che sono invece opendata licenziati dalla bellissima CC0.

Nasce quindi il progetto VisualCAD, la mappa interattiva della storia del CAD. Per la prima volta (che io sappia) è possibile fotografare tutta la storia del Codice dell’Amministrazione Digitale in un’unica infografica.

Dalla prima versione del 2005 si sono succeduti ben 29 aggiornamenti e in VisualCAD vengono rappresentati su colonne diverse. I quadratini corrispondono ai singoli articoli e il colore, come mostrato in legenda, ne evidenzia l’eventuale modifica, aggiunta, abrogazione effettuata dalla normativa specificata in alto alla colonna.

Dalla tendina è possibile selezionare ciascun articolo per ricostruire tutto l’iter di modifiche subito dallo stesso dalla prima versione sino all’ultima.

E’ inoltre possibile effettuare ricerche testuali nel titolo degli articoli inserendo del testo libero nel form relativo.

Passando col mouse sopra gli articoli viene visualizzato un breve estratto del testo e, nel caso di articolo modificato, viene mostrato il nuovo testo in verde e il testo rimosso in rosso.

Cliccando su ciascun quadratino è possibile infine visualizzare l’intero corpo dell’articolo e, cliccando sull’apposito pulsantino, evidenziare il testo modificato.

L’obiettivo è stato raggiunto.

In un’unica schermata è possibile navigare tutto il CAD con tutti i suoi aggiornamenti, in modo semplice, interattivo e fruibile da qualsiasi cittadino.

L’evoluzione di questo progetto potrebbe essere la creazione di nuove mappe per altre leggi partendo ad esempio dal file JSON scrapato, in attesa che normattiva licenzi i dati in opendata e rilasci delle API per interrogare l’archivio delle leggi in modo flessibile. Sogno o utopia?

Ritornando al progetto, questo è il sito di riferimento di VisualCAD. All’apertura potreste attendere un pò di secondi perchè i dati da caricare sono tanti.

Se questo progetto vi è piaciuto, mi aiutate a farlo conoscere con un tweet? Grazie!

E comunque, a parte gli scherzi, grazie mille a tutta la squadra del Team Digitale!

Commenti, critiche e suggerimenti sono i benvenuti!

That’s all folks! Stay tuned!

Comments