29 Dicembre, 2011 | Di

Diventa un Drupal Ninja - parte 1

Diventa un Drupal Ninja - parte 1

Arrivato alla versione 4.5 Drush è uno di quegli strumenti che si rendono indispensabili nella realizzazione e gestione di un sito Drupal. Lo scopo principale del progetto Drush è quello di fornire una serie di comandi eseguibili direttamente dalla shell. Svuotare la cache, scaricare e installare un modulo o fare il backup del sito sono alcuni esempi di quello che Drush può fare; ovviamente i moduli possono integrare la già corposa lista di comandi del core di Drush con nuove funzionalità. Tutto quello di cui abbiamo bisogno è l'accesso alla shell del server (locale o remoto) su cui abbiamo caricato il sito. Drush non è un modulo Drupal, anche se lo si può scaricare dalla sezione modules del sito drupal.org, all'indirizzo: http://drupal.org/project/drush. Non essendo un modulo non è legato ad una specifica versione del core di Drupal, il consiglio quindi è quello di scaricare l'ultima versione disponibile, la 7.x-4.5, sia che si abbia un sito in Drupal 7 che in Drupal 6 (gli esempi che seguiranno sono basati su Drupal 7). Una volta scaricato e decompresso il pacchetto si può copiare la cartella "drush" dove meglio si crede sul proprio hard-disk; una buona posizione può essere /usr/local/drush, l'importante poi è creare un link simbolico all'eseguibile di drush (/usr/local/drush/drush, nel nostro caso) nella cartella /usr/bin, in modo da poterlo poi richiamare da qualsiasi posizione (ln -s /usr/local/drush/drush /usr/bin/drush). Per verificare che l'installazione e il link funzionino a dovere è sufficiente posizionarsi all'interno della cartella radice di un qualsiasi sito Drupal (allo stesso livello del file index.php) e lanciare il comando $ drush status che fornisce una vista d'insieme dello stato della nostra installazione, tra cui la versione del core, i dati di connessione al database, il tema in uso e molto altro. Vediamo ora una panoramica dei comandi più utili di Drush seguendo lo sviluppo di un sito Drupal. La prima cosa da fare è scaricare l'ultima versione del core di Drupal, operazione che tipicamente comprende l'andare su drupal.org, cercare il pacchetto corretto, scaricarlo sul proprio computer e decomprimere il file all'interno della cartella gestita dal webserver. Utilizzando Drush tutto è più semplice e veloce, basta posizionarsi all'interno della cartella desiderata e digitare il comando  $ drush dl drupal e dopo pochi secondi (o minuti, dipende dalla propria connessione Internet) si ottiene una cartella denominata drupal-7.10, contente il core dell'ultima versione di Drupal. Come tutto questo è stato possibile? Analizziamo nel dettaglio il comando che abbiamo eseguito, drush è il nome dell'eseguibile, che non fa altro che localizzare la versione corretta dell'eseguibile php e lanciare lo script drush.php. Il comando che stiamo chiedendo di eseguire a Drush è dl ossia l'alias per download, quasi tutti i comandi Drush hanno infatti una versione estesa e un alias più corto e veloce da digitare, la prima è utile negli script in quanto è più semplice capire cosa fa un comando se è scritto per esteso, la seconda è invece preferibile quando si digitano i comandi a mano direttamente da riga di comando. Infine drupal è il nome del pacchetto che vogliamo scaricare da drupal.org (in questo caso il core); non specificare la versione suggerisce a Drush di prendere l'ultima stabile disponibile. A questo punto entriamo nella cartella drupal-7.9 e lanciamo il comando: $ drush si --db-url=mysql://root:root@localhost/drupal --db-su=root --db-su-pw=root --account-name=admin --account-pass=123456 --account-mail=test@miosito.it --site-name="Mio sito" --site-mail=test@miosito.it si sta per site-install, mentre i parametri successivi hanno questo significato: --db-url: è la stringa di connessione al database --db-su: nome utente di un utente di MySQL con i privilegi per creare database --db-su-pw: password di un utente di MySQL con i privilegi per creare database --account-name: nome dell'utente con uid=1 --account-pass: password dell'utente con uid=1 --account-mail: mail dell'utente con uid=1 --site-name: nome del sito --site-mail: mail del sito Non dobbiamo stupirci del numero di parametri richiesti da site-install (in realtà molti dei quali sono opzionali in quanto hanno un valore di default), anche seguendo l'installazione via browser Drupal ci chiede queste stesse informazioni. Sappiamo bene che un sito Drupal con solo il core non possiede quasi nessuna funzionalità, giunge quindi prima o poi il momento di installare qualche nuovo modulo. Anche in questo caso di può andare su drupal.org e fare tutta la procedura a mano oppure avvalersi di Drush, nella stesso modo usato per il core; ad esempio se ci serve il modulo views possiamo digitare: $ drush dl views oppure: $ drush dl views token pathauto per avere all'interno della nostra cartella sites/modules i moduli views, token e pathauto! Drush segue lo standard de facto per l'organizzazione dei moduli, infatti se abbiamo creato una cartella contrib all'interno di sites/all/modules, tutti i moduli scaricati da Drush finiranno direttamente li (mentre custom contiene i nostri moduli e features le feature che abbiamo creato o scaricato). Solo scaricare un modulo però non è sufficiente, per installarlo usiamo il comando:  $ drush en views che usa en (alias di enable) per installare il modulo, esattamente come se lo avessimo scelto dalla pagina di configurazione dei moduli. Fatto questo è sempre bene svuotare la cache, usando il comando: $ drush cc all mediante il quale facciamo un clear-cache (abbreviato in cc) di tutte le cache di Drupal. Alternative a all sono, ad esempio, theme registrymenu o il comodo css+js per ricostruire i file aggregati di css e javascript. Se abbiamo bisogno di una specifica versione di un modulo possiamo scrivere: $ drush dl boost-1.x-dev per ottenere, ad esempio, la versione 1.x-dev di boost. Se Drush si accorge che il modulo che stiamo installando ha delle dipendenze da un altro modulo non presente ci chiederà se vogliamo scaricarlo e installarlo prima di installare quello richiesto.

Nel prossimo articolo faremo una panoramica completa dei comandi Drush più utili e come usarli al meglio.

Diventa un Drupal Ninja - Parte 2

Diventa un Drupal Ninja - Parte 3