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 !





Installazione veloce di Alfresco su Glassfish

6 06 2009

Ho cominciato a valutare l’idea di installare un Document Management System per un progetto a cui sto lavorando e poichè  in un altro progetto ho notato che hanno installato Liferay che si appoggia su Alfresco ho pensato di cominciare con Alfresco appunto.

Avendo Glassfish 2.1 installato in locale, ho scaricato il file war di Alfresco dal seguente link:

http://process.alfresco.com/ccdl/?file=release/labs/build-1526/alfresco-labs-war-3Stable.tar.gz&a=y&s=n&t=y

che permette di scaricare la versione stabile di Alfresco Labs 3.1. Fate il deploy dell’applicazione da Glassfish ma non lo lanciate perchè altrimenti ricevete errore HTTP Status 503.

Come difatti spiegato nel wiki e in questo post che ho trovato, dovete creare manualmente il database su cui Alfresco si poggia altrimenti avete l’errore che vi ho detto.

Di default Alfresco si basa su MySQL e, sempre di default, il suo database è alfresco con username alfresco e password alfresco, tutto questo lo potete vedere nel file /alfresco/WEB-INF/classes/alfresco/repository.properties perciò usando PHPMyAdmin potete creare velocemente database e utente, fatto cio’ troverete alfresco all’indirizzo:

http://localhost:8080/alfresco

L’amministratore per default ha username admin e password admin (potete cambiarla una volta loggati oppure prima di creare il database andate nel file /alfresco/WEB-INF/classes/alfresco/web-client-config.xml ).

Buona esplorazione !

PS: ora sarei curioso come funziona l’integrazione con Drupal.

PS2: alternativamente stavo pensando a KnowledgeTree che si può integrare con Process Maker.





XWiki 1.8.3 su Glassfish 2.1 e MySQL 5.1

20 05 2009

Fino ad ora ho sempre avuto un debole per mediawiki (anche se non ha mai brillato per la sua interfaccia utente), ho provato oggi ad installare XWiki, un wiki realizzato in Java e rilasciato con licenza LGPL e quindi ne ho approfittato per installarlo su Glassfish.

Per un progetto avevo già provato Twiki che in complesso mi era piaciuto ma non sono stato completamente soddisfatto (alcuni problemi con la stampa pdf e editing parallelo) perciò stamani ho provato ad installare XWiki che vanta diverse caratteristiche, tra cui il fatto di scrivere applicazioni integrabili; ho notato tra l’altro che esiste anche la versione client che si può integrare con Eclipse (ok anche per Mediawiki e Twiki ho visto che esiste l’integrazione con Eclipse ma non ho mai provato).

Ho notato tra l’altro che quelli di XWiki hanno trovato hosting sulla Forge di OW2 e contemporaneamente diversi progetti dell’OW2 Consortium fanno uso di XWiki per i loro progetti come Bonita, JASMINe, JOnAS, ObjectWeb, Orchestra, Petals ma anche Exo Platform, Mandriva Club, Nuxeo.

Tornando all’installazione, tramite il pannello di Amministrazione di Glassfish effettuate il deploy del file war che scaricate da qui. Il deploy pero’ non basta, una volta fatto il deploy non potete lanciarlo subito altrimenti avete un errore del genere:

javax.servlet.ServletException: com.xpn.xwiki.XWikiException: Error number 3 in 0: Could not initialize main XWiki context
Wrapped Exception: Error number 3001 in 3: Cannot load class com.xpn.xwiki.store.migration.hibernate.XWikiHibernateMigrationManager from param xwiki.store.migration.manager.class
Wrapped Exception: Error number 0 in 3: Exception while hibernate execute
Wrapped Exception: Could not parse mapping document from resource xwiki.hbm.xml
Ciò significa che dovete configurare il file hibernate.cfg.xml dove si trovano i parametri per il database da usare. Questo file lo trovate in /domains/domain1/applications/j2ee-modules/xwiki/WEB-INF.

Io ho abilitato la configurazione di MySQL ma esistono le configurazioni di HSQLDB, PostgreSQL, Oracle e Derby e ho inoltre copiato all’interno della cartella xwiki/WEB-INF/lib il mysql connector ma non sono sicuro che sia servito.

Tuttavia ho ancora avuto il medesimo errore perchè XWiki ha creato il database xwiki con utente xwiki ma senza la password che dovrebbe essere xwiki, dunque seguendo le istruzioni, ho scritto:

mysql -u root -e “grant all privileges on xwiki.* to xwiki@localhost identified by ‘xwiki’”

e difatti connettendomi con l’utente xwiki (con la password questa volta) su MySql son riuscito a vedere il database e andando finalmente all’url:

http://localhost:8080/xwiki/bin/view/Main/

sono riuscito finalmente a vedere XWiki però non potete ancora loggarvi e dal menu in alto a destra (administration) dovete scaricare ed importare il file xar per la configurazione e così potete loggarvi con utente Admin e password admin.

Ora potete lavorare su XWiki, unica cosa non riesco ad esportare le pagine in PDF e RTF ed ho eccezioni di Xalan e Xerces, speriamo di risolvere subito.





Gestione fatture con Invoicex

16 04 2009

Invoicex è un programma multipiattaforma grazie al fatto che è realizzato in Java quindi si puo’ installare per Win, Linux e Mac.

Invoicex è rilasciato con licenza GPL 2 dalla società TNX la quale, in collaborazione con Bios Informatica, ha realizzato ClientManager un software, non libero, per la gestione di interventi tecnici che si puo’ integrare con Invoicex.

