domenica 1 settembre 2013

Display per atrio scolastico con jQuery e Phantomjs

Nella mia scuola il display posto nell'atrio mostra a rotazione pagine informative sugli eventi scolastici inframezzate da pagine prese da internet (ultime notizie...)

Per ottenere questo, tempo fa avevo scritto un piccolo programma con AutoIT che in buona sostanza si incaricava di aprire Firefox e di simulare la digitazione dei diversi URL da visitare: lo script ha funzionato a dovere per parecchi anni ma il passaggio da una schermata all'altra non era particolarmente fluido.
Quest'anno ho deciso dunque di cambiare approccio e  di utilizzare uno "slider", ovvero una serie di immagini che vengono fatte scorrere una dopo l'altra grazie a jQuery.
L'ispirazione mi è venuta leggendo "Realizzare uno slider Nivo con jQuery", che ho provveduto ad implementare nel mio CMS preferito: Plone.
Siccome il display scolastico necessita di schermate prese "in tempo reale" da internet, ho dovuto cercare di qualcosa che "fotografasse" ad intervalli regolari diversi siti e li rendesse disponibili come immagini al mio slider.
Ho trovato in Phantomjs il programma che mi mancava: questo piccolo gioiello fa screenshot installandolo su anche su macchine che non hanno un server grafico installato (è il caso del server scolastico)!
Ho dunque scritto un piccolo script da eseguire con Cron che ogni 10 minuti cattura gli screenshot dei siti da mettere in galleria; l'unica modifica allo slider jQuery è stata l'introduzione di una riga che fa aggiornare la cache del browser in modo da mostrare sempre l'ultima versione delle immagine "catturate".
Il risultato l'ho reso disponibile all'indirizzo http://www.isisiromero.gov.it/slider ed utilizzato nel display posto nell'atrio della scuola.
Il calendario degli eventi è gestito con Google calendar ma la visulizzazione "catturata" dallo slider è affidata al javascript Fullcalendar che ho integrato in Plone nella pagina www.isisromero.gov.it/agenda_lavagna.
Non si tratta probabilmente di una best practice ma.... funziona!

2 commenti:

  1. Grande Fabrizio, sei bravissimo!
    peccato che perseveri con plone :(

    RispondiElimina
    Risposte
    1. Il metodo è applicabile a qualunque CMS e anche ai siti statici!
      Quanto a Plone, credo sia giusto mantenerlo rappresentato tra i CMS scolastici: è davvero ben fatto e in futuro gli hosting potrebbero diventare concorrenziali.

      Elimina