10 domande

E’ da poco più di una settimana on-line 10 domande un sito in cui è possibile proporre una video-domanda ai candidati premier alle prossime elezioni politiche 2008. I video inviati possono essere votati da tutti e i 10 più votati verranno sottoposti ai candidati.

Il sito, realizzato da Elastic di cui sono A.D. e direttore tecnico, si ispira a quella analoga realizzata per le primarie degli stati uniti: 10 questions anche se differisce da essa soprattutto dal punto di vista tecnico.

Ed è proprio degli aspetti tecnici e dei tempi di realizzazione che voglio parlare in questo mio post.

Da quando sono in Elastic, mi sono imposto di non inventare l’acqua calda, gli scaldabagno e i boiler funzionano egregiamente ed assolvono in modo perfetto al loro compito. Per questo, occupandomi di comunicazione su internet e quindi (tradotto in strumenti) di siti web, una delle prime scelte è stata quella di una piattaforma rigorosamente open-source che potesse offrire una base di partenza per (quasi) tutte le esigenze e le idee (a volte pazze) partorite da Nicola Mattina e che praticamente sempre debbono avere un tempo di realizzazione pressoché uguale a quello di ideazione (e vaglielo a spiegare che non è proprio la stessa cosa…).

La piattaforma cms che abbiamo deciso di utilizzare è Drupal nella sua versione 5. In effetti è da poco uscita la versione 6 ma la reputo ancora troppo “immatura” e priva di quei moduli che di fatto sono diventati un must (come ad esempio views).

Per la realizzazione di questo progetto (e sempre rispettando gli inventori dell’acqua calda), oltre ai moduli core presenti nel cms, abbiamo utilizzato anche:

  • CCK: Content, Embed Media Field, Embed Video field (modificato da noi per permettere l’instant preview del video)
  • Captcha e Image Captcha
  • Vote up-down (modificato da noi per integrarsi con captcha e per estendere i meccanismi di votazione ajax)
  • Forward
  • Service Links
  • Share
  • Tagadelic
  • Views
  • Views-bonus (modificando la grid-view per gestire l’intero nodo come singolo field in visualizzazione teaser o full)

Il resto è tema e molto javascript (spesso completamente riscritto rispetto a quello fornito dai suddetti moduli) utilizzato per massimizzare l’uso di AJAX all’interno del sito (prevalentemente per la gestione delle votazioni e il corretto refresh dei widget).

Qualcuno potrebbe obiettare che non è nella filosofia di Drupal modificare un modulo. Io dico “dipende”. Se la modifica lo arricchisce senza snaturare il “modus-operandi” previsto dal suo ideatore io sono convinto del contrario: è cosa buona e giusta modificarlo.

In ogni caso, l’adozione di Drupal esteso dai suddetti moduli, ci ha permesso di iniziare disponendo di un semi-lavorato abastanza “vicino” alle esigenze dettate dai requisiti (in parte ereditati da 10 questions ma spesso frutto di lunghe riunioni tra me Nicola e Glauco).

Dovendo realizzare solamente le modifiche del caso, siamo riusciti nell’impresa di produrre “from-scratch” il sito (avendo anche l’onere di dover erigere tutto l’ambiente di esercizio applicativo, di sistema e di rete) in soli 5 giorni (e un paio di notti….) dei quali 3 per realizzare le funzionalità e quasi 4 per gestire le incompatibilità tra browser (con buona pace del rispetto degli standard e dei relativi test di compatibilità).

A parte un piccolo bug iniziale (subito sfruttato dai furbacchioni per adoperarsi in quella che spesso in parlamento è prassi e cioè la votazione multipla – arrivando ad autovotarsi anche 25 volte in un minuto) non abbiamo (ancora) riscontrato grandi defiances.

L’ambiente di esercizio utilizzato è una macchina virtuale Amazon su cui abbiamo installato una AMI preconfezionata con una Gutsy Gibbon Ubuntu.

La macchina è essenzialmente un server LAMP con Apache 2, MySql 5 e PHP 5 che abbiamo tirato su in un paio di ore io e Glauco su cui abbiamo poi effettuato il deploy di Drupal e del Database (un’altra oretta).

Sono abbastanza soddisfatto del risultato tecnico e sono sorpreso dalla rapidità con cui abbiamo realizzato il tutto (merito di Drupal o nostro?)….

Una risposta a “10 domande

  1. Pingback: Nicola Mattina Blog » Blog Archive » 10domande: i problemi di voto

Lascia un commento