Drupal è un software CMS open source realizzato in PHP e sviluppato da una comunità di utenti e sviluppatori per la pubblicazione di siti Internet.
Il nucleo della piattaforma CMS di Drupal contiene nel suo programma i propri moduli, sviluppati dalla comunità e possono comunque essere scaricati e installati, in un’area dell’installazione di Drupal non destinata al nucleo.
Il nucleo di Drupal è stato progettato con il sistema a ganci o callback , “richiamata”, che permette ai moduli sviluppati dalla comunità di inserire funzioni nel processo di esecuzione di Drupal.
Drupal è una piattaforma che supporta le più recenti tecnologie, funziona su diversi sistemi operativi, tra cui Windows, Mac OS X, Linux e qualsiasi piattaforma software che supporti i web server Apache (versione 1.3 o superiore) o IIS (versione 5 o superiore) e il linguaggio PHP (versione 4.3.3 o superiore).
Drupal utilizza un database per memorizzare i contenuti editati e necessita quindi di un software come MySQL e PostgreSQL che sono gli unici DBMS al momento supportati.
I requisiti dettagliati sono disponibili sul sito ufficiale di Drupal.
I Moduli di Drupal permettono di:
– Inserire, commenti e modificare e catalogare i contenuti,
– Eseguire ricerche – Partecipare a forum,
– Rispondere a sondaggi,
– Lavorare a progetti di scrittura collaborativa,
– Inserire e visualizzare i profili degli utenti,
– Comunicare tra gli utenti e con gli amministratori del sito,
– Modificare l’aspetto del sito utilizzando i temi grafici,
– Creare menu su più livelli della struttura di navigazione,
– Permette all’utente di localizzare l’interfaccia in diverse lingue, e sceglierla,
– Fornire feed RSS e presentare, aggregando, i contenuti RSS di altri siti,
– Registrare nuovi utenti e gestirne gli account,
– Gestire permessi e ruoli per i singoli utenti o per interi gruppi,
– Impedire l’accesso al sito a utenti in base a nome, indirizzo e-mail, indirizzo IP,
– Collezionare e presentare statistiche dettagliate del sito,
– Funzionalità che permette di disabilitare alcuni moduli/blocchi in caso di alto traffico del sito,
– Gestire il caching delle pagine ed il throttling,
– Creare diversi modelli di contenuto,
– Creare e specifici filtri in entrata degli utenti,
– Generare indirizzi semplici che permettono di migliore la catalogazione ai motori di ricerca,