Nell’approfondimento di oggi ripercorreremo la storia di Drupal dalle origini fino alla versione 7. L’avventura del CMS inizia in un modo abbastanza “anonimo” che ricalca tuttavia le vicende di altri progetti rivelatisi vincenti.
In un comune alloggio assegnatogli dal college, è un giovane studente universitario, Dries Buytaert, a porre le basi del progetto: la sua intenzione non era ovviamente quella di creare un framework per la gestione dei contenuti, bensì di offrire un’utile strumento di comunicazione ai gruppi universitari per condividere informazioni sullo stato della connessione Internet – ai tempi piuttosto costosa e condivisa tra più persone. Fino al suo arrivo nell’ecosistema open source, avvenuto nel 2001, Drupal rimase a tutti gli effetti un Bulletin Board System.
Drupal 1.0 (2001)
Il CMS si presentava alla Rete con 18 moduli base (core), ciascuno dei quali corrispondente ad un file PHP. Alcuni temi, un altro importante elemento per i CMS, erano già presenti di default ed all’utente era offerta la possibilità di crearne anche di nuovi con un livello di personalizzazione più che adeguato (colori, markup, layout e posizione dei blocchi). La modifica del database avveniva mediante importazione di un file SQL. Tra le altre funzionalità la presenza di un blog (diario), degli account (possibile diventare contributor), l’inserimento dei commenti, la presenza di un calendario che fungeva da archivio.
Drupal 2.0 (2001)
A distanza di pochi mesi arrivava la versione 2.0 del CMS. La novità più importante era rappresentata dalla possibilità di creare o sovrascrivere il sito in un linguaggio di programmazione differente. La procedura prevedeva la modifica del file di configurazione e del database SQL con la funzione t(). Il core del framework diveniva infine più sofisticato grazie all’introduzione di un sistema di valutazione per gli utenti, una nuova sezione (stories) ed un sistema per gestire i permessi degli utenti.
Drupal 3.0 (2001)
I nodi, termine che sarà sicuramente familiare agli abituali utilizzatori di Drupal, diventano in questa release il punto di riferimento nel processo di creazione dei contenuti – in opposizione alle classiche pagine. Ogni tipologia di contenuto (diario, forum, blog etc.) esiste sottoforma di nodo gestito dal modulo nodo. Con quest’ultimo è possibile agire sulla configurazione dei contenuti e sulle modalità di visualizzazione dei post del blog.
Drupal 4.1 – 4.7 (2003 – 2006)
Si tratta di un periodo molto importante che vede l’arrivo di novità come il modulo profilo, un template per il tema, i menu configurabili, migliorie alle localizzazioni in varie lingue, il supporto WYSIWYG (What You See Is What You Get; Drupal era quindi n grado di mostrare al creatore come una determinata linea di codice sarebbe stata visualizzata sul Web dai visitatori), il primo modulo e-commerce (nella versione 4.4), supporto a Microsoft SQL server e delle API più avanzate. Grazie agli sforzi del team ed all’impiego di Drupal nella creazione del portale di Howard Dean (in corsa per le primarie del partito democratico USA nel 2003), si assistette ad un incremento di produzione dei contenuti Drupal pari al 300%.
Drupal 5 (2007)
jQuery, libreria JavaScript, viene implementata nel CMS con l’obiettivo di più semplici rendere le operazioni di scripting. Arriva anche un nuovo installer web ed i moduli guadagnano finalmente una cartella dedicata (è anche semplificata la loro installazione e disinstallazione). Per quanto riguarda i temi, gli stylesheets sottoponibili a caching sono spostati in una singola cartella compressa, velocizzando i tempi di caricamento del portale.
Drupal 6 (2008)
L’installer del CMS subisce altre modifiche: oltre ad adottare uno specifico tema (Garland) mostra durante l’installazione un form con informazioni varie sul sito. Lato admin si assiste ad una riscrittura del sistema dei menu con la possibilità di interagire su vari elementi via drag-and-drop (terms, taxonomy vocabularies, blocchi etc.). In tema di sicurezza il modulo Update Status si occupa invece di controllare periodicamente la presenza di aggiornamenti inviando eventualmente notifiche in assenza di determinati update o al rilascio di nuove versioni del CMS. Il sito della Casa Bianca (Whitehouse.gov) viene progettato con Drupal e la sua popolarità cresce ulteriormente.
Drupal 7 (2011)
Dopo tre anni di duro lavoro e confronto con la community, il team di sviluppo rilascia la nuova versione del CMS. Le migliorie riguardano ancora una volta il core e l’usabilità. I moduli vengono resi indipendenti dai nodi ma non solo: content types, taxonomy, users, term divengono entità indipendenti. Per il processamento di task multiple o di lunga durata viene implementata un’API queue. jQuery, presente dalla versione 5.0, riceve un altro aggiornamento; le localizzazioni in varie lingue sono riviste, corrette ed ampliate al fine di supportare anche messaggi contestuali. Da ricordaree poi la comparsa nei nodi e nei commenti del link rel=”canonical” al fine di evitare la duplicazione dei contenuti – poco gradita ai motori di ricerca. Per coloro che dispongono di un dominio email Google è introdotta infine la possibilità di effettuare il login con il proprio indirizzo di posta.
Drupal 8 (2015)
La release più recente risale al 19 Novembre 2015. Con l’arrivo di Drupal 8 il team ha deciso di adottare un ritmo di marcia serrato per gli aggiornamenti prevedendone il rilascio ogni sei mesi (si parla di versioni intermedie non di major release). Abbiamo avuto modo di parlare più volte dell’ultima versione del CMS su Internet Post, vi invitiamo quindi a consultare i seguenti post:
- Drupal 8, ecco cosa ci riserva il nuovo CMS
- Drupal 8.1, quali novità in arrivo?
- Drupal, 8 consigli per migliorare le prestazioni – Parte 1 e Parte 2