Open Source e Pubblica Amministrazione….Pubblica?

26 10 2009

“Buonasera, sono Andrea Stani uno studente del corso di laurea specialistica in Ingegneria Informatica per la Gestione D’Azienda”.
Più o meno è così che mi sono presentato al momento in cui ho voluto prendere il microfono per porre qualche punto di domanda durante la tavola rotonda ma facciamo un passo indietro.
24 ottobre 2005, è il Linux Day anche a Pisa ed avendo poco tempo a disposizione per me stesso di recente, decido di dedicare tutto il pomeriggio al Linux Day, ovvero a me stesso.

Una volta arrivato, devo scegliere quale delle tre tracce seguire, si percepisce come è solito la passione di chi organizza questi eventi ed è una bella sensazione.
Il primo talk che scelgo di seguire è entry level e nemmeno tanto; il titolo è “Linux e biciclette: la filosofia del software libero” tenuta da Giovanni Mascellani.

Durante l’ascolto mi rendo conto che manca qualcosa e lo faccio presente con un intervento, ci sono persone di circa cinquanta anni che vorrebbero sapere tante cose da help desk (l’hanno perso in mattinata perchè il gulp di Pisa si è impegnato anche in questo) ma la cosa più importante che non riescono a esprimere secondo me è: “perché fino ad ora non è arrivato altro sul computer di casa mia, se non windows, visto che linux è così figo come raccontate???”.

Non che non lo sappiano di già, ma sono storditi dalle troppe informazioni e magari non hanno tempo per pensarci.

Forse basterebbe citare loro qualche sentenza della commissione europea dell’antitrust per calmare i loro animi e accendere l’interesse ancora di più; certo non è facile un talk così in venti minuti e con di fronte anche un bimbo di circa dieci anni con i suoi genitori.
Seguo altri due talk, il primo intitolato “Facciamo Ubuntu” parla della comunità di Ubuntu e su come partecipare, tenuto da Jeremie Tamburini.
Il tono ed il contenuto sembrano molto caratterizzati da un senso di partecipazione che può fortunatamente essere concreto a dispetto di quel che avviene in altre realtà.
Benissimo condivido tutto.
Altro talk su PostgreSql e le sue caratteristiche interessanti per il business. Devo finire l’esame di architetture e linee di evoluzione delle Basi di dati per poter comprendere tutto, ma in buona parte riesco ad intendere il significato o quanto meno l’importanza di quel che dice Federico Campoli che tiene questo talk.
Quando si confrontano le implementazioni di alcune funzionalità di PostgreSql e Oracle Db non è poi così semplice a meno d’essere un esperto.

E’ venuta l’ora del coffee break, gnaaaammmm che buono.
Si riparte subito, altro talk, un ragazzo racconta la sua tesi su di un sistema per la dematerializzazione dei documenti di una azienda, sia esse pubblica o privata, in osservanza alla normativa italiana; si pone anche attenzione a quanto la normativa tenga alla trasmissione della forma che nell’informatica spesso non trova significato visto che si dissocia dai dati.
Purtroppo anche questa tesi è parcheggiata per mancanza di fondi pubblici e si va avanti a stampare carta.
Finalmente arriva la tavola rotonda. Il tema della tavola rotonda è “Open source, una ricchezza per il business?“.
Saltando a piedi uniti che bisognerebbe approfondire il significato di ricchezza e dell’etica con la quale questo business viene effettuato (il pomeriggio si è aperto parlando di filosofia e open source, non vorremmo certo si finisse per scordare la filosofia per strada), nascono in me delle domande che pongo e a cui ricevo delle risposte belle da parte degli ospiti ed, a mio parere a volte un pò lontane dall’aspetto che in quel momento forse mi ero ostinato a voler vedere.

