SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
CREARE DISTRIBUZIONI CON DRUPAL




                     di Alessandro Capra
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
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
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
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
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
Openatrium - www.openatrium.com




           Distribuzione per creare un sistema intranet di collaborazione




                                                                                            7
                                                          Creare distribuzioni con Drupal
Managingnews - www.managingnews.com




         Integra un aggregatore di risorse esterne con la geolocalizzazione




                                                                                            8
                                                          Creare distribuzioni con Drupal
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
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
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
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
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
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
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
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
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
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
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
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
Creare distribuzioni con Drupal




                                                                    21
                                  Creare distribuzioni con Drupal
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
Flusso dati




                                                23
              Creare distribuzioni con Drupal
Workflow su openatrium




       http://drupal.org/node/558378#comment-2552064

       Patch che rende compatibile workflow con features




                                                                                             24
                                                           Creare distribuzioni con Drupal
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
Infrastruttura




                 http://getpantheon.com/mercury/technical-info

                 http://groups.drupal.org/node/50408




                                                                              26
                                            Creare distribuzioni con Drupal
Modello di deploy




                                                      27
                    Creare distribuzioni con Drupal
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
Creare distribuzioni con Drupal




                                  Fine




                                         alessandrocapra@gmail.com
                                         www.twitter.com/caprowsky

                                                                                 29
                                               Creare distribuzioni con Drupal

Contenu connexe

Similaire à Creare distribuzioni con drupal

Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziareSalvatore Paone
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3labnois3lab
 
Presentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal ItaliaPresentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal ItaliaMarcello Testi
 
Drupal
DrupalDrupal
DrupalNaLUG
 
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupalDay
 
Introduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itIntroduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itFabio Ros
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...Vincenzo Di Biaggio
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerRoberto Messora
 
Il CMS Alfresco
Il CMS AlfrescoIl CMS Alfresco
Il CMS Alfrescoleo mirco
 
Drupal 4 stakeholder
Drupal 4 stakeholderDrupal 4 stakeholder
Drupal 4 stakeholderbmeme
 
Drupal in the Cloud
Drupal in the CloudDrupal in the Cloud
Drupal in the CloudTwinbit
 
[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 StakeholdersDrupalDay
 
Introduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaIntroduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaGiovanni Buffa
 
Introduzione CMS Alfresco
Introduzione CMS AlfrescoIntroduzione CMS Alfresco
Introduzione CMS AlfrescoMirco Leo
 
Pregi e difetti dei principali CMS Open Source
Pregi e difetti dei principali CMS Open SourcePregi e difetti dei principali CMS Open Source
Pregi e difetti dei principali CMS Open Sourcenois3
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...DrupalDay
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...bmeme
 

Similaire à Creare distribuzioni con drupal (20)

Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3lab
 
Presentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal ItaliaPresentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal Italia
 
Drupal
DrupalDrupal
Drupal
 
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Introduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itIntroduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.it
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
 
Google google drive_google4appeducation
Google google drive_google4appeducationGoogle google drive_google4appeducation
Google google drive_google4appeducation
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker Container
 
Il CMS Alfresco
Il CMS AlfrescoIl CMS Alfresco
Il CMS Alfresco
 
Drupal 4 stakeholder
Drupal 4 stakeholderDrupal 4 stakeholder
Drupal 4 stakeholder
 
Drupal in the Cloud
Drupal in the CloudDrupal in the Cloud
Drupal in the Cloud
 
[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders
 
Introduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaIntroduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione Italiana
 
Introduzione CMS Alfresco
Introduzione CMS AlfrescoIntroduzione CMS Alfresco
Introduzione CMS Alfresco
 
Pregi e difetti dei principali CMS Open Source
Pregi e difetti dei principali CMS Open SourcePregi e difetti dei principali CMS Open Source
Pregi e difetti dei principali CMS Open Source
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
 

Dernier

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 

Dernier (6)

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 

Creare distribuzioni con drupal

  • 1. CREARE DISTRIBUZIONI CON DRUPAL di Alessandro Capra
  • 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
  • 8. Managingnews - www.managingnews.com Integra un aggregatore di risorse esterne con la geolocalizzazione 8 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
  • 21. Creare distribuzioni con Drupal 21 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
  • 27. Modello di deploy 27 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