2. Punti di forza di Drupal
È Open source (GNU GPL 2 license)
Nasce come CMS ma è (quasi) un framework
Base di sviluppatori molto vasta ed attiva
Enorme quantità di moduli disponibile per le più diverse
funzionalità
Sistema di theming molto flessibile e potente
Ottima piattaforma per SEO
Ampia documentazione centralizzata su drupal.org
2
Creare distribuzioni con Drupal
3. Punti di debolezza di Drupal
Curva di apprendimento elevata
Non ha la stessa diffusione dei suoi diretti concorrenti
Non sono diffusi i marketplace di plugin (vedi joomla)
3
Creare distribuzioni con Drupal
4. Utilizzo dei profiles
Dalla versione 5.x sono disponibili i profiles attraverso i
quali in fase di installazione è possibile:
- Attivare moduli e temi
- Personalizzare molti elementi di configurazione (nome,
logo, menu, tipi di contenuto etc)
4
Creare distribuzioni con Drupal
5. Utilizzo dei profiles
http://drupal.org/project/Installation+profiles
http://groups.drupal.org/distributions
81 distribuzioni (aprile 2010) disponibili su drupal.org
Acquia: distribuzione mantenuta dalla omonima società
del creatore di drupal
Openatrium: sistema intranet
Managing news: sistema di aggregazione dati via feed
visualizzabili su mappe
Bitnami: per creare un blog
5
Creare distribuzioni con Drupal
6. Acquia - www.acquia.com
Forniscono servizi di assistenza attraverso l'acquia network (search, avvisi di sicurezza,
mollom, best practices
Hosting, servizi professionali, migrazioni, integrazioni con applicazioni enterprise
Drupalgardens
6
Creare distribuzioni con Drupal
7. Openatrium - www.openatrium.com
Distribuzione per creare un sistema intranet di collaborazione
7
Creare distribuzioni con Drupal
9. Legal aid websites - www.legalaidtech.org
Permette di creare facilmente un sito di assistenza legale
Faq, gloassario, collaborazione ed assistenza
9
Creare distribuzioni con Drupal
10. Perché creare una distribuzione con drupal?
Salire sulle spalle del
gigante... che è già
salito sulle spalle di
un altro gigante
- Modello di business
orientato all'assistenza
verso un prodotto
- Solidità su cui basare il
proprio codice
- Possibilità di orientare la
propria offerta
10
Creare distribuzioni con Drupal
11. Perché creare una distribuzione con drupal?
È facile (programma meno, pensa al risultato)
È economico (molto è già stato scritto, usa e condividi il tuo
prodotto)
È sicuro (il tuo progetto è basato su una comunità viva)
È facile da mantenere (strumenti di aggiornamento semplici)
11
Creare distribuzioni con Drupal
12. Strumenti per lo sviluppo
Drush http://drupal.org/project/drush
Drush make http://drupal.org/project/drush_make
Features http://drupal.org/project/features
Context http://drupal.org/project/context
Spaces http://drupal.org/project/spaces
Strongarm http://drupal.org/project/strongarm
Aegir http://groups.drupal.org/hostmaster2
12
Creare distribuzioni con Drupal
13. Drush http://drupal.org/project/drush
Drush è una command line shell e Unix scripting interface per
Drupal.
Per essere usata necessita di avere accesso ssh alla macchina
È il “coltellino svizzero” dello sviluppatore.
Permette di ridurre i tempi di esecuzione di molte operazioni
drush cc (clear cache)
drush dl nomeprogetto (scaricare e scompatta il
modulo da cvs.drupal.org)
rsync /path/to/drupal/ /path/to/drupal/
(sincronizza due dir via ssh)
sql-sync (sincronizza due db)
13
Creare distribuzioni con Drupal
14. Drush make http://drupal.org/project/drush_make
È una estensione di drush che permette di creare
un sito pronto all'uso recuperando le risorse
da varie sorgenti.
;$Id: test.make,v 1.0.8 06/05/2010 18:15:00 alessandrocapra Exp $
core = 6.x
projects[] = drupal
; Contrib projects
projects[boxes][subdir] = "contrib"
projects[boxes][version] = "1.0-beta2"
Permette inoltre di applicare patch o scaricare
librerie da fonti esterne
14
Creare distribuzioni con Drupal
15. Features http://drupal.org/project/features
Permette di registrare su files le
configurazioni presenti nel db
La features modules che registra la
configurazione al pari dei moduli può
essere verificato, aggiornato e fatto il
revert.
15
Creare distribuzioni con Drupal
16. Features server
Con drush make
projects[fserver][location] = http://code.developmentseed.org/fserver
http://developmentseed.org/blog/2009/jun/24/distributed-feature-servers-drupal
16
Creare distribuzioni con Drupal
17. Context http://drupal.org/project/context
Permette di definire contestuali azioni e reazioni per parti del sito
(compatibile con features)
17
Creare distribuzioni con Drupal
18. Space http://drupal.org/project/spaces
Permette di circoscrivere entro specifici spazi le
configurazioni di drupal che altrimenti sarebbero valide
per tutto il sito.
18
Creare distribuzioni con Drupal
19. Strongarm http://drupal.org/project/strongarm
Permette l'override dei
valori di default delle
variabili del core e dei
moduli
In congiunzione con
features permette di
estrarre dal db la
maggior parte delle
configurazioni
http://developmentseed.org/blog/2009/dec/04/strongarm-2-leaner-and-meaner
19
Creare distribuzioni con Drupal
20. Aegir http://groups.drupal.org/hostmaster2
È una installazione drupal che permette di gestire siti.
È un potente strumento per il change management
Permette il clone, migrate, backup e revert
Il concetto base su Aegir è la PLATFORM
La PLATFORM è la base del codice condiviso da più siti
È un potente strumento per le figure commerciali che possono creare al volo siti per i
propri clienti
20
Creare distribuzioni con Drupal
22. Migrazione: da drupal 5 core + moduli a openatrium
Disabilitare tutti i moduli contributi
Eseguire l'upgrade alla 6.x come da procedura [ http://drupal.org/node/340073 ]
Sostituire i moduli 5.x con le rispettive versioni 6.x
Scaricare openatrium e aggiungere i moduli openatrium
Abilitare progressivamente i moduli dando priorità a quelli che gestiscono i contenuti (cck)
Abilitare le features di openatrium
22
Creare distribuzioni con Drupal
23. Flusso dati
23
Creare distribuzioni con Drupal
24. Workflow su openatrium
http://drupal.org/node/558378#comment-2552064
Patch che rende compatibile workflow con features
24
Creare distribuzioni con Drupal
25. Tipi di contenuto e form online
http://drupal.org/project/cck
http://drupal.org/project/multistep
http://drupal.org/project/location
http://openatrium.com/build_a_feature
http://drupal.org/project/votingapi
http://drupal.org/project/vote_up_down
25
Creare distribuzioni con Drupal
26. Infrastruttura
http://getpantheon.com/mercury/technical-info
http://groups.drupal.org/node/50408
26
Creare distribuzioni con Drupal
28. Conclusioni
Poco sviluppo vuol dire avere molto tempo per concentrarsi sulle reali
esigenze del cliente e dell'utente finale
Riduce i tempi dei rilasci
Favorisce l'interazione con il cliente
Nell'abito dell'ente attuatore, le features create possono essere riusate
per altri progetti
Si abbattono notevolmente i costi
Favorisce la cooperazione con altri enti pubblici che possono riusare le
features e partire da una “distribuzione”
28
Creare distribuzioni con Drupal
29. Creare distribuzioni con Drupal
Fine
alessandrocapra@gmail.com
www.twitter.com/caprowsky
29
Creare distribuzioni con Drupal