Non posso citare gli ospiti perchè non ho memoria dei nomi e non li trovo sulla pagina dell’evento.
I miei quesiti sono stati questi che ripropongo ora su questo blog.
Durante gli studi, capita di incontrare persone che manifestano il loro dissenso nei confronti di un business basato sulla filosofia dell’open source.
Spesso però la struttura di alcuni Sistemi Informativi offerti da aziende importanti multinazionali che trattiamo prevedono l’utilizzo di componenti open.
La domanda mal posta in quel momento e che tutt’ora ho fatica a formalizzare è…chi è il nemico di un business basato sull’open?
L’utilizzo di strumenti open nel business è per me foriero di progresso, filosofia nel significato proprio del termine ovvero amico della conoscenza; dovremmo operare nel terziario ovvero produrre servizi ovvero lavorare per produrre reddito.

Uno dei più grandi costi di una migrazione è quello che l’azienda sostiene per la formazione, che tra l’altro genera occupazione territoriale a meno di strumenti di e-learning aziendali, almeno credo sia cosi, non sono un esperto.
Tanti appalti vengono dalle aziende pubbliche e la mia volontà è quella di esprimere preoccupazione per gli investimenti fatti in tali aziende in caso di migrazioni e nel caso queste diventino, in un domani prossimo, poco pubbliche; non vengo fuori dal nulla con queste idee, tra gli ospiti c’è gente che esprime la propria esperienza di migrazione positiva nel mondo dell’università pubblica che purtroppo sembra non essere in buone acque di recente.

Per quanto concerne l’università vi suggerisco la lettura dell’articolo 16 ed in particolare il comma 2 della legge 6 agosto 2008, n.133 a proposito dell’assunzione dei diritti patrimoniali da parte delle eventuali fondazioni private.

Altro caso di azienda pubblica quind PA in senso soggettivo? Alitalia.

Andiamo a vedere i costi della privatizzazione Alitalia in termini di personale qualificato perso, e vediamoli come proposti da un articolo intitolato “I Prezzi del Rilancio” di Gianni Dragoni per il Sole 24 Ore, il giornale di confindustria che mi appare ben lontano dall’estrema sinistra (scusate il riferimento politico ma serve a dare un senso).

In una Italia poi in proiezione federalismo le autonomie e seguenti privatizzazioni, diciamo che a naso me le immagino in aumento.

Posto che importante è l’ideale su cui si basa la filosofia open source, la mia domanda è stata: in una situazione nazionale in cui si sta cercando, in positivo, di portare l’open source nella Pubblica Amministrazione ed in cui contemporaneamente si assiste ad una privatizzazione discutibile delle aziende pubbliche, quanto è giusto non tenere in considerazione certi meccanismi e avvenimenti recenti?

Sono diversi i casi di privatizzazione italiane in cui personale esperto impiegato nelle aziende pubbliche è stato regalato.
La prassi per le aziende pubbliche italiane sembra essere sempre la stessa, si rendono le aziende autonome, si gonfiano di spese e di assunzioni spacciate per ottime politiche occupazionali, fino a farle fallire e poi svenderle.

Mi chiedo quindi perché mi dovrei augurare che tante belle iniziative che puntano a portare la filosofia open nella Pa vadano in porto. Coloro che collaborano con passione per questo modo di pensare il software si sentirebbero in tal caso fieri di una partecipazione che ha anche uno sfondo culturale. Ma in caso di svendite? Ed oltre il danno al senso di partecipazione la beffa di un probabile ennesimo regalo di attività pubbliche costruite con i soldi dei contribuenti.
Senza porre soluzioni a problemi più grandi di gestione dell’interesse pubblico mi sembra solo che si spostino soldi in direzione diversa in base al colore della bandiera oltre che di un migliore investimento è chiaro.

Naturalmente è fuori discussione la liceità con cui si devono svolgere le gare di appalto.

Spendere nel formare personale di enti pubblici che sono sotto la mira del fucile della privatizzazione del governo di turno, è cosa giusta se non ci si garantisce che pubblici rimangano???

Le mie domande così poste hanno infatti scaturito l’intervento di un paio di persone tra cui una che ha affermato all’incirca, che per quanto si possa evitare l’argomento si finisce sempre per parlare di etica aziendale e “cosa comune”.

Belle le risposte che ho ricevuto da alcuni ospiti che si sono riferiti al significato vero di formazione che è diverso dalla trasmissione della conoscenza delle procedure.

