Drupal è un CMS che basa le proprie funzionalità sui moduli: proviamo ad accedere alla voce di menu "Amministra", quindi "Struttura del sito" ed infine "Moduli".
Possiamo qui notare una lunga lista di nomi, ovvero i moduli che vengono forniti di default nell'installazione di Drupal. Troviamo "Aggregator" che si occupa di aggregare i feed RSS e Atom, "Blog" che consente di realizzare facilmente un blog in Drupal, "Blog API" fornisce l'infrastruttura per supportare chiamate API XML-RPC per poter postare da applicazioni esterne, e così via.
Come detto questi moduli vengono forniti nell'installazione standard, ma non tutti sono abilitati di default: possiamo decidere quali moduli abilitare a seconda delle funzionalità che vogliamo realizzare: è inutile installare il modulo Forum se poi non abbiamo intenzione di sfruttarlo. È possibile notare che alcuni moduli hanno una sorta di propedeuticità, ovvero sono richiesti da altri moduli: ad esempio il modulo "Comment" deve essere attivato perchè il modulo "Forum" funzioni.
Basterà spuntare la casella corrispondente e cliccare sul pulsante "Salva configurazione" per attivare il modulo in esame e per rendere le sue funzionalità immediatamente disponibili all'uso. Proviamo ad esempio ad attivare il modulo Blog: spuntiamo la casella accando alla voce Blog e salviamo. Se ora dalla sidebar clicchiamo la voce "Crea contenuto", noteremo che è stata aggiunta una nuova opzione, Messaggio del blog.
Proviamo ad inserire titolo, corpo del post di esempio e pubblichiamolo.
Come si nota, è stato pubblicato un nuovo contenuto nella home page, simile ad una storia ma in realtà è entrato in funzione il modulo Blog creando una struttura di navigazione personalizzata, costruendo la sezione Blog e la sottosezione blog di admin.
Abbiamo visto un esempio di come i moduli estendano le funzionalità di Drupal. Ovviamente oltre ai moduli forniti, sul Web è possibile trovare un gran numero di estensioni che realizzano le necessità più svariate, e come ogni progetto open source che si rispetti è possibile creare dei moduli personalizzati.