15 Settembre, 2012 | Di

Diventa un Drupal Ninja - Parte 3

Diventa un Drupal Ninja - Parte 3

Per un web developer che decide di lavorare continuativamente con Drupal c’è un una seccatura: la ripetitività di alcune operazioni preliminari. Scaricare il core e un set di moduli., quasi sempre gli stessi. Infatti ci sono alcuni moduli che fanno parte integrante di ogni progetto: pensiamo a Views, Pathauto, Xmlsitemap o Jquery UI.

Drush ci viene in aiuto con una sua estensione: Drush Make. Questa estensione ci permette di installare un sito con un set di moduli già precaricati e pronti per essere attivati.

Non dobbiamo fare altro che creare un file a cui daremo estensione .make e in cui inseriremo:

; La versione del core da utilizzare
; ------------
core = 7.x
 
; La versione delle API utilizzate da Drush
; ------------
api = 2
 
; La versione del Core che intendiamo utilizzare
; ------------
projects[drupal][version] = 7
 
; L’elenco dei Moduli che vogliamo pre caricare
; --------
projects[nome_modulo][version] = 1.0
projects[nome_modulo]][type] = "module"

Poi da shell lanciamo

drush make mioprofiloinstallazione.make

A questo punto avremo il core e i moduli preferiti pronti per essere attivati.

C’è un ulteriore tool che semplifica la creazione del file .make: sul sito http://drushmake.me abbiamo un’iterfaccia grafica molto semplice che ci permette di scegliere quali moduli, temi o librerie includere e creare il nostro profilo di installazione personalizzato. Il file poi lo avremo sempre disponibile.

Nulla ci vieta di utilizzare Drush Make unitamente a Features per importare già nella fase dell’installazione entità e componenti custom precedentemente creati. Stesso discorso vale per eventuali moduli custom. L’unica accortezza è averli caricati precedentemente in qualche repository pubblico tipo github, bitbucket, launchpad oppure in uno nostro privato.

Ecco un esempio di sintassi da usare:

projects[mio_modulo][download][type] = "module"
projects[mio_modulo][download][url] = "git://github.com/mio_account/mio_progetto.git"