Un docente di ingegneria presente mi ha fatto notare che camminare nei corridoi di una università non presuppone per forza che non si possa incontrare gente ignorante.

Un ragazzo mi ha giustamente fatto notare che anche per sistemi non open la formazione va fatta al che io ho replicato che purtroppo l’università si è data al commercio dell’ECDL coprendo buona parte della “formazione” delle prossime generazioni in termini di uso di un sistema operativo e strumenti di office automation.

Mi ha fatto anche notare che con una recente sentenza (ora non ho cercato la fonte perdonatemi) esiste la possibilità di certificarsi con sistemi open. Ecco peccato che non lo sa nessuno e gli universitari che non siano legati al ramo dell’informazione sanno a memoria i menu dei prodotti di certi marchi noti.

E’ semplicemente scandaloso, le prossime generzioni sono deFormate e tocca migrare la “formazione”.

Sperando di non essere mal interpretato ogni commento è ben accetto.

Saluti,

Andrea Stani

p. s. mi scuso in anticipo per ogni eventuale errore ma non ho avuto troppo tempo per rileggermi, spero che il contenuto  sia comunque percepibile.

Ringrazio mio fratello per l’ospitalità sul suo blog. :-)





C14n: cosa è la canonicalizzazione

14 09 2009

Normalmente possiamo comparare facilmente file di testo per vedere se ci sono differenze (vedi file comparison tools) ma cosa accade quando abbiamo 2 file xml e vogliamo vedere se sono uguali in termini di contenuti ?

Se considerariamo un file xml come una lista di elementi e abbiamo 2 file con un ordine diverso degli elementi, non sono pure logicamente uguali ? non lo sono anche quando l’ordine degli attributi cambia ?

In questo contesto il W3c ha presentato 2 standards (algoritmi per trasformare XML) : XML-C14N del 2001 e XML-Exc-C14n del 2002, si parla infatti di Canonicalizzazione inclusiva ed esclusiva, la differenza sostanziale è che la canonicalizzazione esclusiva può prendere in considerazione anche solo parti di un documento xml in modo che siano indipendenti dall’elemento padre (e quindi entrano in gioco namespace e attributi ereditati).

Esempi di regole da quella inclusiva (prese dal primo documento):

  • The document is encoded in UTF-8
  • Line breaks normalized to #xA on input, before parsing
  • Attribute values are normalized, as if by a validating processor
  • Character and parsed entity references are replaced
  • CDATA sections are replaced with their character content
  • The XML declaration and document type declaration (DTD) are removed
  • Empty elements are converted to start-end tag pairs
  • Whitespace outside of the document element and within start and end tags is normalized
  • All whitespace in character content is retained (excluding characters removed during line feed normalization)
  • Attribute value delimiters are set to quotation marks (double quotes)
  • Special characters in attribute values and character content are replaced by character references
  • Superfluous namespace declarations are removed from each element
  • Default attributes are added to each element
  • Lexicographic order is imposed on the namespace declarations and attributes of each element

Potete vedere qualche esempio nel documento stesso.

Vi chiederete dove la canonicalizzazione viene usata in pratica. Nei web services sapete che i dati vengono trasmessi in formato XML, ebbene con le specifiche WS-Security del consorzio OASIS, con cui si cripta e firma un messaggio SOAP, la canonicalizzazione permette di garantire l’unicità della rappresentazione del file XML.

Una implementazione delle specifiche viene dalla Apache Foundation con WSS4j che prevede i 2 tipi di canonicalizzazione con la possibilità di includere o escludere i commenti nel file xml.

Principalmente gli autori della canonicalizzazione sono 3:

Non vi resta che augurarvi una buona lettura :-)





Soa Design Pattern: progettare web services

22 08 2009

Al di là dell’implementazione di un web service occorre pensare a come progettarli; normalmente l’implementazione è fatta su misura dei messaggi scambiati ma a livello architetturale dovete pensare a come nel tempo i vostri web services potrebbero mutare.
Un esempio banale è quello che il vostro xml schema cambi o semplicemente il contratto (file wsdl) possa cambiare per una qualunque ragione e da qui il concetto di versioning che si puo’ applicare anche alle semplici policy di accesso.

