13
CAPITOLO 2
INTRODUZIONE A DRUPAL
Drupal è un CMS (Content Management System) ovvero un gestore di
contenuti realizzato in Php e consente quindi la realizzazione di siti Web basati
sulla logica contenuti/commenti. Drupal viene utilizzato ogni giorno da
moltissimi utenti e comunità per gestire i propri siti Web. Questo perché è
possibile realizzare una gamma molto varia di applicazioni Web:
portali e community di qualsiasi dimensione
siti Intranet
blog, blog multiutente
forum
multisiti, siti multilingua
Si tratta di un'applicazione rilasciata sotto licenza Open Source e per questo
motivo può essere scaricata liberamente e gratuitamente, utilizzata sia a scopo
personale che commerciale e modificata sulla base delle diverse esigenze.
Drupal è opera dello sviluppatore Dries Buytaert ed è stato concepito con
l'intenzione di mettere a disposizione degli utilizzatori un potente e flessibile
content manager con cui gestire e catalogare svariate tipologie di contenuti:
testi, immagini, documenti, archivi e molto altro. Drupal è un sistema
modulare. E‟ possibile installare moduli aggiuntivi realizzati e distribuiti dalle
community.
È possibile creare dei propri moduli, consente quindi di aggiungere numerose
funzionalità al sistema base. I contenuti possono essere organizzati in base alla
tipologia (Story, Page, Image…), questo consente di dividere i contenuti in
modo flessibile, rendendone semplice l'inserimento e la visualizzazione, e
14
consentendo di realizzare uno schema di navigazione del sito estremamente
funzionale
I contenuti potranno essere inseriti e manipolati da più utenti dotati di diversi
privilegi. Questo CMS integra infatti un avanzato sistema di iscrizione e di
autenticazione che permette ad un amministratore, vero e proprio "utente di
root" della piattaforma, di concedere ai diversi utilizzatori differenti permessi
che vanno dalla semplice lettura alla possibilità di editare i contenuti.
Drupal è un'applicazione completamente Web based, potrà quindi essere
utilizzata attraverso un semplice browser. Drupal, infatti, è un CMS realizzato
in PHP e, pertanto, per funzionare necessita unicamente di:
un'interprete per PHP (per le utlime release di Drupal è raccomandata la
versione 5 o superiore di PHP)
un Web server: è raccomandato l'utilizzo di Apache e il CMS funziona
egregiamente sia in ambiente Linux che Windows
un DBMS (Database Manager System), come per esempio MySql, per la
memorizzazione dei dati; è possibile utilizzare anche PostgreSQL mentre
MSSQL e Oracle per il momento non sono supportati.
La storia di Drupal ha inizio nel 2000, tra i banchi dell'università di Anversa.
All'epoca l'ateneo non forniva l'accesso gratuito ad internet per gli studenti, per
questo Dries Buytaert e Hans Snijder decisero di installare un router Wireless
alla connessione ADSL per condividere la connessione. Tuttavia non vi era
alcun sistema per condividere file ed informazioni, per cui Dries creò un piccolo
sito interattivo che permettesse agli studenti di inviare note e notizie utili a
tutti.
Finita l'università, il gruppo di studenti decise di pubblicare il sito in internet, in
modo che essi potessero continuare a comunicare, per cui nacque drop.org.
Una volta pubblicato sul Web, l'utenza del sito aumentò e i membri iniziarono a
15
parlare di autenticazione, moderazione, rating, syndication e di come
implementarle sul sito.
Nel 2001 Dries decide di rilasciare il software dietro drop.org con il nome di
Drupal e con licenza open source, per permettere ad altre persone di utilizzare
ed estendere il sistema.
Drupal è oggi un CMS molto potente, ma anche un progetto che, per
dimensioni e complessità, all'inizio può intimidire. Non c'è da lasciarsi
spaventare poichè più tempo si passa cercando di configurare il sito, più ci si
addentra tra i segreti di Drupal e se ne comprendono potenza e flessibilità.
16
Perchè usare Drupal?
Drupal è tra i CMS Open Source più performanti e flessibili disponibili sul
mercato. Con le ultime versioni 6.x, sono migliorate molte cose, come ad
esempio l'installazione: se prima era necessario modificare a mano i file di
configurazione, ora si può installare tutto comodmente, con una procedura
guidata, direttamente online.
Notevoli miglioramenti sono stati apportati grazie ad un'accurata analisi di
usabilità ed al conseguente miglioramento dell'interfaccia di amministrazione,
che ora presenta controlli avanzati che ci permettono, ad esempio, di
disegnare il layout dei blocchi attraverso il drag and drop.
La community, che ha reso possibile raggiungere questi risultati, conta un
numero impressionante di sviluppatori, utenti e tester, che forniscono
costantemente nuove idee e prodotti, quasi sempre in maniera gratuta, per
poter realizzare le funzionalità più svariate.
In definitiva Drupal offre stabilità, sicurezza e performance, e a quanto pare si
è lavorato anche molto sulla semplicità di utilizzo. Drupal è il più veloce ed
affidabile modo per avere un sito web di contenuti personali, senza la necessità
di assumere costosi programmatori o imparare un linguaggio di
programmazione.
Diamo un‟occhiata alla lista di benefici che Drupal può riservare:
É semplice come usare Microsoft Word. Con il potente editor online
WYSIWYG (What You See Is What You Get), è possibile creare e
modificare i contenuti in modo professionale e in pochi minuti, senza
preoccuparsi di scrivere codice o usare programmi FTP per caricare
nuove pagine.
17
Nessun bisogno di conoscere HTML o XML. Con Drupal non c‟è
bisogno di conoscere nessun tipo di linguaggio di programmazione per
creare i contenuti. E‟ possibile cambiare tutto tramite la sua interfaccia
punta-e-clicca.
Rivendibile per Sviluppatori Web. E‟ possibile offrire ai clienti una
semplice, potente e affidabile soluzione per siti web di gestione di
contenuti. Specifico per sviluppatori web significa che si può comprare un
piano hosting con drupal, modificarlo, e rivenderlo come una soluzione ai
clienti.
Completo controllo dei contenuti. Si può permettere ai contributori di
contenuti di aggiungere articoli non visibili. Dopo, quando un
responsabile avrà approvato gli articoli, sarà possibile pubblicatli e
renderli disponibili tramite il sito web.
É un intero sito web. Drupal contiene tutto quello che c‟è bisogno per
costruire, maneggiare e modificare un sito web di contenuti incluso un
potente pannello di controllo di amministrazione, supporto di multi-
utenze e molto altro.
Fare aggiornamenti in qualsiasi momento, e da qualsiasi luogo.
Tutto quello che l‟utente deve fare è effettuare il login attraverso un
browser e da qui potrà modificare i contenuti da solo direttamente
dall‟ufficio, casa, portatile, o persino mentre si è in viaggio.
Layout facilmente personalizzabile. Drupal ha un completo motore di
template, che può permettere agli utenti (a cui è permesso) di modificare
e personalizzare qualsiasi pagina del sito, come la home page o la pagina
degli Articoli.
Comunità di sviluppo grandissima. La comunità di sviluppo è davvero
molto grande e vengono rilasciati moltissimi aggiornamenti e moduli da
18
utenti provenienti da ogni parte del pianeta. La forza di tale progetto sta
appunto nel motto “l‟unione fa la forza”.
Le potenzialità di questo CMS sono davvero infinite. Solo man mano che si
imparerà ad utilizzare lo strumento si potranno capire e conoscere tutte le
features di Drupal. Qui di seguito possiamo elencare alcune possibilità di
sviluppo e di utilizzo grazie alle quali abbiamo optato per questo tipo di CMS:
la possibilità di creare book collaborativi grazie alla partecipazione di più
utenti che potranno contribuire alla realizzazione e all'inserimento dei
contenuti;
il supporto per l'estensione delle funzionalità di base grazie all'utilizzo di
moduli aggiuntivi (gallerie fotografiche, carrelli della spesa per il
commercio elettronico, newsletter etc.) creati da milioni di sviluppatori in
tutto il mondo;
un sistema di permessi basato sui ruoli che permette di gestire
facilmente i privilegi delle utenze, per assegnare dei permessi ad un
utilizzatore sarà sufficiente associare quest'ultimo ad un determinato
gruppo che già li possiede;
un'indicizzazione completa dei contenuti grazie alla quale sarà possibile
effettuare delle ricerche efficaci di qualsiasi tipologia di materiale.
un sistema completo per la gestione dei template e dei temi, infatti in
Drupal la presentazione dei contenuti è completamente separata dalla
logica dell'applicazione
19
la regsitrazione delle attività grazie ad un sistema che permette di creare
un log dettagliato di tutti gli eventi che coinvolgono il Content manager;
supporto per il multilinguaggio: tutti i testi potranno essere tradotti
utilizzando un'apposita interfaccia grafica.
la possibilità di sindacare i contenuti utilizzando strumenti per
l'esportazione nei formati RDF o RSS e la fruizione tramite news
aggregators e feed aggregators;
supporto per i permalinks grazie ai quali sarà possibile associare ai
contenuti un collegamento permanente evitando i link interrotti e
facilitando l'indicizzazione delle pagine da parte dei motori di ricerca.
il supporto per le API di Blogger che permette di aggiornare il proprio sito
basato su Drupal seguendo svariate modalità incluse quelle non correlate
all'utilizzo di tools mediati da un browser;
utilizzo della tassonomia che permette di suddividere in categorie i
contenuti utilizzando sia tag inseriti dall'utente, sia categorie definite
dall'amministratore. E' uno strumento potente per classificare i contenuti,
con molte funzionalità avanzate.
20
INSTALLAZIONE E PRIMO UTILIZZO
Installare Drupal non è particolarmente complesso e non sono richieste
conoscenze approfondite nel campo dello sviluppo in linguaggio PHP. Questo
CMS può infatti essere installato, configurato e utilizzato senza la necessità di
scrivere o di modificare una sola riga di codice. Nello stesso modo Drupal non
richiede conoscenze avanzate relativamente ad argomenti come la gestione di
basi di dati o l'amministrazione di Web server.
Esistono due versioni principali di questo CMS: la release 5 (giunta
recentemente alla versione 5.12) e la distribuzione 6 (aggiornata fino al
rilascio numero 6.6). Al momento gli sviluppatori sono al lavoro sulla release 7
che è ancora in fase di betatest. Nel nostro caso abbiamo scelto di lavorare
sulla distribuzione 6.x in quanto si tratta appunto dell‟ultima e più recente
versione stabile e performante.
Per scaricare Drupal è possibile recarsi sulla home page del sito ufficiale del
CMS oppure visitare la sezione download dello stesso portale. L'applicazione
viene distribuita sotto forma di archivio compresso (tar.gz) del peso di appena
1 Mb e può essere scaricata immediatamente senza necessità di iscrizione alla
sua community.
Prima di procedere con l'installazione è bene dare un'occhiata al proprio
ambiente di sviluppo in modo di garantire al Content Manager flessibilità e
prestazioni ottimali.
Drupal è in grado di lavorare sia sotto Apache 1.3 che in un ambiente basato
su Apache 2 ospitato all'interno di una piattaforma basata su Unix, Linux o
Windows. Nel caso si desideri utilizzare un ambiente basato su IIS, è bene
tenere conto che Drupal può girare sulla versioni 5, 6 e 7 di questo Web Server
ma sulla base del ciclo di vita dei sistemi Windows è preferibile utilizzare le
ultime due release.
21
Per utilizzare al meglio Drupal è opportuno sfruttare un ambiente basato su
PHP 5.2 o superiore, PHP 4.3.5 è comunque il requisito minimo per il suo
funzionamento. Per quanto riguarda le basi di dati, si consiglia di appoggirsi
alle versioni 4.1 o 5.0 di MySQL. Una volta ottimizzato l'ambiente di
produzione sarà possibile procedere con l'installazione.
Una volta scaricato l'archivio contenente i file per l'installazione di Drupal, sarà
necessario scompattarlo salvando tutto il contenuto all'interno di una cartella
del Web server. Per la cartella di destinazione non è richiesto un nome
specifico, sarà comunque oppurtuno utilzzare una denominazione semplice. A
questo punto sarà possibile raggiungere l'installer di Drupal tramite la
digitazione di un semplice indirizzo che, se per esempio lavoriamo in locale,
sarà simile al seguente:
http://localhost/drupal/install.php
La prima operazione da affrontare sarà quella relativa alla scelta del linguaggio
di installazione, la versione 6.x di default permette di essere installata in lingua
Inglese ma grazie alla grande community italiana è ora possibile scaricare
grauitamente dal sito drupalitalia.it i files necessari all‟installazione del CMS
in lingua italiana. Il procedimento di installazione poi sarà lo stesso utilizzato
per la lingua inglese (come vedremo nelle immagini di riferimento).
Una volta scelta la lingua di installazione l'installer controllerà
automaticamente la presenza di problemi nei requisiti di sistema, se l'ambiente
di produzione è stato ottimizzato l'unica operazione da fare sarà quella di
copiare il file "default.settings.php" presente nel percorso "/sites/default/" e
incollarlo nello stesso percorso per poi rinominarlo in "settings.php".