Creare distribuzioni con drupal

Post on 18-Dec-2014

3.102 views 0 download

description

Presentazione alla

Transcript of Creare distribuzioni con drupal

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”

29Creare distribuzioni con Drupal

Creare distribuzioni con Drupal

Fine

alessandrocapra@gmail.comwww.twitter.com/caprowsky