Per affrontare questi problemi occorre avere una buona panoramica e in questo Thomas Erl riesce bene con il suo libro Soa Design Pattern da cui è stato realizzato un sito web:  http://www.soapatterns.org/ che ho scoperto oggi

Sulla destra potete notare il lungo elenco di design pattern che sono descritti nel libro. Tra l’altro sul sito potete notare 2 poster interessanti da stampare:

http://www.soapatterns.org/reference_posters.asp

Per quello che ho potuto notare Thomas è autore di un sacco di libri sull’argomento SOA (vedete: http://www.soapatterns.com/ ) tra cui il libro sugli Enterprise Service Bus che sarà lanciato al SOA Symposium il 22-23 Ottobre  a Rotterdam (l’ingresso costicchia).





Freesound: distribuire file audio con licenza Creative Common

8 08 2009

Uno dei progetti che mi è capitato sotto occhio ieri è Freesound, un sito web che permette di fare upload di suoni (e non musica) sotto licenza Creative Common Sampling Plus 1.0

I tipi di file supportati sono wave, aiff, ogg vorbis, flac e mp3, il sito permette di farne l’upload con un applet FTP ma potete usare un qualunque client.

Il sito è basato su PHP e MySQL e fa uso di PHPBB per il forum più l’ausilio di getID3, codice PHP per l’estrazione i tag dai file audio. Una delle cose particolari è che si appoggia su Google Maps per localizzare i file audio, potrete magari far sentire i suoni della vostra strada sempre trafficata o cogliere il cinguettio degli uccelli a prima mattina :-)

Il sito è stato realizzato dall’MTG, il Music Technology Group di Barcellona, che realizza diversi progetti

Un progetto che rende omaggio a Freesound è Jokosher, un software che permette l’editing audio e che ha tra le sue estensioni la possibilità di importare suoni da Fresound. Jokosher è pacchettizzato per Ubuntu e openSuse e trovate l’eseguibile per Windows, esso viene rilasciato con licenza GPL v2 e si basa su Gstreamer per l’esportazione dei file audio.

Curiosità (riportata da Wikipedia): uno dei campioni di Freesound è stato usato nel film “I figli degli uomini” con Clive Owen.





Blip.tv: upload video e audio con licenza Creative Common

3 08 2009

Ultimamente sono stato impegnato per un progetto dove si chiede di incorporare video in un sito web. La cosa che abbiamo pensato subito è quello di fare upload di video su YouTube in modo da usare la loro banda. Fino ad ora sono stato un semplice utente di YouTube e non mi sono mai chiesto che tipo di servizi può offrire.

Ho cominciato quindi a cercare alternative a YouTube e sono capitato su wikipedia:

https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_video_services

noto tra questi Blip.tv che permette di fare il download del file originale e upload di audio cosa che non si può fare con YouTube almeno non direttamente (tra l’altro per l’audio ho notato su YouTube che va convertito in video, non proprio user friendly).

Siccome sembra interessante procedo, mi iscrivo e vedo la possibilità di specificare una licenza per gli utenti finali che è implicita invece tra chi fa upload e quelli di Blip.tv (su YouTube questa libertà non esiste). In particolar modo si può scegliere ovviamente di detenere i copyright, rilasciare di Pubblico Dominio, rilasciare con licenze Creative Common 2.0 e 3.0 o ancora indicare l’URL di una ulteriore licenza.

Ho trovato un altro confronto interessante:

http://advancingusability.wordpress.com/2009/05/06/owned-legal-terms-of-video-hosting-services-compared/

dove si mettono in evidenza i termini di uso ma anche il domicilio legale in caso di contesto.

Comunque ho fatto caso che la Commissione Europea su loro sito i file audio sono in formato mp3 (che regna incontrastato) mentre per i video i seguenti formati:

  • Real Video for the EbS streaming, and Real Player in (surestream) multi-compression for low definition
  • MPEG 2 for high definition pictures
  • MPEG 2 for video on demand (VOD) and vodcasting
  • MPEG 4 H264 for VOD and vodcasting
  • Flash Video for preview

