Moduli per sviluppatori

Strumenti Drupal per sviluppatori: moduli per lo sviluppo di Drupal

Per sviluppare un modulo Drupal è necessario conoscere il linguaggio PHP, il funzionamento base del CMS e della sua API, le logiche del database ed un buon editor di testo. Esistono però dei moduli aggiuntivi per semplificare e migliorare il processo di sviluppo dei moduli ed anche dei template.

Moduli per sviluppatori

Devel

Il modulo di supporto principale alla programmazione ed allo sviluppo per Drupal è sicuramente il modulo Devel. Questo modulo per Drupal aggiunge utili funzioni per il debugging, per l'analisi delle performance ed anche per verificare le policy di accesso ai nodi.

Grazie a dei metodi specifici come dsm(), kpr() o dargs(), ed alla libreria krumo, lo sviluppatore Drupal è in grado di stampare informazioni di debug molto più comprensibili rispetto a quanto fatto dai classici metodi per il debug di script PHP. Esistono anche altri metodi per il debug di applicazioni Drupal, come FirePHP o Drupal for Firebug, che però hanno bisogno di specifiche estensioni Firefox per funzionare e qualche piccolo accorgimento.

Con il modulo Devel si possono visualizzare, contestualmente ad ogni singola pagina, tutte le query eseguite da Drupal ed i tempi di esecuzione, così da poter rilevare eventuali rallentamenti dovuti ad una errata programmazione dell'accesso e della gestione dei dati.

Il modulo Devel rende anche possibile l'analisi dei permessi di accesso ai nodi grazie a dei blocchi informativi che possono essere usati per tale scopo.

Sempre per la fase di test, il modulo Devel aiuta il programmatore o il web designer generando nodi e popolandone i campi, aggiungendo termini o creando utenti di prova. Una semplice procedura batch può inserire nel sito una grande quantità di dati di esempio, così da poter analizzare il funzionamento dei moduli, le performance del sistema o testare il layout.

Infine, il modulo Devel ha anche altre funzionalità molto utili durante lo sviluppo Drupal:

  • permette l'esecuzione di script PHP direttamente dall'interfaccia di Drupal
  • offre una interfaccia web per la modifica delle variabili del sistema
  • crea dei link rapidi per svuotare le cache, eseguire il processo cron o aggiornare il database in seguito all'installazione di moduli

Molte delle sue funzioni sono integrate anche nel modulo Administration menu.

Theme developer

Theme developer, un tempo incluso nel modulo Devel ed ora sviluppato come progetto singolo, è il coltellino svizzero per chi realizza template Drupal. Questo modulo ha un funzionamento molto simile a Firebug per Firefox, con la differenza di essere in grado di analizzare con estrema precisione la struttura del layout di un template Drupal e fornire allo sviluppatore dettagli come:

  • file di template e precedenza dell'uso degli stessi
  • funzioni utilizzate per generare gli elementi di una pagina
  • variabili della pagina come ad esempio il vettore $node usato per visualizzare un nodo

Questo modulo è un valido strumento durante la realizzazione di un tema per Drupal. Ad esempio, si può usare per intercettare il nome della funzione che stampa un particolare elemento, così da poterla sovrascrivere (override), oppure per scoprire quale file di template è usato e quindi, anche in questo caso, modificarlo in base alle esigenze.

Backup and Migrate

Quando si realizza un sito in Drupal, è fondamentale ricordarsi di fare uso del modulo Backup and Migrate (e del modulo aggiuntivo Backup and Migrate files). Sia nella fase di sviluppo iniziale, che nelle successive fasi di mantenimento ed aggiornamento, può capitare un errore o una situazione non prevista che potrebbero corrompere od eliminare i dati nel database o immagazzinati nel file system.

La regola di ogni buon programmatore è di fare regolarmente delle copie di salvataggio. Con questo modulo, i backup si possono effettuare direttamente dall'interfaccia di Drupal e possono essere schedulati e memorizzati in qualunque destinazione, sia locale che remota.

Più precisamente le funzionalità del modulo Backup and Migrate sono:

  • capacità di effettuare il backup ed il restore di più database
  • salvataggio dei dati in locale o in remoto caricandoli in un server FTP, nel servizio S3 oppure inviandoli per email
  • schedulazioni multiple dei backup
  • backup compressi e codificati con AES
  • backup della directory files grazie al modulo Backup and Migrate Files.

SimpleTest

Lo sviluppo di un sito o di un modulo per Drupal dovrebbe essere sempre affiancato da una fase di test. Soprattutto nel caso di situazioni di particolare complessità o della necessità di un'elevata affidabilità, i test automatizzati sono decisamente utili per la verifica del codice.

Il modulo SimpleTest è stato realizzato per poter verificare il corretto funzionamento dei moduli attraverso procedure di Unit testing. Lo Unit testing controlla piccole porzioni di codice ,come funzioni o metodi specifici, fornendo dati di input prestabiliti e verificandone l'output. In questo modo, quando si deve modificare una funzione, ad esempio ottimizzandone delle procedure interne ma lasciando invariata la relazione tra input ed output, si può controllare la sua correttezza eseguendo i test realizzati in precedenza. Si evita così di lasciare al programmatore l'onere di dover controllare manualmente il buon funzionamento della procedura.


Drupal developer modules - Devel, Theme developer, Backup and Migrate e Simple test sono i moduli indispensabili per un programmatore Drupal.