Come ottenere un buon ambiente di chiosco tramite firefox senza dover appoggiarsi ad un window manager:

In Aula Taliercio abbiamo la necessità di configurare i PC per il test a risposte multiple, una applicazione web che permette agli studenti di sostenere un esame online ottenendo subito a fine prova la valutazione. Precedentemente si era passati per una configurazione delle macchine tramite un ambiente chiosco ottenuto da una particolare configurazione del desktop manager Icewm, ma questo impattava sulla portabilità. Icewm infatti non e' nativo del sistema operativo Fedora e cio' comportava la ricompilazione dei sorgenti ogni qualvolta si cambiava sistema operativo o con aggiornamenti troppo profondi del sistema.

L'idea di base è far girare solo firefox sopra X, ma non il firefox con l'interfaccia tradizionale, bensì firefox sfrondato di tutte le funzionalità che allo studente non servono per il test a risposte multiple o per la prova di inglese online. È l'applicazione in questi casi che guida lo studente attraverso un percorso ben delimitato.

Firefox ci permette di fare tutto cio' abbastanza facilmente grazie al linguaggio di markup XUL. Firefox infatti non e' niente altro che un interprete di XML, e l'interfaccia di default che presenta all'utente viene disegnata dall'interprete a partire dal file /usr/lib/firefox-<versione>/chrome/browser.jar Si tratta quindi di disegnare una interfaccia piu' semplice con due soli pulsanti senza barra degli indirizzi e poi si fa in modo che venga caricato senza window manager direttamente da X. Si associano ai due pulsanti delle funzioni tipo :
  1. "esci dal test" che chiude firefox e ritorna al loging grafico
  2. "riavvia il test" che ricarica la pagina iniziale del test

Struttura dei file del chiosco ADT (Aula Didattica Taliercio)
content/
content/ADT-test.xul            file principale per il test a risposte multiple     
content/riavvia-test.xul        |
content/riavvia-test.html       |
content/esci-test.xul           | File correlati al test
content/esci-test.html       ___| per i dialog di conferma per l'uscita e il riavvio


                        -----------
content/esci-test-con.xul        |
content/esci-test-con.html       |
content/window-esci-test-con.xul | File di conferma con e senza
content/esci-test-senza.xul      | le specifiche di premere "Termina Test" 
content/esci-test-senza.html     | 
                        -----------

content/ADT-inglese.xul         file principale per il test di inglese
content/esci-inglese.xul        |
content/esci-inglese.html       |
content/riavvia-inglese.xul     | File correlati al test 
content/riavvia-inglese.html ___| per i dialog di conferma per l'uscita e il riavvio

content/ADT-chiosco.js          file dei javascript
content/images/                 directory per le icone future ????
content/ADT-iscrizioni.xul      applicazione per le iscrizioni
content/contents.rdf            file rdf per la compatibilita' con i mozilla e i firefox 1.0*

contents.rdf                    file rdf per la compatibilita' con i mozilla e i firefox 1.0*

locale/                         directory che contiene la localizzazione 
locale/ADT/                     sottodirectory per la nostra localizzazione ("ADT") :-)
locale/ADT/ADT-chiosco.dtd      file della localizzazione vero e proprio
locale/ADT/contents.rdf         file rdf per la compatibilita' con i mozilla e i firefox 1.0*

skin/                           directory che contiene i css
skin/default/
skin/default/ADT-chiosco.css
skin/default/contents.rdf

Per testare l'interfaccia di questo chiosco con firefox 1.5.* e 2.* basta copiare i file chiosco.jar e chiosco.manifest nella directory
/usr/lib/firefox-<versione>/chrome mentre con firefox 1.0.* o mozilla 1.0.* si deve invece copiare il file chiosco.jar(non è altro che un file compresso in formato zip) nella directory
/usr/lib/firefox-<versione>/chrome o rispettivamente
/usr/lib/mozilla-<versione>/chrome e aggiungere le seguenti righe
content chiosco  jar:chiosco.jar!/content/
skin chiosco classic/1.0 jar:chiosco.jar!/skin/
skin chiosco classic/1.0 jar:chiosco.jar!/skin/default/
locale chiosco ADT jar:chiosco.jar!/locale/ADT/
al file
/usr/lib/[firefox/mozilla]-<versione>/installed-chrome.txt

da terminale si deve poi dare il comando
firefox -chrome chrome://chiosco/content/ADT-test.xul

Alla fine basta creare un utente fittizio a posta per il test nella cui home directory ci siano questi due file:
.Xclients e .Xclients-default e che siano entrambi eseguibili dall'utente (permessi 500 almeno). L'importante come si può notare è che alla fine del file .Xclients-default ci sia l'ultimo comando che si vuole eseguire senza avviare alcun desktop manager. Nel nostro caso l'ultima riga è
firefox -chrome chrome://chiosco/content/ADT-test.xul

Come appare il desktop agli studenti:

Il Browser viene avviato direttamente al link dell'applicativo


Viene chiesta conferma prima di uscire dal test


Viene chiesta conferma prima di riavviare il test


Un simpatico giochetto:
scrivete nella barra degli indirizzi di firefox
chrome://browser/content/browser.xul

e' lo xul che disegna l'interfaccia di firefox!!!

Documentazione online:




Ing. Nerio Da Canal
nerio@nerio.it
nerio@adt.unipd.it
adtman@adt.unipd.it