vedere qui.

Mentre il Parlamento Europeo supporta audio MP3 e Asf mentre noto che i video so affidati a StreamPower.be che supporta principalmente Adobe Flash, Windows Media, QuickTime, Real, 3GPP, H.264/MPEG-4 e inoltre diversi servizi come sincronizzazione video flash e powerpoint (interessante per video conferernze dove si parla e si mostrano slides ma non per il format0) più altre sincronizzazioni con Silverlight.

L’EuroParlamento ha inoltre il suo broadcasting trasmettendo in Flash e Window Media Video.

In ogni caso oggi mi viene fatto notare che l’Unione Europea ha una sezione dedicata su YouTube.

Occorre dire che YouTube fornisce la possibilità di avere sottotitoli da aggiungere nei video cosa non mi pare aver notato in Blip.tv.

C’è da dire che Blip.tv permette con l’account a pagamento di avere i video in versione privata normalmente non appena si crea questi diventa pubblico.

Cosa interessante per blip.tv è il broadcasting, in pratica potete diffondere (cross posting) il video presso altri siti come Twitter o Facebook.

Aggiornamento: oggi ho provato anche Sevenload, che è realizzato tramite il framework Agavi, e permette l’upload di materiale multimediale con licenza Creative Common. La cosa interessante è che qui è possibile fare upload di foto ma non audio





Inspircd: un server irc libero

11 07 2009

Dato il fatto che Bugzilla, Redmine e Hudson permettono di installare un bot irc, oggi ho provato ad installare Inspircd un demone irc fatto in C++ e rilasciato con licenza GPL 2 (non superiore).

Devo dire che ce ne sono diversi, ho provato ad installare questo perchè è uno tra i pochi che supporta un server LDAP.

L’installazione (ho preso la versione 1.1.22) parte dal classico configure/make/make install ma ha bisogno di librerie linkate in cascata da installare nel seguente ordine:

  1. libgpg-error
  2. libgcrypt
  3. gnutls

Fate attenzione però che l’ultime versioni di gnutls non hanno il comando libgnutls-config richiesto da inspircd, dovrebbe bastare la versione 2.6.6.

Le tre librerie le installate anch’esse con configure/make/make install.

Se siete riusciti ad installare il tutto (io l’ho installato sotto Mac) dovete andare nella cartella conf di Inspircd dove trovate il file inspircd.conf.example da rinominare inspircd.conf e modificare (provate a togliere solo i comandi <die> che servono per far morire il server e farvi capire come andrebbe editato). Inoltre il server non parte se lanciato da root.

Sotto Mac ho usato il client Colloquy (scritto in Objective-C e rilasciato con licenza GPL 2) e connesso all’indirizzo locale 192.168.2.2 che avevo specificato nel bind del file di configurazione sono poi entrato in un canale, creandolo, con /j nomecanale.

Non vi resta che capire come aggiungere i vari moduli e configurarlo per bene !

Cmq sono tentato un giorno di installare Psyced (perchè permette di fare da ponte con il protocollo XMPP, cosa alquanto interessante).





Eventi Software Libero Estate 2009

30 06 2009

Un po’ di eventi in Europa per rilassarvi un po’:

28 Giugno – 4 Luglio 2009 - EuroPython 2009 – Birmingham (Regno Unito)

7-11 Luglio 2009 – 10th Libre Software Meeting – Nantes (Francia)

24-30 Luglio 2009 – DebConf9 – Caceres (Spagna)

27 Luglio- 2 Agosto 2009 – OpenCommunityCamp 2009 – Oegstgeest (Olanda)

3-5 Agosto 2009 – Yet Another Perl Conference 2009 – Lisbona (Portogallo)

22-23 Agosto 2009 – FrOSCon 2009 – Sankt Augustin (Germania)

15-16 Settembre 2009 – OSiM World – Amsterdam (Olanda)

18-20 Settembre 2009 – EuroBSDCon 2009 – Cambridge (Regno Unito)

19 Settembre 2009 – Software Freedom Day – In ogni nazione !

