Moduli Drupal personalizzati: quando il modulo Views non basta

Personalizzazione moduli Drupal
Sviluppo moduli per Drupal personalizzati

Uno dei moduli Drupal tra i più conosciuti ed usati è sicuramente il modulo Views. Questa estensione del CMS serve per creare degli elenchi di contenuti presenti nel sito, da visualizzare solitamente sotto forma di pagine o di blocchi da inserire nelle varie regioni del layout. Il modulo Views è molto flessibile e grazie ad una interfaccia di amministrazione non troppo complicata riesce ad estrarre i contenuti in base a dei filtri e visualizzarli in svariati modi.

Le possibilità di configurazione sono molte ma in alcuni casi il modulo Drupal Views può non bastare. Ad esempio quando i contenuti di partenza sono strutturati secondo delle logiche particolarmente complesse o quando sono necessarie delle elaborazioni dei dati prima di ricavare i contenuti definitivi da mostrare all’utente.

La piattaforma Drupal viene quindi in aiuto agli sviluppatori fornendo una serie di API che permettono la programmazione di nuovi moduli su misura grazie ai quali soddisfare richieste non risolvibili tramite le funzionalità standard di Drupal e dei moduli già disponibili.

Generare un elenco di contenuti attraverso la programmazione di un modulo per Drupal (che ricordiamo utilizza il linguaggio PHP) lascia la libertà di decidere ogni singolo dato da visualizzare e come gestire il markup HTML per l’output. Questo significa che ogni pagina potrà essere ottimizzata sotto ogni aspetto in maniera molto precisa.

Paginazione, caching, filtri ed ordinamenti sono tutte funzionalità che possono essere implementate durante la creazione di un modulo, emulando le caratteristiche del modulo Views ed allo stesso tempo estendendone le potenzialità.

Quali sono i vantaggi di un modulo per Drupal personalizzato?

Moduli per Drupal su misuraUn modulo personalizzato per il CMS Drupal può essere vantaggioso rispetto all’uso di un modulo già esistente (detto anche “contrib”) per diversi motivi. Al primo posto troviamo l’evidente mancanza di alternative già esistenti. Oltre a questa motivazione piuttosto evidente, ci sono anche altre ragioni che giustificano la realizzazione di un nuovo modulo, ad esempio l’ottimizzazione delle prestazioni del sito durante il caricamento dei dati piuttosto che il miglioramento dell’output HTML, molto utile per stabilire l’aspetto grafico delle pagine. Anche la gestione personalizzata delle eccezioni che possono essere presenti nei dati gestiti dal sistema e le ottimizzazioni legate al SEO ed alla usabilità del sito sono altri fattori a favore dello sviluppo di soluzioni personalizzate.

Pro e contro di un modulo per Drupal personalizzato:

  • Implementa esattamente le caratteristiche e le funzionalità richieste senza introdurre la gestione di casistiche non rilevanti.
  • Il codice HTML risultante è ottimizzato per essere leggero e quindi più veloce da caricare.
  • Permette di implementare personalizzazioni SEO specifiche per il sito.
  • Le prestazioni del modulo possono essere migliorate in base alle specifiche funzionalità da realizzare.
  • I tempi di sviluppo ed i costi possono essere molto più elevati rispetto ad un modulo “contrib”.
  • Nel caso serva estenderne le funzionalità potrebbe essere necessario ulteriore tempo per la progettazione e lo sviluppo.

Pro e contro di un modulo Drupal “contrib”:

  • Soddisfa una gamma molto ampia di esigenze generiche che però non potrebbero corrispondere esattamente con quelle specifiche del sito.
  • Il codice HTML risultante può non essere ottimizzato in quanto deve poter svolgere più compiti.
  • Spesso i moduli per Drupal già esistenti non tengono conto degli aspetti legati a SEO o al massimo implementano solo alcuni semplici accorgimenti.
  • Le prestazioni di un modulo “contrib” non sempre sono elevate.
  • I moduli già pronti hanno un costo di adozione relativamente basso che dipende dai tempi di configurazione e personalizzazione; solitamente inferiori allo sviluppo di un nuovo modulo.
  • I moduli “contrib” possono essere adattati per funzionare in modi non previsti inizialmente ed in tempi relativamente brevi.

I vantaggi nella scelta di come realizzare un sito web in Drupal dipendono anche dalla scelta di come implementarne le funzionalità, se adoperando esclusivamente codice già pronto oppure sviluppando appositamente dei moduli personalizzati.

Creare un modulo per Drupal su misura è una scelta che in molti casi può essere più conveniente rispetto all’uso di sistemi pronti all’uso e va tenuta in considerazione quando le soluzioni alternative non sono in grado di soddisfare al meglio le esigenze del sito internet da creare.