Invoicex, tra l’altro, usa MySQL come database, infatti all’avvio dell’installazione, vi viene chiesto se volete usare il suo database interno o dargli un database remoto (che puo’ risiedere sul vostro pc), se non esiste il database verrà creato con una 50 di tabelle, io ho usato MySQL avviandolo da Xampp e ho lasciato creare il database.

Finita la fase di creazione del database vi vengono chiesti i dati dell’azienda: ragione sociale, partita iva, codice fiscale e recapito. I dati vengono salvati nella tabella dati_azienda del database.

Vi viene chiesto tra l’altro se volete che questi dati siano trasmessi a TNX per uso statistico, potete dire di no ovviamente.

Finito il tutto potete, tramite una interfaccia semplice e pulita (solo un menu e una barra orizzontale), gestire preventivi/ordini, ddt, fatture, clienti/fornitori e loro situazione, articoli, fatture acquisto.

La versione attuale del programma (1.7.7 del 28/01/2009) ha poi 5 plugin che, se abiltati sono gratuiti per 30 giorni, dopo di che devono essere acquistati, i plugin in questione sono:

  • Backup/Restore su server remoto TNX
  • Integrazione con Client Manager
  • Aggiornamento automatico del programma
  • Gestione ritenuta d’acconto
  • Ricerca globale

I report di preventivi/ordini, ddt, fatture, clienti/fornitori vengono di solito stampati/salvati in PDF, in particolare ho notato che quanto si stampano i preventivi/ordini viene usato JasperViewer mentre quando si stampa l’elenco degli articoli questo puo’ esser salvato in PDF, HTML e Excel.

JasperViewer viene usato anche quando si genera il report su Ordini/Bolle/Fatture dal menu Statistiche.

E’ possibile infine chiedere assistenza, a pagamento, annuale o per ticket.

Cliccando sul menu Aiuto -> Informazioni si scopre che il programma si basa sulle seguenti librerie:

Buona fatturazione !





Glassfish 2.1, Quercus 3.2.1 e WordPress 2.7.1

7 04 2009

Talvolta avevo pensato di migrare da PHP a JSP poichè Tomcat supporta nativamente JSP ma Tomcat non è un application server.

Ultimamente sto valutando di usare Glassfish o Jboss come application server per usarli come base per Hudson un continuous integration engine (vedete articolo precedente) invece di usare Winstone integrato al suo interno.

In particolar modo, siccome quelli di Glassifish con Metro affermano l’interoperabilità con .NET per i web service (a partire da Jax-WS più le implementazione degli stessi standard con .NET cosa che Axis2 fa ma più lentamente a mio parere), ho pensato di concentrarmi su Glassfish.

Per caso ho scoperto che esiste Quercus che è una libreria java che è una implementazione java di PHP, in pratica il codice PHP viene trasformato in Java, in pratica potete far girare le vostre applicazioni PHP.

Quercus viene rilasciato con licenza GPL 2 da Caucho Technology una azienda che ha realizzato Resin un java/php application server e Hessian un protocollo binario per web services che avevo già sentito nominare quando lavoravo sui web services.

Quelli di Caucho affermano che le prestazioni si vedono.

Presto detto quello che avete bisogno quindi è GlassFish, Quercus e i driver JDBC che dovete installare nel vostro application server e che Quercus farà uso e la vostra applicazione PHP ovviamente.

Ho scelto WordPress perchè ho trovato un tutorial e di conseguenza ho installato i driver JDBC per Mysql e Mysql stesso.

I tutorial che ho seguito sono:

  • http://blogs.steeplesoft.com/glassfish-php-and-wordpress/ (ma non spiega che bisogna creare un connection pool su glassfish ovvero la connessione tramite i driver JDBC). Dovete prima di tutto estrarre i 3 file (quercus.jar, resin-util.jar, javamail-141.jar) che si trovano nel file war di Quercus nella cartella lib di Glassfish o nella cartella di lib del vostro dominio (domain1 nel mio caso)  a seconda della visibilità che volete dare. Poi in pratica nella cartella del vostro dominio trovate il file config/default-web.xml e dovete inserirci la seguente configurazione:

<servlet>
<servlet-name>Quercus Servlet</servlet-name>
<servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Quercus Servlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>

Dovete poi estrarre WordPress nella cartella docroot del vostro dominio.

Poi oggi rivedendo Quercus ho visto che la procedura è spiegata nel file readme :-) che trovate nel pacchetto e che vi consiglio a questo punto di leggere per prima.

Ora mi concentro anche su Jboss e vedo per qualche applicazione in PostGres.

Nota: vedere anche Php-Java bridge.





BitNami, una alternativa a Xampp

13 08 2008

Se fino ad ora ho apprezzato Xampp come package all-in-one per Apache, PHP e MySQL per Windows, Linux, Mac OS X e Solaris non posso che farmi piacere BitNami.

Ultimamente avevo voglia di provare PostGres che Xampp purtroppo non ha e nella ricerca di soluzioni semplici ho trovato BitNami che fa lo stesso di Xampp ma aggiunge a richiesta la possibilità di avere lo stack Apache, PHP e PostGres (con PhpPgAdmin).

Sul sito di BitNami tra l’altro c’è lo stack per Ruby On Rails con Ruby, Rails, MySQL e Subversion e altre applicazioni pronte per essere installate direttamente insieme ad Apache PHP e MySQL, oppure separatamente, come WordPress, Drupal, Joomla, Alfresco, phpBB, SugarCRM e KnowledgeTree.

Gli sviluppatori hanno aperto poi un questionario su quali applicazioni vorreste trovare già pacchettizzate.

Non vi resta a questo punto che provare!!