22-25 Settembre 2009 – Linux-Kongress 2009 – Hamburg (Germania)





Netbeans 6.5.1 e Openfire 3.6.4

28 06 2009

Oggi ho provato Openfire 3.6.4 un server XMPP scritto in Java rilasciato con licenza GPL.

Stavo pensando di fornire un servizio di chat e mi sono ricordato che quelli di Sun avevano messo il supporto a Netbeans chiamato Developer Collaboration ma come ho scritto in un precedente post c’erano problemi di compatibilità che ora sembrano superati con le nuove versioni di Netbeans.

Ho dapprima scaricato il file dal sito della Ignite Realtime (versione Mac OS X poi su Win), una volta installato me lo sono ritrovato in /usr/local/openfire. Dentro la cartella bin ho trovato il file openfire.sh ha cui ho dato i permessi di esecuzione ma che ho eseguito da root. Ho poi eseguito il file e sono andato nel mio browser (firefox) all’indirizzo:

http://localhost:9090

Tra le lingue a disposizione trovate Ceco, Tedesco, Inglese, Spagnolo, Francese, Olandese, Polacco, Portoghese Brasiliano, Sloveno e Cinese Semplificato.

Dopo le lingue impostate il vostro dominio con le porte 9090 e 9091. Dopo dovete scegliere se usare un database interno o esterno (potete scegliere tra MySQL, Oracle, Microsoft SQLServer, PostgreSQL, IBM DB2).

Ho scelto MySQL, ho impostato l’indirizzo di localhost e nel frattempo ho creato il database perchè Openfire non lo crea.

Ho poi scelto per il profilo di usare il database, alternativamente si può scegliere LDAP o ClearSpace. Infine ho poi impostato email e password di amministratore.

Alla fine della procedura avete necessità di riavviare il server perchè altrimenti la pagina di login non funzionerà !

Noto che il plugin search non è installato sulla versione di Openfire per Mac (su Win si, devo vedere su linux) e procedo ad installarlo.

Dopo di che come spiegato in questo post (ma anche nel primo link che vi ho dato) occorre creare una nuova Group chat; invece di usare “conference” ho creato “myconference”.

Poi sono andato su Netbeans, ho installato il plugin Developer Collaboration, e ho creato un nuovo account chiedendo di registrarmi sul server, alla fine della procedura di registrazione dovreste poter vedere il nuovo account sul server. Dovreste poi autenticarvi senza nessun problema.

Per fare una prova di chat ho usato Pidgin o Spark (rilasciato dalla stessa azienda) creando un utente sul server e loggandomi una volta con Pidgin e una volta con Spark. La chat diciamo che va, quando è l’utente su Pidgin che apre la conversazione con il client su Netbeans si vede un po’ di codice XML il contrario invece no. Occorre provare tra 2 istanze di Netbeans.

C’è da dire che Netbeans punta su Kenai per il servizio di chat vedi qui.

Nota: una mia collega usava QIP come chat client, per poterla riuscire a loggare sono dovuto andare in Jabber options->Advanced->Server option>Disable SASL authentication; notavo infatti che all’atto di scambiare il digest MD5 c’erano problemi.





Redmine: non solo bug tracking

25 06 2009

Cercavo un sistema web di bug tracking e avevo già notato Trac e lo consideravo per via dei suoi innumerrevoli plugin il migliore, tuttavia il caso della vita vuole che scopro Redmine principalmente per 3 ragioni:

  • supporto multiprogetto cosa che Trac sembra non avere (in tal caso si dovrebbbero creare più istanze di Trac)
  • dipendenza tra bug, cosa che Trac sembra non avere
  • possibilità di inviare un bug anche tramite email, non so se Trac ha questa funzionalità.

Googlando trovo Redmine che a sorpresa vedo gestire più revision control systems (SVN, CVS, GIT, Bazaar, Mercurial, Darcs), supporta LDAP ed è multilinguaggio.

Redmine è scritto in Ruby on Rails ed rilasciato con licenza GPL.

Per poterlo provare esiste una demo:

http://demo.redmine.org/

