Author
alessandro-capra
View
3.101
Download
0
Embed Size (px)
DESCRIPTION
Presentazione alla
CREARE DISTRIBUZIONI CON DRUPAL
di Alessandro Capra
2Creare distribuzioni con Drupal
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
3Creare 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)
4Creare 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)
5Creare distribuzioni con Drupal
Utilizzo dei profiles
http://drupal.org/project/Installation+profileshttp://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
6Creare 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
7Creare distribuzioni con Drupal
Openatrium - www.openatrium.com
Distribuzione per creare un sistema intranet di collaborazione
8Creare distribuzioni con Drupal
Managingnews - www.managingnews.com
Integra un aggregatore di risorse esterne con la geolocalizzazione
9Creare distribuzioni con Drupal
Legal aid websites - www.legalaidtech.org
Permette di creare facilmente un sito di assistenza legale
Faq, gloassario, collaborazione ed assistenza
10Creare 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
11Creare distribuzioni 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)
Perché creare una distribuzione con drupal?
12Creare 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
13Creare 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)
14Creare 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
15Creare 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.
16Creare 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
17Creare distribuzioni con Drupal
Context http://drupal.org/project/context
Permette di definire contestuali azioni e reazioni per parti del sito
(compatibile con features)
18Creare 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.
19Creare 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
20Creare 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
21Creare distribuzioni con Drupal
Creare distribuzioni con Drupal
22Creare 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
23Creare distribuzioni con Drupal
Flusso dati
24Creare distribuzioni con Drupal
Workflow su openatrium
http://drupal.org/node/558378#comment-2552064
Patch che rende compatibile workflow con features
25Creare distribuzioni con Drupal
Tipi di contenuto e form online
http://drupal.org/project/multistep
http://drupal.org/project/cck
http://drupal.org/project/location
http://openatrium.com/build_a_feature
http://drupal.org/project/vote_up_down
http://drupal.org/project/votingapi
26Creare distribuzioni con Drupal
Infrastruttura
http://groups.drupal.org/node/50408
http://getpantheon.com/mercury/technical-info
27Creare distribuzioni con Drupal
Modello di deploy
28Creare 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”