talk di Matteo Cevese & Eugenio Minardi | Drupal Day Roma 2011
"Il talk prenderà in esame la recente migrazione dei siti di collaborazione online dell'ecosistema EAI (European Alliance for Innovation) http://eai.eu realizzati in Worpress/Open Atrium ad un'unica installazione Drupal.
Verranno illustrate l' uso di Drupal come content management framework ed il processo di sviluppo partito dai wireframe per studiare la user experience fino alla progettazione con l'uso di Features suddividendo lo sviluppo in più fasi per velocizzare la messa on-line e successive funzionalità. Verrà mostrato come Drupal funzioni anche su sistemi non LAMP (Nginx e Postgresql)."
Drupal Day 2011 - Drupal per la ricerca, il caso EAI
1. Drupal per la Ricerca - il Caso EAI
Matteo Cevese [EAI] - Eugenio Minardi [Wellnet]
2. Empowering the Innovation Community
Cosa Chi
Tutte le organizzazioni che
Un movimento che unisce
hanno a che fare con
diverse comunità per
l’innovazione: pubbliche
promuovere l’innovazione in
amministrazioni, industria, enti
diversi settori che fanno uso
di ricerca e chi ha interesse
dell’ICT
nell’innovazione
Fornendo alla comunità
occasioni di incontro e scambio
di idee sia virtualmente con il Riformare le politiche europee e
portale e gli strumenti online l’evoluzione sociale attraverso
EAI sia fisicamente attraverso l’innovazione
Summits, conferenze ed eventi
di networking
Come Perchè
3. Che cosa avevamo?
1/3 Sito istituzionale in Wordpress
• Circa 350 posts
• Circa 50 pagine
• Nessuna gerarchia tra i contenuti
• Nessun workflow e ruoli personalizzati con permessi
• Template “hardcoded”
• Una sidebar
• Nessun tipo di “vista”
• Puro HTML ovunque per ogni cosa
8. Che cosa avevamo?
2/3 Sito Community in Drupal - open atrium
• Struttura ad “intranet”
• Grafica differente dal sito istituzionale
• Nessuna funzionalità “social”
• Fortemente orientato alla collaborazione (come da “natura” di OA)
• Più semplicemente: non faceva quello che noi volevamo
9. Che cosa avevamo?
3/3 Sito Summits in Drupal COD (Conference Organiser)
• Sito per conferenze
• Grafica differente
• Nessuna funzionalità “social” e nessuna integrazione con community
• “Stand-alone” - installazione da replicare per ogni summit
• Più semplicemente: non faceva quello che noi volevamo
17. Perchè lo abbiamo fatto? Perché con Drupal?
1. Open Source: sappiamo cosa “compriamo”, ed è anche a costo inferiore!
18. Perchè lo abbiamo fatto? Perché con Drupal?
1. Open Source: sappiamo cosa “compriamo”, ed è anche a costo inferiore!
2. Aggiornamenti continui del core e dei moduli (relativi a sicurezza ed a nuove
funzionalità)
19. Perchè lo abbiamo fatto? Perché con Drupal?
1. Open Source: sappiamo cosa “compriamo”, ed è anche a costo inferiore!
2. Aggiornamenti continui del core e dei moduli (relativi a sicurezza ed a nuove
funzionalità)
3. Moduli già disponibili gratuitamente per fare praticamente tutto e...
20. Perchè lo abbiamo fatto? Perché con Drupal?
1. Open Source: sappiamo cosa “compriamo”, ed è anche a costo inferiore!
2. Aggiornamenti continui del core e dei moduli (relativi a sicurezza ed a nuove
funzionalità)
3. Moduli già disponibili gratuitamente per fare praticamente tutto e...
4. ...se non esistono li creiamo noi!
21. Perchè lo abbiamo fatto? Perché con Drupal?
1. Open Source: sappiamo cosa “compriamo”, ed è anche a costo inferiore!
2. Aggiornamenti continui del core e dei moduli (relativi a sicurezza ed a nuove
funzionalità)
3. Moduli già disponibili gratuitamente per fare praticamente tutto e...
4. ...se non esistono li creiamo noi!
5. Community! Se non sappiamo fare qualcosa, sicuramente c’è qualcuno che lo sa
fare, o molto probabilmente ha già scritto come farlo!
23. Perchè lo abbiamo fatto? Perchè con Drupal?
6. Minori vincoli con le Web Agency: si può sviluppare in parallelo. Se si hanno le
competenze si può fare quel che si vuole, quando si vuole e come si vuole
24. Perchè lo abbiamo fatto? Perchè con Drupal?
6. Minori vincoli con le Web Agency: si può sviluppare in parallelo. Se si hanno le
competenze si può fare quel che si vuole, quando si vuole e come si vuole
7. È una garanzia: aziende, sviluppatori e semplici appassionati hanno investito in
Drupal in ogni parte del mondo e...
25. Perchè lo abbiamo fatto? Perchè con Drupal?
6. Minori vincoli con le Web Agency: si può sviluppare in parallelo. Se si hanno le
competenze si può fare quel che si vuole, quando si vuole e come si vuole
7. È una garanzia: aziende, sviluppatori e semplici appassionati hanno investito in
Drupal in ogni parte del mondo e...
8. ... siamo in buona compagnia! La Casa Bianca, Symantec, Telecom Italia, The
Economist, Euractiv, alcuni siti del Governo Italiano e della Commissione Europea
26. Drupal sempre e comunque?
Drupal è un fantastico Content Management System (CMS) e Content Management
Framework (CMF), ma bisogna saper scegliere lo strumento adatto a ciò che serve
Quando è importante pensarci?
Alcuni esempi:
27. Drupal sempre e comunque?
Drupal è un fantastico Content Management System (CMS) e Content Management
Framework (CMF), ma bisogna saper scegliere lo strumento adatto a ciò che serve
Quando è importante pensarci?
Alcuni esempi:
• Se ci serve solo un blog o un mini-sito, perché non Wordpress o
Joomla! ?
• Se ci serve un sito medio / molto complesso ma non abbiamo
competenze, budget o risorse IT per sviluppare moduli e customizzare
come vorremmo
• Se vogliamo scegliere tra centinaia di templates a 40$ “out of the box”
e vogliamo avere un sito fantastico in 30 minuti
• Se odiamo il PHP più di ogni altra cosa al mondo!
29. Problemi di integrazione
Mantenere un’applicazione unica è più efficiente
n siti satelliti sparsi portano a: Centralizzando l’applicazione
• grafica non omogenea • grafica omogenea
• Nessuna funzionalità social • Contenuti facilmente relazionabili
• Difficile personalizzazione • Personalizzazione libera
• Difficoltà nella manutenzione e • Un “blocco” unico da gestire con la
tecnologie sparse stessa complessità e tecnologia
30. Dalla progettazione ad EAI
Cosa ci troviamo di fronte:
• Il cliente è esigente e molto competente a livello tecnologico
• Parte delle tecnologie sono proprietarie e sviluppate internamente
• Si usano linguaggi menu utilizzati nella norma (LISP)
• Si ha uno sviluppo graduale del progetto con obiettivi
predeterminati
31. Dalla progettazione ad EAI
Il nostro flusso di lavoro è stato:
• Dialogo con EAI
• Comprensione dei bisogni
• Analisi fianco a fianco con EAI
• Progettazione di User Experience, Wireframe e struttura dell’informazione
fatti su misura per Drupal
• Selezione degli strumenti più efficaci da utilizzare
• Implementazione con forte propensione al team working
32. Le sfide incontrate e risolte
Integrazione con Lisperator e PostgreSQL:
• Software proprietario sviluppato internamente in LISP
• Tecnologia non comune nella community Drupal
• Gestione degli utenti e dei contenuti centralizzata
• Utilizzo di PostgreSQL lato Drupal
33. Sviluppo e Rilascio a Fasi Indipendenti
Il progetto non è stata pensato monolitico ma
suddiviso in 3 fasi distinte
37. Come è stato possibile un rilascio a fasi?
Sono stati utilizzati due strumenti principali:
1. Per poter lavorare in un team di lavoro distribuito e per fare in
modo che anche il cliente abbia accesso diretto al codice è stato
introdotto l’uso del software di versionamento GIT
2. Features è uno strumento (sotto forma di modulo) che ci permette
di di isolare dei gruppi di entità appartenenti alla struttura di Drupal
e raccoglierli in un pacchetto che può essere replicato ed installato
su diverse istanze di Drupal.
38. Come è stato possibile un rilascio a fasi?
L’uso di Features e GIT ci ha permesso:
• Modifiche atomiche e sempre allineate
• Differenziare i compiti di ogni features
• Lavorare in team su parti specifiche dell’applicazione senza
influenzare le altre parti e quindi gli altri sviluppatori
• Sito sempre online anche durante le modifiche (con alcune piccole
eccezioni)
39. Matteo Cevese
Web Project Manager
http://www.create-net.org
http://www.eai.eu
matteo.cevese@create-net.org