oppure installarlo velocemente in locale con lo stack Bitnami:

http://bitnami.org/stack/redmine

Una volta loggati l’interfaccia risulta pulita, in alto a sinistra vedere My Page (issue assegnati a voi), Projects (per creare o vedere i vostri progetti), Administrations (dove potete gestire utenti e ruoli, assegnare i ruoli alle atttività di Bug, Feature o Support), impostare lo stile del sito, notifiche email, autenticazione LDAP.

Una delle caratteristiche interessanti è il diagramma di Gantt che si viene a creare per ogni progetto per ogni bug aggiunto in tal modo si può avere una visione di insieme di come sta evolvendo il progetto. Potete salvare il diagramma in PDF e PNG. Avete comunque una visione a calendario.

Tra i progetti che usano Redmine trovate Ruby, Lighttpd, Typo3 e PHPBB

Piccola nota:Esiste un plugin per Hudson.

Lascio a voi il piacere di scoprire il resto! Ovviamente se avete una vostra esperienza con Redmine fatemi sapere!





TCExam: applicazione web per test on line

14 06 2009

Sono stato alla ConfSL è ho assistito ad un software per fare test/quiz on line chiamato TCExam, realizzato in PHP e rilasciato con GPL 3 a cura di Nicola Asuni che ho conosciuto personalmente. Nicola, già autore di TCPDF, si è concentrato sull’aderenza agli standard (XHTML 1.0, CSS 2.0 e WAI-AAA) che all’uso di AJAX che eventualmente potete aggiungere (concordo con lui anche perchè questo tipo di software è generalmente inglobato in altri ed è preferibile avere l’aderenza agli standard).

L’installazione, la versione attuale è 9.0.017, è semplice basta estrarre il file zip e copiarlo ad esempio nella cartella htdocs di Xampp e andare all’indirizzo:

http://localhost/TCexam/install/install.php

dove dovrete mettere i parametri di connessione al vostro database MySQL (default) o PostgreSQL. La procedura creerà un database con una 15 di tabelle.

Fatto ciò finite nella schermata di login. Dovete sapere però che esiste sia il lato pubblico che quello amministrativo che trovate all’indirizzo:

http://localhost/TCexam/admin/code/

e inserire le credenziali di amministratore admin/1234.

Occorre dire che il sistema di autenticazione si può basare su CAS, LDAP, Radius; i file di configurazione li trovate nella cartella shared/config.

La cosa interessante è che il software è multilingua ed è disponibile in Arabo, Bulgaro, Portoghese brasiliano, Cinese, Tedesco, Greco, Inglese, Spagnolo, Francese, Hindi, Ebreo, Ungherese, Indonesiano, Italiano, Giapponese,Marathi, Malese, Olandese, Polacco, Russo, Turco, Vietnamita.
Le lingue sono in un unico file che trovate nel path shared/config/lang/language_tmx.xml

Dal pannello potete creare utenti e assegnare loro dei gruppi. Potete importare/esportare utenti in formato XML o CSV e vedere lo stato dei risultati.

Le domande sono strutturare in moduli e argomenti e possono essere di tipo a risposta singola, multipla, libera e ordinamento delle risposte.
L’editing delle domande e risposte è basato su un editor che permette l’aggiunta di formule e immagini in Latex (cosa ottima) tramite tag quindi non visuale, tuttavia si può vedere la preview. Le domande possono essere importate/esportare in XML mentre la lista si può esportare anche in PDF.

La creazione dei test è anch’essa semplice. Per ogni test potete specificare la data di inizio e fine (fa fede quella del server), i gruppi di utenti che possono partecipare, i punti da assegnare per risposta corretta, sbagliata o non data, i punti minimi per passare l’esame e che tipo di domande aggiungere.

E’ possibile esportare il test in PDF così magari da stamparlo. Sul PDF generato compare un logo e un’intestazione specificati nel file shared/config/tce_pdf.php mentre l’immagine si trova nella cartella images.

A questo punto non vi resta che augurarvi buon test e se avete bisogno di aiuto chiedete direttamente a lui che è molto disponibile !