sinekarta : a che punto siamo?


Eccoci all’ultimo articolo di Agosto, la serie estiva si conclude ed i ritmi del blog ritornano ad essere serrati.

Invece che chiudere il mese con un noiosissimo articolo tecnico, mi collego alle ultime attività svolte per allineare tutti gli interessati sugli sviluppi del progetto; una sorta di SAL (Stato Avanzamento Lavori) aperto.

Abbiamo recentemente deciso di cambiare il tipo di licenza, sarà ovviamente sempre opensource, ma anzichè utilizzare la licenza Apache v2 abbiamo deciso di passare alla più comune GNU GPL v3.

Abbiamo appena consolidato l’analisi dei requisiti tecnici, è stato un parto lungo e difficile. Chi fosse interessato a leggerla può trovarla a questo indirizzo.

Il consolidamento di questo documento ci ha permesso di definire ( FINALMENTE! ) un piano di lavoro.

Prima di sparare date però, lasciatemi dire che, come inizialmente previsto, realizzare sinekarta non sarà così difficile. La parte difficile del progetto è stata quella di studio : abbiamo dovuto studiare la normativa (che fatica!), poi Alfresco, javasign, itext, openoffice, un pizzico di applet e java Q.B..

In pratica gli ingredienti c’erano già tutti, bastava soltanto avere la pazienza, la voglia e la capacità di scrivere la ricetta! Capire come dosare esattamente ciascun ingrediente per ottenere un risultato degno di un ristornate di alta qualità.

Ricordo a chi non lo avesse ancora capito che questa prima versione tratterà soltanto la conservazione sostitutiva e l’archiviazione ottica, la fatturazione elettronica sarà oggetto della versione 2.0 di sinekarta.

Ma bando alle ciance, e vediamo di capire quali sono gli obiettivi del progetto :

Chi è abbituato alle convenzioni riguardo il versioning dei prodotti software avrà già tutto chiaro, lasciate che dia una piccola spiegazione per i NON addetti ai lavori.

Alla fine di Settembre (quindi tra più o meno 30 giorni) verrà rilasciata la versione Beta. Questa versione sarà gia funzionante ma sarà dedicata agli addetti ai lavori. Conterrà parecchi bug, la documentazione sarà parecchio scarsa e molto (troppo) tecnica. Non sarà possibile effettuare OCR nè firmare i documenti da parte di un PU.

A metà Ottobre sarà rilasciata una versione RC 1 (prima Release Candidate); Questa versione, oltre a correggere errori della versione precedente, aggiungerà la possibilità di firmare i documenti originali unici da parte di un Pubblico Ufficiale.

La release successiva (RC 2 a fine Ottobre) aggiungerà, oltre al bug fixing la possibilità di eseguire OCR delle immagini dei documenti.

La RC 3 (a metà Novembre) si concentrerà più sugli aspetti di contorno che sugli aspetti software. Ovviamente ci sarà sempre una componente di bug fixing (gli errori non mancano mai ed è sacrosanto correggerli sempre) ma i principali temi trattati da questo rilascio riguarderanno la documentazione e la manualistica.

Altri 15 giorni (e si arriva alla fine di Novembre) per correggere gli ultimi errori e pacchettizzare quella che sarà la versione 1.0 definitiva (GA = General Availability).

La fatturazione elettronica, anche se inizieremo a trattarla in questo blog molto presto, verrà analizzata dal punto di vista tecnico a partire da Dicembre.

Da dove si comincia con Alfresco?


Quest’oggi, continuando la serie degli articoli esitivi (quindi tecnici), voglio parlare di Alfresco.

Lavoro in Java da una decina d’anni; prima (altri 8 anni) ho lavorato in COBOL su sistemi Mainframe. L’informatica è una scienza vasta, io non conosco tutto (chi può affermare di conoscere tutto?), ma in quasi 20 anni di esperienza ho maturato una certa competenza sui vari aspetti della mia professione.

Chi pensa che l’informatica sia solo programmazione (come si dice in COBOL : IF, MOVE e GOTO) si sbaglia, si sbaglia di grosso!!!!

Sinekarta lo dimostra, il progetto è ufficialmente partito in Aprile, ma solo ora iniziamo a scrivere codice (quello vero). Abbiamo passato 4 mesi a fare analisi, recuperare le informazioni, digerirle, scrivere documenti, definire una strategia di progetto… Passeremo i prossimi 2 (spero che bastino) a realizzare la prima versione del progetto, poi inizierà una fase (temporalmente infinita) di test e bug-fix. Dopo ci sarà da supportare gli utenti, correggere errori, scrivere manuali, programmare le evoluzioni… ed il ciclo ricomincia.

E sinekarta è un progetto piccolo (informaticamente parlando), coordinare queste attività e persone è facile.

Perchè questa introduzione? Nell’ultimo periodo ho avuto modo di mettere le mani “dentro” Alfresco. In internet si possono trovare diversi giudizi a riguardo, molto differenti. Personalmente, prima di esprimere un giudizio “ad alta voce”, ho voluto toccare con mano lo strumento. Non nascondo che ne sono rimasto stupito, piacevolmente stupito!

Alfresco è un grande progetto con un grande bacino di utenti, è scritto in java e tiene conto di un sacco di specifiche di riferimento e di problematiche di diverse tipologie di utilizzatori.Gestire un progetto del genere non è affatto facile!

Nonostante questo, è impressionante come sia visibile l’impronta dei tecnici Java, degli architetti software che ne definiscono le linee guida di realizzazione. Io in fondo (molto in fondo) sono un tecnico e apprezzo l’evidente sforzo di volere restare coerenti con un mondo che evolve e che è importante seguire.

Tutto questo ha però un’evidente difetto : Alfresco è uno strumento complesso. Non è uno di quei software che “Avanti -> Avanti -> Avanti -> Fine” e lo hai installato.

E’ uno software che può fare e dare tanto di più rispetto agli altri, ma che, per essere dominato, deve essere “capito dentro”.

Detto questo, se siete un’azienda che fa informatica e pensate di passare ad Alfresco (o semplicemente di valutarlo) mettete in conto di allocare una persona con competenze Java (minimo un senior) per almeno 2 o 3 settimane. Mettetegli a disposizione un paio di libri

  1. Alfresco 3 Enterprise Content Management Implementation – Packt Publishing – ISBN 978-1-847197-36-8
  2. Alfresco Developer Guide – Packt Publishing – ISBN 978-1-847193-11-7

e definite un caso prova che (come sperimentazione) dovrà essere realizzato.

Se siete un’azienda che non lavora nel software, e/o che non ha un buon reparto IT, affidatevi a qualcuno che abbia già acquisito le competenze.
Alfresco non è un giocattolo da smanettoni, un appassionato ciappinatore non sarebbe probabilmente in grado di realizzare una configurazione decente.