Transcript
Page 1: Creare distribuzioni con drupal

CREARE DISTRIBUZIONI CON DRUPAL

di Alessandro Capra

Page 2: Creare distribuzioni con drupal

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

Page 3: Creare distribuzioni con drupal

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)

Page 4: Creare distribuzioni con drupal

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)

Page 5: Creare distribuzioni con drupal

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

Page 6: Creare distribuzioni con drupal

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

Page 7: Creare distribuzioni con drupal

7Creare distribuzioni con Drupal

Openatrium - www.openatrium.com

Distribuzione per creare un sistema intranet di collaborazione

Page 8: Creare distribuzioni con drupal

8Creare distribuzioni con Drupal

Managingnews - www.managingnews.com

Integra un aggregatore di risorse esterne con la geolocalizzazione

Page 9: Creare distribuzioni con drupal

9Creare distribuzioni con Drupal

Legal aid websites - www.legalaidtech.org

Permette di creare facilmente un sito di assistenza legale

Faq, gloassario, collaborazione ed assistenza

Page 10: Creare distribuzioni con drupal

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

Page 11: Creare distribuzioni con drupal

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?

Page 12: Creare distribuzioni 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

Page 13: Creare distribuzioni con drupal

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)

Page 14: Creare distribuzioni con drupal

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

Page 15: Creare distribuzioni con drupal

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.

Page 16: Creare distribuzioni con drupal

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

Page 17: Creare distribuzioni con 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)

Page 18: Creare distribuzioni con drupal

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.

Page 19: Creare distribuzioni con drupal

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

Page 20: Creare distribuzioni con drupal

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

Page 21: Creare distribuzioni con drupal

21Creare distribuzioni con Drupal

Creare distribuzioni con Drupal

Page 22: 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

Page 23: Creare distribuzioni con drupal

23Creare distribuzioni con Drupal

Flusso dati

Page 24: Creare distribuzioni con drupal

24Creare distribuzioni con Drupal

Workflow su openatrium

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

Patch che rende compatibile workflow con features

Page 25: Creare distribuzioni con drupal

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

Page 26: Creare distribuzioni con drupal

26Creare distribuzioni con Drupal

Infrastruttura

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

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

Page 27: Creare distribuzioni con drupal

27Creare distribuzioni con Drupal

Modello di deploy

Page 28: Creare distribuzioni con drupal

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”

Page 29: Creare distribuzioni con drupal

29Creare distribuzioni con Drupal

Creare distribuzioni con Drupal

Fine

[email protected]/caprowsky


Recommended