Drupal Ita

download Drupal Ita

of 32

Transcript of Drupal Ita

Guida Drupaldi: Flavio Copes 1. 1. Introduzione Cos', perch utilizzarlo e come nato Drupal

Installazione1. 2. Requisiti e impostazione della lingua Quali strumenti servono per installare Drupal e come installare una versione in italiano 2. 3. Database Assegnare a Drupal il database al quale affidare la memorizzazione dei dati e delle impostazioni del sito 3. 4. Nome del sito e URL SEF Dare un nome significativo al sito e impostare indirizzi ottimizzati per i motori di ricerca

Configurazione1. 5. La sidebar dell'utente admin Iniziamo a conoscere l'interfaccia amministrativa di Drupal 2. 6. Il pannello di amministrazione di Drupal Impariamo a gestire al meglio il backend amministrativo del CMS 3. 7. Prima configurazione del sito Vediamo quali sono i primi passi per configurare il sito Web 4. 8. Opzioni di configurazione avanzate Miglioriamo le prestazioni e la sicurezza di Drupal

I Moduli1. 9. Cosa sono i moduli Scopriamo cosa possono fare i moduli di Drupal 2. 10. I moduli attivati di default Impariamo a conoscere i moduli principali di Drupal 3. 11. Aumentare le funzionalit usando i moduli forniti Scopriamo cosa si pu fare con i moduli non attivi di default

Gestione del contenuto1. 12. Nodi e Blocchi L'organizzazione del contenuto in nodi e blocchi 2. 13. Creare e gestire contenuti Impariamo a creare un Pagina e conosciamo le opzioni di gestione 3. 14. Tipi di contenuto Panoramica sui tipi di contenuto creabili grazie ai moduli disattivati

4. 15. Menu e collegamenti Gestire il posizionamento dei menu e dei link 5. 16. La gestione degli URL Drupal in grado di generare URL semplificati utilizzando mod_rewrite di Apache

Utenti e ruoli1. 17. Controllo dell'accesso Gestiamo utenti, regole di accesso e permessi per avere un controllo granulare degli account 2. 18. Ruoli e permessi Impariamo a creare un nuovo ruolo e associamogli dei permessi utente specifici

Tassonomia1. 19. Vocabolari e termini Familiarizziamo con l'organizzazione del contenuto in Drupal 2. 20. Configurare le categorie Creiamo vocabolari e termini sotto cui posizionare i nostri contenuti 3. 21. Abilitare i tag Impariamo come aggiungere dei tag ai contenuti creati con Drupal

Estendere Drupal1. 22. Il funzionamento dei moduli Vediamo come installare e abilitare moduli aggiuntivi in Drupal 2. 23. I migliori moduli aggiuntivi Vediamo quali sono i moduli pi utili secondo la comunit Drupal 3. 24. Azioni e trigger Insieme ai moduli possiamo usare le azioni e i trigger per aumentare le funzionalit di Drupal

I Template1. 25. Installare nuovi temi in Drupal Personalizziamo l'interfaccia grafica del nostro sito con i template 2. 26. Dove trovare template per Drupal I migliori siti per scaricare template per Drupal

IntroduzioneDrupal uno dei pi famosi CMS open source oggi sul mercato, il che sostanzialmente significa che sviluppato da volontari che lasciano liberamente consultabile anche il codice sorgente. 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: siti istituzionali (l'universit di Harvard, il governo del Belgio, alcuni siti della NASA) portali e community di qualsiasi dimensione (Amnesty International) siti Intranet blog, blog multiutente (blog di Tim Berners-Lee) directory di contenuti (MTV) e-commerce (Warner Brothers Records) cloni di digg.com, emuli di youtube e flickr.

Se Drupal risultato la scelta ottimale per questi siti Web, probabile che soddisfi anche le nostre necessit. con questa guida mettiamo le basi per approfondire la conoscenza di Drupal e realizzare ci che abbiamo in mente.

Perch usare DrupalDrupal 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 - spesso gratuitamente - 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.

Un po' di storiala 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 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, seguendo fino in fondo il filo conduttore di questa guida impareremo a un po' tutta l'infrastruttura di un sito Web. Soprattutto ricordiamo che l'esperienza la pi grande maestra: 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.

Requisiti e impostazione della linguaDrupal una applicazione Web Based, il ch significa che scritto con uno dei linguaggi per realizzare applicazioni Web (come PHP), che per funzionare ha bisogno di un Server Web (come Apache) e di un database (come MySQL o PostgreSQL). Nessun problema per, infatti possiamo ottenere tutte queste cose semplicemente rivolgendoci ad un servizio di Hosting. Per scegliere il servizio giusto vediamo quali requisiti richiedere di preciso: PHP versione 4.3.5 o superiore Web server Apache 1.3 o superiore, oppure Microsoft IIS 5 o superiore (meglio se con FastCgi) Database MySQL versione 4.1 o superiore, oppure PostgreSQL versione 7.4 o successiva Se vogliamo utilizzare Drupal in locale, l'installazione di questi tre componenti pu risultare abbastanza complessa, per cui consigliato scaricare XAMPP: un pacchetto integrato realizzato appositamente per lo scopo. un software gratuito e disponibile per le pi diffuse piattaforme (Windows, Mac OS X, Linux). Installare Drupal risulta semplice: anzitutto necessario scaricare il pacchetto con tutti i file dal sito ufficiale (al momento della stesura dell'articolo l'ultima versione la 6.1). Quello che otteniamo un archivio ZIP, dal quale possiamo estrarre i file e riversarli in una cartella sul nostro PC. Fatto questo dobbiamo caricare tutto sul nostro server. Per lavorare in locale sufficiente copiare i file nella cartella principale del server Web (tipicamente "htdocs"). Per trasferire Drupal sul server remoto possiamo utilizzare un client FTP ed effettuare l'upload di tutti i file. In questo caso dobbiamo anche configurare il software per l'FTP, inserendo i dati forniti dal nostro servizio di hosting (nome host, nome utente e password). Una volta caricati tutti i file, puntiamo il browser sul nostro sito (es. http://www.nomedominio.com) e ci sar mostrata la pagina iniziale dell'installazione, dove possiamo selezionare la lingua. Figura 1. Prima schermata - selezione della lingua

Se decidiamo di installare Drupal in italiano, dobbiamo importare un file che contenga la traduzione di

tutto il programma. Possiamo trovare questa traduzione sul sito ufficiale, oppure sul sito di Drupal Italia. Nota: Al momento della scrittura non ancora disponibile una traduzione ufficiale per Drupal 6.. Scaricato il file della traduzione, estraiamone il contenuto: si tratta di tre cartelle (modules, profiles e themes) che possiamo copiare nella cartella principale di Drupal, ovvero dove abbiamo caricato tutti gli altri file dell'installazione. Se il nostro programma di FTP ci chiede se sovrascrivere le cartelle gi presenti, dobbiamo stare attenti a non farlo e ad aggiungere i file senza cancellare nulla. Torniamo a caricare la home page e troveremo la nuova schermata che mostra due scelte per la lingua: inglese ed italiano. Figura 2. Prima schermata con l'opzione della lingua italiana

DatabaseUna volta selezionata la lingua possiamo procedere alla configurazione del database. La maschera che appare ci chiede alcuni dati. Figura 1. Maschera di configurazione del database

Tipo di Database Nome database

Tipicamente la selezione su mysql, che anche la soluzione pi fornita dai servizi di hosting Spesso i servizi di hosting danno la possibilit di usare un unico database. In questo caso ci viene comunicato anche il nome del database tra i parametri del servizio. In caso contrario spesso ci viene offerta la possibilit di gestire un database con strumenti online come PhpMyAdmin

Nome utente Anche questi dati li possiamo trovare tra i parametri forniti dal nostro hosting e password

Opzioni AvanzateCliccando "Opzioni Avanzate", possibile effettuare alcune impostazioni particolari. La pi interessante Prefisso tabella, molto utile se il servizio di hosting fornisce un solo database non. Questa funzuione ci permette di assegnare un prefisso alle tabelle di Drupal, in questo modo sar possibile installare pi versioni di Drupal o addirittura pi CMS nello stesso database, cambiando di volta in volta i prefissi. Host Database meno utilizzato e permette di impostare l'uso di un database che risiede su un server diverso da quello attuale. Una volta impostati tutti i parametri, cliccare "Salva e continua".

Nome del sito e URL SEFSiamo quasi al termine dell'installazione, quando il sistema ci mostra la schermata "Configura il sito", composta da 3 pannelli. Figura 1. Configura il sito

Nel primo pannello inseriamo il nome del sito, che sar utilizzato per identificare il sito Drupal, assicuriamoci di dare un nome significativo. Quindi inseriamo l'indirizzo e-mail del sito, che verr utilizzato ad esempio nella procedura di registrazione di nuovi utenti. Assicurarsi di inserire un indirizzo che appartiene allo stesso dominio del sito (in fase di produzione), per evitare che le e-mail prodotte dal sistema vengano marcate come SPAM. Passiamo a configurare l'account di amministratore del sito. L'amministratore di un sito l'utente che ha ogni potere. In Drupal un solo utente pu avere permessi di amministratore. Inseriamo quindi il nome dell'utente amministratore, l'e-mail e la password che vogliamo associarvi. L'ultimo pannello di questa schermata consente di inserire il fuso orario del sito, permette di decidere se utilizzare URL SEF (ovvero indirizzi ottimizzati per i motori di ricerca) e abilita la notifica automatica degli aggiornamenti di Drupal disponibili. Nota: riguardo agli URL SEF, se la configurazione del server non consente di utilizzare questa opzione (ad esempio se non installato il mod_rewrite), non verr consentita nessuna scelta ma sar impostata automaticamente l'unica opzione possibile. Gli URL SEF sono una caratteristica molto comune tra i siti basati su CMS, permettono di generare indirizzi che sono significativi e riportano informazioni riguardo al contenuto offerto. Cliccando "Salva e continua", l'installazione sar completa

Risolvere i problemi di permessiDurante l'installazione potremmo avere problemi di accesso in lettura o in scrittura dei file che copiamo sul nostro server. In questo caso possiamo utilizzare le opzioni del nostro client FTP per gli attributi dei file. Se lavoriamo con FTP a riga di comando, su server unix/linux possiamo utilizzare chmod. Risolve problemi di lettura

chmod -R o+r *

Da i permessi di scrittura a Drupalchmod o+w sites/default/

Se lavoriamo su server Windows i problemi saranno meno semplici da risolvere e bisogner contattare il nostro servizio di hosting.

La sidebar dell'utente adminDopo avere effettuato l'installazione, apriamo il browser e rechiamoci alla pagina iniziale di Drupal. Sulla sinistra vediamo una form che ci chiede di inserire login e password di amministratore che abbiamo impostato durante l'installazione. Fatto questo possiamo cliccare sul pulsante Accedi. Ora nella sidebar verr visualizzato un menu composto da quattro opzioni, visualizzato soltanto all'amministratore: Profilo utente Crea contenuto Amministra Esci

Profilo utenteCliccando Profilo utente verr visualizzata una pagina che indica da quanto tempo l'utente iscritto al sito.Selezionando il link Modifica possibile cambiare le impostazioni principali dell'account, come il nome utente, l'indirizzo e-mail, la password, lo stato, il fuso orario e il linguaggio predefinito: infatti Drupal permette di delegare la scelta della lingua di visualizzazione all'utente. Figura 1. Profilo Utente

Crea contenutoLa seconda scelta fornita nella sidebar dell'utente amministratore Crea contenuto. L'installazione standard prevede due sole categorie di contenuto, ma ben presto scoprirete come possibile aggiungere nuove opzioni e funzionalit al CMS utilizzando i moduli, delle estensioni per Drupal che consentono di

aggiungere nuove funzionalit al sistema utilizzando un'architettura a plug-in: una pagina una tipologia di informazione che generalmente viene collegata ad una voce di menu e permette di accedere ad informazioni che cambiano di rado, come una pagina di presentazione oppure una pagina con le informazioni per i contatti. Di default questa tipologia di contenuto non prevede la possibilit di essere commentata. una storia una forma di contenuto che viene inserita nel sito che si comporta come un post di un blog, a cui assegnata una data ed a cui possibile aggiungere dei commenti.

AmministraLa voce Amministra permette di occuparsi della configurazione del CMS. All'atto del clic della voce Amministra viene aperto un sottomenu che elenca una serie di voci. Cliccando ciascuna voce si nota che viene aperta una pagina dedicata. possibile scegliere tra due modalit di visualizzazione: per funzionalit: visualizza la stessa struttura navigazionale presentata nella sidebar, raggruppando le funzionalit offerte in base alla tipologia di operazione compiuta da ciascuna opzione. per modulo: raggruppa le funzionalit in base al modulo che le offre. Quando viene aggiunto un modulo al sistema vengono incrementate le opzioni e viene aggiunto un nuovo gruppo di configurazione.

Il pannello di amministrazione di DrupalColleghiamoci come amministratore al sito Drupal e selezioniamo la voce "Amministra" dalla sidebar. Il sistema ci offre cinque possibilit di interazione pi una guida all'interfaccia ed ai termini utilizzati. Clicchiamo il link Gestione dei contenuti. Figura 1. Organizzazione contenuti

Le opzioni visualizzate consentono di organizzare e gestire i contenuti presentati all'interno del sito, partendo dai post fino a curare i commenti pubblicati ed in via di moderazione. Sempre in questa sezione possibile settare le impostazioni predefinite per la pubblicazione di nuovi contenuti ed i settings dei feed RSS. Taxonomy permette di gestire la tassonomia dei contenuti, ovvero come essi vengono classificati. In Tipi di contenuto vengono modificate le impostazioni di ciascun tipo di contenuto: inizialmente possibile modificare i due tipi di contenuto predefiniti, ovvero pagina e storia. Torniamo alla sidebar e clicchiamo il link Struttura del sito. Questo pannello consente di modificare le funzioni principali del sito: possiamo aggiungere / eliminare moduli di terze parti, cambiare l'aspetto del sito, modificare la traduzione dell'interfaccia, organizzare i menu utente e la disposizione dei vari elementi sulla pagina.

Cliccando Configurazione del sito nella sidebar, verr mostrata la seguente schermata: Figura 2. Configurazione del sito

Qui vengono impostate tutte le principali configurazioni che ci consentono di personalizzare il comportamento e le funzionalit del sito: Avviso di errore permette di impostare pagine personalizzate da visualizzare quando vengono generati errori 403 e 404. Azioni un pannello dove vengono impostate le operazioni da compiere quando si verifica un certo evento. Vedremo pi avanti come configurarle. In Data e ora vengono impostate le informazioni relative al fuso orario e la gestione della data. File system il pannello dove viene vengono impostate alcune directory necessarie per il corretto funzionamento del sistema, e dove viene deciso il metodo per gestire il download dei file. Formati di input consente di definire come deve essere interpretato il testo inserito dagli utenti e permette di impostarvi dei filtri. Informazioni sul sito gestisce alcune caratteristiche come il titolo del sito, l'e-mail utente, lo slogan che viene riportato in home page, la missione e la scritta a pi di pagina. Sempre in questa pagina possibile definire se vogliamo cambiare la home page, usando come pagina iniziale una pagina a scelta. In Lingue possiamo scegliere in quali lingue presentare l'interfaccia del sito all'utente, lasciare all'utente la possibilit di scegliere la lingua preferita, aggiungere nuovi pacchetti di traduzioni. Logging and alerts permette di impostare il numero massimo di righe del log da mantenere nel database. In Manutenzione del sito abbiamo la possibilit di mettere offline il sito per eseguire operazioni di manutenzione, e specificare il messaggio da visualizzare ai visitatori. Prestazioni la pagina che setta le impostazioni relative alla prestazione di Drupal: la modalit di gestione della cache, la durata, la compressione delle pagine, possiamo attivare la cache sui blocchi, ottimizzare i files CSS e Javascript. Possiamo anche ripulire la cache. Tema amministrazione imposta il tema da visualizzare nella sezione di amministrazione del sito. Toolkit per le immagini ci d la possibilit di scegliere il tool per gestire le immagini, se ne abbiamo installato pi di uno. URL semplificati permette di utilizzare URL SEF, se la configurazione del server lo consente.

Con Gestione utente invece abbiamo a disposizione diverse opzioni chiave per gestire gli utenti iscritti al sito: Impostazioni utente consente di definire le impostazioni predefinite per ogni utente, permette di definire le policy di registrazione dei nuovi iscritti, gestire i testi delle e-mail che vengono inviate agli utenti durante il processo di iscrizione. Permessi consente di impostare quali sono le operazioni consentite a ciascun ruolo di utenti. I ruoli predefiniti sono utente anonimo ed utente registrato, ma possibile impostarne di nuovi (ad esempio moderatore) attraverso il link Ruoli. Regole di accesso permette di definire alcune regole per vietare o consentire la registrazione ad alcuni indirizzi e-mail o nomi utente attraverso l'uso di espressioni regolari. Infine Utenti il pannello dove vengono elencati tutti gli utenti iscritti e dove possibile registrarne di nuovi. L'ultima opzione presente nella barra laterale Reports. Qui possiamo controllare i log registrati da Drupal, controllare quali sono le pagine che visualizzano un errore 403 di accesso negato e 404 di pagina non trovata. Inoltre possiamo stilare dei rapporti relativi agli aggiornamenti disponibili sia per i moduli installati, sia per i temi grafici. Il link Rapporto fornisce informazioni utili sul sistema che mettono in evidenza eventuali problemi relativi alle impostazioni del server.

Prima configurazione del sitoAprire il collegamento "Amministra" nella sidebar e selezioniate la voce "Configurazione del sito", quindi cliccare su "Informazioni sul sito" e inserite il nome desiderato. Esso comparir nel tag title della pagina HTML, ovvero verr visualizzato nella barra del browser. Questo nome verr usato anche come titolo del feed RSS, e, nel template di default, viene visualizzato in tutte le pagine del sito. Figura 1. Informazioni sul sito

Vediamo quali sono gli altri campi da riempire: Indirizzo email: inserire un indirizzo di posta elettronica molto importante perch viene utilizzato dalle procedure di registrazione degli utenti, e per tutte le interazioni che essi hanno con il sito.

Slogan: una frase che viene visualizzata nel tag title della home page, dopo il nome del sito, ed anche nel feed RSS. Textbox Mission: permette di inserire una frase che viene visualizzata nella homepage. Il testo viene visualizzato prima dell'elenco dei post Il Messaggio a pi di pagina: una porzione di testo che viene visualizzata nel footer della pagina. Tipicamente il footer viene utilizzato per mostrare un messaggio di copyright, delle informazioni sui servizi offerti e su come contattare i responsabili. Utente anonimo: la casella di testo dove si indica il nome che viene assegnato agli utenti che non sono registrati al sito, ma accedono come semplici visitatori. Viene utilizzato soprattutto nei commenti, per indicare che il visitatore non un utente registrato. Prima pagina predefinita: determina la presentazione del sito agli utenti che accedono alla homepage, che pu assumere diverse forme a seconda di quello che qui indichiamo: lasciando node, il parametro predefinito, verr visualizzata una pagina contenente tutto il contenuto che pu essere inserito in frontpage, mostrato in ordine cronologico con in testa il pi recente. inserendo node/id_nodo, dove id_nodo indica il numero identificativo di un nodo, mostriamo in homepage il contenuto che si trova al nodo indicato. Un nodo una astrazione del contenuto con cui si intende una storia oppure una pagina, oppure ancora un post del forum. Indicando "user" viene visualizzata la home page dell'utente se questo ha effettuato il login, altrimenti una pagina con la form di login e la possibilit di effettuare la registrazione o richiedere una nuova password.

Opzioni di configurazione avanzateImpostiamo il fuso orario che deve assumere il sito selezionando "Configurazione del sito", quindi il link Data e ora.Possiamo permettere ad ogni singolo utente registrato di selezionare un fuso orario personale, in modo che venga visualizzata correttamente l'ora nelle varie sezioni del sito. Sempre nello stesso pannello possiamo scegliere quale giorno indicare come il primo giorno della settimana, quindi impostare un formato di visualizzazione della data predefinito. Figura 1. Impostazione fuso orario e ora

Ora selezioniamo File System e impostiamo il metodo di download: se vogliamo avere un certo livello di controllo su chi pu scaricare i file forniti per il download sul sito, conviene settare il download privato, in modo che Drupal possa gestire la distribuzione dei file attraverso i permessi utente. Altrimenti, possiamo impostare il download pubblico e delegare il controllo dei download al server Web. Impostiamo in modo corretto i percorsi delle cartelle di sistema (dove verranno conservati i file disponibili per il download) e la cartella temporanea. Attenzione, perch se volete offrire il download privato, la cartella di sistema non deve essere raggiungibile dai browser web, ma solo dal server.

Nel pannello Formati di input decidiamo qual' la tipologia di filtro da applicare ai contenuti inseriti dagli utenti: di default abbiamo HTML filtrato (selezionato come predefinito) e HTML completo. Ambedue i metodi consentono di trattare l'input utente, correggendo l'HTML incorretto, verranno convertiti i caratteri "a capo" in tag br e p e verranno trasformati tutti gli URL http e e-mail in links cliccabili. In pi HTML filtrato applica un filtro che rimuove JavaScript e CSS. Possiamo aggiungere un nuovo formato di input, e associare ad ognuno di essi dei ruoli utente. Quando ad un ruolo utente sono assegnati pi formati di input, sar l'utente stesso a selezionare quello che ritiene pi adatto al momento dell'inserimento di nuovo contenuto. Selezionando Lingue possiamo decidere quali linguaggi attivare, quale settare come predefinito ed aggiungere una nuova lingua. Avendo installato Drupal aggiungendo la lingua italiana, dovremmo avere due linguaggi di scelta. Nel tab Configura abbiamo la possibilit di decidere come viene gestita la scelta automatica della lingua: infatti Drupal in grado di impostare in modo autonomo la lingua in cui presentarsi al visitatore in base al percorso dell'URL (sito/en oppure sito/it), in base al nome di dominio (it.sito.com oppure en.sito.com), oppure in base al percorso ma controllando anche le preferenze dell'utente oppure la lingua richiesta dal browser. Arriviamo al pannello Logging and alerts. Qui abbiamo la possibilit di impostare il numero massimo di righe da tenere nel log sul database. Figura 1. Miglioriamo le prestazioni di Drupal

Infine, apriamo la pagina Prestazioni. Abilitare la cache una operazione che serve a migliorare le prestazioni del sito quando sottoposto ad un carico di accessi notevole. Attivando la cache le pagine del sito non vengono rigenerate da zero ad ogni richiesta, ma soltanto quando viene effettuato il primo accesso alla pagina. Gli accessi successivi non portano alla ricostruzione della pagina, ma il server consegna al browser una copia del codice HTML che ha mantenuto conservata in memoria. Abbiamo tre opzioni per il caching: non attivarlo, attivarlo in modalit normale oppure in modalit aggressiva, opzione che come avverte il pannello potrebbe causare qualche problema dovuto al caricamento dei moduli. Possiamo anche impostare quanto far durare il tempo di caching dal pannello. Vi sono alcune opzioni utili per risparmiare banda e migliorare i tempi di download, come attivare la compressione delle pagine HTML. Possiamo inoltre ottimizzare i file CSS e JavaScript, facendo in modo che multipli files siano aggregati in uno solo. Drupal offre poi opzioni avanzate per gestire la visualizzazione dei moduli quando il server sotto stress usando il modulo Throttle, parleremo di questo pi avanti.

Cosa sono i moduliDrupal un CMS che basa le proprie funzionalit sui moduli: proviamo ad accedere alla voce di menu "Amministra", quindi "Struttura del sito" ed infine "Moduli". Figura 1. Moduli Drupal

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. Figura 2. Modulo Blog

Proviamo ad inserire titolo, corpo del post di esempio e pubblichiamolo. Figura 3. Primo post blog

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.

I moduli attivati di defaultAnalizziamo il funzionamento dei moduli attivati di default: Block: un modulo che non possibile disabilitare, si occupa della gestione dei blocchi, che essenzialmente sono parti di pagina come la sidebar, il footer, l'intestazione. Color: permette di cambiare in modo molto semplice i colori di alcuni elementi della pagina, se associato ad un tema che lo sfrutta adeguatamente come il tema di default. Per fare ci accedere alla configurazione del tema, da Amministra, Struttura del sito e Temi. Comment: consente agli utenti di commentare ogni tipo di contenuto fornito sul sito. Per amministrare come vengono gestiti i commenti, cliccare la voce Amministra, Gestione utente e Permessi nella sidebar. In questo pannello, come verr spiegato, vengono gestiti i permessi degli utenti. Database logging: esegue un monitoraggio del sistema, un registro degli eventi che accadono sul sito, e li registra nel database per una successiva analisi. I report vengono forniti nella voce Reports del menu Amministra. Filter: non disattivabile, si occupa della gestione dei formati di input. Help: il modulo di aiuto responsabile della creazione della guida utente, che si trova nella sidebar, in fondo al menu Amministra. Il suo compito quello di ispezionare ogni modulo attivato ed estrarre - se esistono - i file della guida utente e metterli a disposizione in questo repository centralizzato. Locale: consente di presentare il sito Drupal in molteplici linguaggi; quando un utente richiede una pagina, viene stabilito in quale linguaggio stata impostata una preferenza, quindi se esiste la traduzione in quel linguaggio viene spedita quella, altrimenti viene fornito il contenuto nella lingua di default. Menu: gestisce i menu creati per la navigazione all'interno del sito. Il menu con cui abbiamo fino ad ora gestito il sito Drupal gestito da questo modulo. Node: anch'esso un modulo non disattivabile. Esso permette di inserire contenuti nel sito e consente di mostrarli nelle pagine. Vedremo pi avanti i dettagli sulla gestione del contenuto. System: come Node un modulo sempre attivo. il cuore di Drupal, fornisce le funzionalit che permettono di visualizzare le pagine amministrative, configurare il comportamento base del sito, scegliere i moduli desiderati, gestire la cache e molto altro ancora. Taxonomy o Tassonomia: permette l'organizzazione dei contenuti in categorie, classificandoli in base a vari sistemi come l'uso dei tags, delle categorie e per data. Update status: controlla se esistono aggiornamenti disponibili per Drupal ed anche per i moduli e temi installati. User: non disattivabile, gestisce la registrazione degli utenti ed il sistema di accesso, consentendo di assegnare il contenuto agli utenti.

Aumentare le funzionalit usando i moduli fornitiNelle precedenti lezioni abbiamo descritto i moduli che sono attivati di default da ogni installazione di Drupal e abbiamo anche visto che oltre a questi moduli vi una serie di estensioni non attivate, che con un semplice clic possono attivare funzionalit avanzate integrabili in modo trasparente in Drupal. Vediamo ora quali sono questi moduli e qual' il loro scopo: Aggregator: si occupa di controllare un elenco di feed RSS, RDF o Atom che impostiamo e pu visualizzare le ultime notizie in un blocco. Blog: consente agli utenti registrati di gestire un blog interno al sito. Blog API: abilita la possibilit di postare sul blog attraverso programmi di terze parti e applicazioni Web. Book: un altro sistema di gestione dei contenuti che permette di organizzare una serie di informazioni creando una sorta di libro, ottimo per pubblicare guide e manuali. E' possibile creare libri a cui pi persone contribuiscono alla realizzazione. Contact: introduce un modulo di contatto per ogni utente per facilitare la comunicazione, e si occupa della form di contatto dell'amministratore. Content translation: permette di tradurre il contenuto in varie lingue. In collaborazione con il modulo Locale completa il processo di traduzione delle pagine. Forum: integra un forum in Drupal. Installandolo, avremo un nuovo contenuto, Forum topic, che rappresenta il primo post di un thread. Altri utenti potranno quindi rispondere ed iniziare una discussione. OpenID: abilita la possibilit di registrarsi al sito usando un account OpenID. Path: permette di specificare degli alias per gli URL, ovvero assegnare nomi significativi agli URL che vengono generati. PHP filter: abilita la possibilit di inserire codice PHP negli elementi di contenuto, permesso che dovrebbe essere accordato solamente ad utenti fidati. Ping: invia notifiche a ogni volta che viene aggiunto contenuto al sito. Poll: gestisce sondaggi che possono essere proposti ai visitatori. Profile: permette di impostare dei campi personalizzati nei profili utente. Search: consente la ricerca del contenuto all'interno del sito. Statistics: si occupa di mantenere le statistiche di accesso al sito, mostrando i siti da cui provengono gli utenti, le pagine pi viste, mostra gli utenti pi attivi sul sito ed altro ancora. Syslog: fa in modo che Drupal possa comunicare con il log di sistema. Throttle: un modulo molto avanzato che si comporta come un controllore del traffico, e quando si verifica un picco di visite consente di disabilitare alcuni moduli che potrebbero portare ad una bassa performance oppure rendere il sito irraggiungibile. anche possibile, in questi casi, indicare a Drupal di disabilitare la visualizzazione delle immagini utente. Tracker: visualizza i contenuti recentemente aggiunti oppure modificati, visualizzando l'utente che ha effettuato la modifica. Trigger: implementa uno strumento utile che permette di eseguire azioni quando si verificano eventi come ad esempio l'aggiunta di nuovo contenuto, la modifica di un account oppure il login di un utente. Upload: consente agli utenti di caricare files sul server. Nel corso di questa guida vedremo in dettaglio il comportamento di questi moduli e come configurarli.

Nodi e BlocchiLa gestione del contenuto di Drupal molto particolare, infatti nonostante sia possibile inserire una grande variet di contenuti di diverso tipo, essi hanno tutti una caratteristica comune, ovvero sono dei nodi. Per chi ha nozioni di programmazione ad oggetti, possiamo dire che tutti i tipi di contenuto ereditano le caratteristiche comuni dalla "classe" nodo, che rappresenta l'astrazione del contenuto. Tutti i tipi di contenuto hanno attributi come un autore, data di creazione, titolo. Inoltre, ogni contenuto associato ad una categoria e pu ricevere commenti da parte degli utenti. Le caratteristiche comuni di ogni contenuto non finiscono qui, ma possiamo anche associare attachments e tenere traccia delle revisioni. Drupal tratta ogni contenuto dapprima come un nodo in generale per semplificarne la gestione, quindi entra nei dettagli e pu cos separare un articolo da un post del forum o da un sondaggio. Una pagina generata da Drupal non composta soltanto dal contenuto proposto, ma pu essere integrata dai blocchi. Esempio di blocchi sono la form di login, il menu di navigazione, persino l'immagine "Powered by Drupal" che compare a fondo pagina. Alcuni di questi blocchi sono forniti di default ma anche possibile creare blocchi personalizzati. Per gestirli necessario selezionare la voce "Amministra" dalla sidebar, quindi andare su "Struttura del sito" ed infine cliccare su "Blocchi". Viene visualizzata una pagina che elenca i blocchi attualmente installati nel sistema, raggruppandoli in base alla posizione all'interno del layout della pagina: abbiamo alcuni blocchi che vengono posizionati nella sidebar destra, altri in quella sinistra, blocchi che vengono inseriti nella parte della pagina dedicata al contenuto, nell'intestazione e nel footer. Figura 1. Posizionamento blocchi

possibile modificare la zona della pagina dove visualizzare un blocco attraverso una comoda interfaccia drag and drop, semplicemente trascinando la voce dove desideriamo inserirla, usando la freccia a sinistra. Possiamo provare ad abilitare il blocco "Chi online", ponendolo nella sidebar destra e quindi cliccando il pulsante "Salva blocchi". Proviamo a configurare il blocco "Chi online". Abbiamo quattro zone di configurazione: Figura 2. Blocco Chi online

Le impostazioni sono voci di configurazione specifiche del blocco selezionato. Nel nostro caso abbiamo: Titolo blocco, Attivit utente e Lunghezza dell'elenco utenti. La seconda zona, "Impostazioni specifiche di visibilit per utente", consente di impostare se gli utenti possono decidere o meno di visualizzare il blocco. "Impostazioni specifiche di visibilit per ruolo" consente di specificare quali ruoli utente possono visualizzare il modulo, ad esempio solo gli amministratori, mentre "Impostazioni specifiche di visibilit per pagina" ci permette di specificare pagine in cui non abilitare il blocco, specificare le pagine in cui visualizzarlo oppure impostare una regola PHP per decidere quando visualizzarlo.

Creare e gestire contenutiInseriamo un nuovo contenuto, ad esempio una Pagina: dalla sidebar, basta selezionare "Crea contenuto", quindi cliccare la voce Pagina. Inseriamo il titolo, il corpo della pagina. Selezionando "Impostazioni del menu" possibile associare la pagina ad un menu, in modo che essa venga mostrata ad esempio nel menu principale. Scegliamo il formato di input. Come abbiamo visto parlando dei moduli, di default possiamo scegliere tra HTML filtrato e non filtrato. Abbiamo quindi la possibilit di inserire informazioni sulla revisione, in modo che vi sia traccia nel futuro di tutte le modifiche che abbiamo eseguito sul contenuto. Figura 1. Creazione Pagina in Drupal

Infine, impostiamo se vogliamo abilitare la possibilit di inserire i commenti alla pagina. Possiamo modificare le informazioni sull'autore, ed infine scegliere se pubblicare la pagina, mostrarla in home page e se renderla un contenuto fisso in cima alla lista, in modo che non perda mai il focus. Proviamo ad inserire qualche Pagina, in modo da avere il materiale per esercitarci nel gestire il contenuto. Dalla sidebar di amministrazione baster selezionare "Amministra/Gestione dei contenuti" e cliccare la voce "Contenuto": verr visualizzata una pagina contenente l'elenco di tutti i nodi presenti nel database. Possiamo classificare le voci per lo stato di pubblicazione, per il tipo di contenuto e per la lingua in cui sono scritti. Abbiamo quindi la possibilit di modificare lo stato del contenuto, infatti possiamo: pubblicare nodi non ancora pubblicati de-pubblicare nodi pubblicati promuovere in prima pagina un contenuto

togliere un nodo dalla prima pagina rendere fisso in cima alla lista una voce togliere un elemento di contenuto dalla cima della lista eliminare un contenuto.

Se abbiamo abilitato i commenti, possiamo controllarli e gestirli attraverso una interfaccia predisposta, che si trova nel menu "Gestione dei contenuti", cliccando la voce "Commenti". Aperta la pagina, abbiamo la lista dei commenti pubblicati. Possiamo selezionarne alcuni e rimuoverne la pubblicazione, oppure eliminarli. Se abbiamo abilitato la coda di approvazione, abbiamo la possibilit di esaminarla e procedere alla moderazione attraverso il tab Coda di approvazione. Una interessante impostazione che possiamo settare per il sito, ed in particolare per la home page, stabilire quanti elementi di contenuto mostrare in prima pagina e decidere se mostrare l'intero contenuto degli articoli oppure visualizzare una anteprima. La pagina "Impostazioni di invio", sempre nella categoria "Gestione dei contenuti", ci permette di impostare queste scelte.

Tipi di contenutoCome abbiamo detto in precedenza, un nodo l'astrazione di un elemento di contenuto. L'installazione standard prevede due soli tipi di contenuto: la Pagina e la Storia. La Pagina adatta per creare contenuto che sempre valido e che non cambia quasi mai, poco legato alla sua data di pubblicazione come pu essere la pagina di contatto, mentre la Storia adatta per contenuti che sono legati alla data di pubblicazione come le novit ed i comunicati stampa. L'installazione standard comunque viene fornita con una serie di moduli disattivati che consentono di inserire altri tipi di contenuto, vediamo quali: Argomento di discussione del forum: attivato dal modulo Forum, rappresenta l'inizio di un thread di discussione all'interno del forum. Pagina Book: un contenuto che viene organizzato e gestito all'interno di una visione pi grande che prende il nome di Book, ovvero un libro. Creando contenuto che andr a far parte di un book, verr automaticamente visualizzata una navigazione che permette di accedere alla pagine correlate e che fanno parte del book. Messaggio del blog: tutti sappiamo cos' un blog, e questo particolare contenuto consente di crearlo all'interno di Drupal. Sondaggio: questo contenuto rappresenta una domanda che viene posta ai visitatori, i quali voteranno una risposta predefinita. possibile impostare la durata del sondaggio ed il suo stato. Ovviamente la fantasia l'unico limite per la creazione di nuovi tipi di contenuto, ed installando moduli di terze parti reperibili sul sito ufficiale o in altri repository possibile espandere le possibilit che vengono fornite.

Figura 1. Creazione intervento blog

Menu e collegamentiQuando abbiamo parlato della creazione di nuovo contenuto, ho detto che possibile associare un nodo ad una voce di menu. Drupal permette di creare molti menu. Di default ne abbiamo tre: Navigazione, il menu che viene fornito agli utenti che si registrano al sito, lo stesso che usiamo per amministrare Drupal. Links primari, non attivato di default ma deve essere abilitato dal menu Blocchi. Links secondari come links primari, non preattivato. Proviamo ad attivare il menu Links primari, e ad associarvi delle voci: apriamo il menu "Blocchi", da "Amministra" e "Struttura del sito". Usando l'interfaccia drag and drop, portiamo la voce "Links primari" in Right sidebar, quindi clicchiamo "Salva blocchi". Ora torniamo alla voce Menu per configurarlo e selezioniamo il menu Links primari. Figura 1. Links primari

Selezioniamo il collegamento "Aggiungi voce". Figura 2. Aggiungi voce

Possiamo creare il collegamento ad una Pagina: visitiamo una pagina e prendiamo nota dell'URL che generato, quindi inseriamo il collegamento relativo nella form, alla voce "Path". Impostiamo il titolo della scritta, la descrizione che verr visualizzata quando col mouse ci soffermiamo sulla voce di menu, quindi settiamo alcuni parametri come la voce padre del menu. Cliccando Salva, verr salvato il menu, che sar visibile nella sidebar destra. Se clicchiamo il menu "Navigazione", possiamo notare come avendo molte voci di menu possibile riorganizzare la presentazione e la profondit delle voci utilizzando il comodo drag and drop.

La gestione degli URLNel precedente capitolo ho spiegato come inserire una voce in un menu, indicando l'URL di un elemento di contenuto. Gli URL generati da Drupal possono assumere due tipologie: se sono attivati gli URL semplificati avremo indirizzi del tipo "http://sito.com/node/1", altrimenti "http://sito.com/index.php?q=node/1". Gli URL semplificati, chiamati anche URL SEF ovvero Search Engine Friendly, sono universalmente considerati migliori degli URL normali generati da Drupal perch vengono meglio digeriti dai motori di ricerca e perch possono fornire all'utente informazioni sul contenuto visualizzato. Per ottenere gli URL semplificati Drupal si appoggia ad un modulo di Apache, il web server, chiamato mod_rewrite, che si occupa di riscrivere gli URL, ed al file .htaccess che imposta le regole di direzionamento. Figura 1. URL SEF

Gli URL ottimizzati per i motori di ricerca possono essere abilitati o disabilitati a piacimento andando su "Amministra/Configurazione del sito" quindi su "URL semplificati". Qui troveremo un radio button per impostarli o disattivarli. URL SEF o meno, tutte le richieste vengono evase dal file index.php, il quale si preoccupa di individuare la risorsa richiesta e di inoltrare la domanda al sistema.

Controllo dell'accessoOra che abbiamo introdotto la gestione del contenuto, vediamo come sono gestiti gli utenti del sito. Accedendo al menu Amministra, visualizziamo le operazioni disponibili classificandole per funzionalit. Figura 1. Gestione Utente

Abbiamo cinque pannelli per la gestione degli utenti: Impostazioni utente consente di impostare diversi parametri riguardanti gli utenti: possiamo stabilire se la registrazione pubblica oppure solo l'amministratore pu aggiungere nuovi utenti, possiamo forzare la verifica dell'indirizzo e-mail in fase di registrazione. Possiamo qui modificare i template dei messaggi e-mail che sono inviati agli utenti registrati durante varie operazioni, come ad esempio il recovery della password o il blocco dell'account. Infine abbiamo la possibilit di abilitare il supporto degli avatar utente e della firma, un breve spazio di testo che viene mostrato in calce ad ogni contenuto generato dall'utente. Permessi il pannello dove possiamo controllare tutto ci che un utente pu fare sul sito, in base al ruolo che ha. Di default abbiamo due ruoli, utente anonimo (non registrato) ed utente registrato. Ogni modulo installato nel sistema mette a disposizione delle funzionalit, cui possiamo assegnare i permessi in questo pannello. Regole di accesso, elenca e crea regole per disabilitare determinati nomi utente, indirizzi e-mail e indirizzi IP. Ruoli permette di aggiungere nuovi ruoli e di modificare quelli esistenti. I ruoli sono un meccanismo molto importante in Drupal perch consentono di applicare un controllo delle operazioni associate in modo molto granulare. Utenti il pannello che elenca gli utenti registrati al sito. Tramite questo pannello possibile bloccare e sbloccare alcuni utenti, eliminarli ed aggiungerne di nuovi.

Figura 2. Utenti

Ruoli e permessiDrupal gestisce le operazioni che sono consentite agli utenti attraverso i ruoli e grazie alla gestione dei permessi: ogni utente associato ad un ruolo. Un tipico sito pu avere utenti anonimi non registrati, utenti registrati, editori, moderatori e amministratori. Ognuno di questi ruoli ha associati dei permessi specifici, in modo che l'amministratore del sito possa decidere in modo preciso quali sono le operazioni consentite a ciascun utente. I ruoli vengono gestiti attraverso l'apposito pannello Ruoli: dalla sidebar di amministrazione, selezionare "Amministra", quindi "Gestione utente e Ruoli". Di default vengono forniti due ruoli: anonymous user associato ad un visitatore che non ha effettuato il login, mentre authenticated user un utente registrato. Proviamo a creare un nuovo ruolo, ad esempio "vip user", cui assoceremo qualche permesso aggiuntivo rispetto ai normali utenti autenticati. Figura 1. Creazione nuovo ruolo

Scriviamo il nome del nuovo ruolo nella casella apposita, quindi clicchiamo il pulsante "Aggiungi ruolo". Ora il ruolo appena creato elencato insieme agli altri due preesistenti. Ora dobbiamo associare qualche permesso al ruolo, altrimenti un utente senza permessi non potrebbe fare praticamente nulla all'interno del sito. Clicchiamo la voce modifica permessi associata al nostro ruolo, e spuntiamo tutte le voci che vogliamo assegnargli. A seconda del numero di moduli installati, questa lista conterr un numero diverso di voci. Terminata la selezione, possiamo salvare cliccando il pulsante Salva i permessi. Per avere una visione d'insieme dei permessi associati a ciascun ruolo, possibile accedere al pannello

Permessi dove verranno mostrati tutti i permessi associati ai ruoli esistenti: in questo modo possiamo controllare quali permessi ha un utente registrato, ed assegnare al nostro nuovo ruolo vip pi funzionalit. Figura 1. Permessi

Vocabolari e terminiOrganizzare il contenuto offerto attraverso il sito un compito che spesso si rivela arduo, e non sempre il CMS scelto offre tutte le possibilit che vorremmo: a volte abbiamo bisogno di pi opzioni per catalogare i nostri contenuti, altre volte le funzioni offerte non soddisfano pienamente le necessit. Drupal fornisce un ottimo meccanismo per catalogare il contenuto, ovvero la tassonomia, attraverso il modulo Taxonomy. Esso viene attivato di default, per cui fin dall'installazione possiamo accedere alla gestione della tassonomia attraverso il menu "Amministra", quindi selezionando le voci "Gestione dei contenuti" e "Taxonomy". La pagina elenca la lista delle tassonomie attualmente adottate dal sistema, ed inizialmente vuota. Per comprendere la gestione della tassonomia di Drupal, introduco due nuove definizioni: i vocabolari ed i termini. Per vocabolario si intende un concetto che viene descritto attraverso i termini. Ad esempio, il vocabolario "Sport" ha come possibili termini calcio, nuoto, pallavolo. Dovendo creare un sito di news, possiamo suddividere le notizie in base all'argomento, creando ad esempio il vocabolario "Argomento della notizia", ed i termini politica, sport, cronaca, eventi. Per aggiungere un nuovo vocabolario, apriamo il pannello di amministrazione di Drupal, clicchiamo la voce "Gestione dei contenuti" e selezioniamo "Taxonomy". In questo pannello clicchiamo la voce Aggiungi vocabolario. Per ogni tipologia di contenuto offerta attraverso il sito possibile assegnare pi vocabolari, in questo modo la gestione della tassonomia di Drupal permette di creare categorie, sottosezioni, gerarchie, categorie incrociate, sistemi di tagging.

Configurare le categorieCome abbiamo spiegato parlando dei vocabolari, Drupal permette di realizzare un sistema molto avanzato di tassonomia. Dato che possibile associare ad un contenuto pi vocabolari, vediamo come organizzare le categorie. Consideriamo l'esempio di un sito di notizie, un giornale online: possiamo indicare il vocabolario "Tipo di notizia" ed il vocabolario "Argomento della notizia". Il vocabolario "Tipo di notizia" sar composto da termini che indicano se la notizia locale, se nazionale oppure internazionale; il vocabolario "Argomento della notizia" invece sar formato da termini che ne individuano l'argomento, come ad esempio politica, economia, sport, cronaca. evidente che questi due vocabolari possono essere incrociati in qualunque modo, ad esempio possiamo avere una notizia locale riguardante lo sport, oppure una notizia di politica internazionale. Proviamo a implementare questo sistema: accediamo al pannello Taxonomy, dal menu Gestione dei contenuti. Aggiungiamo un nuovo vocabolario tramite il link "Aggiungi vocabolario": indichiamo come nome "Tipo di notizia", quindi inseriamo una descrizione. Figura 1. Aggiungiamo un vocabolario

Testo di aiuto il campo in cui possiamo indicare il testo che viene visualizzato al momento di scegliere la tipologia di notizia, per cui inseriamo una dicitura che spieghi all'autore del post quello che deve fare. Selezioniamo il tipo di contenuto cui viene associata questa tassonomia, ad esempio "Storia". Scegliamo le impostazioni della tassonomia, selezionando soltanto l'opzione "Richiesto". Inseriamo anche la tassonomia "Argomento della notizia" usando gli stessi parametri, cambiando solo la descrizione. Figura 2. Argomento della notizia

Ora abbiamo i due vocabolari, e dobbiamo definire i termini. Selezioniamo la voce "aggiungi termini" a fianco di ogni vocabolario ed inseriamo delle voci di esempio, come "Locale", "Nazionale" ed "Internazionale" per Tipo di notizia, e "Sport", "Politica" e "Cronaca" per Argomento della notizia. Salviamo le impostazioni. Ora proviamo a scrivere una nuova storia: sotto la form del titolo, abbiamo due campi per selezionare i termini dei vocabolari appena impostati:

Figura 3. Scriviamo una nuova storia

Scrivendo una storia riguardante le elezioni USA, selezioneremo che la notizia internazionale e riguarda la politica. Figura 4. Un esempio di storia con i termini scelti

Abilitare i tagVediamo come possibile inserire un sistema di tagging del contenuto ormai tipico di qualsiasi blog o sito sociale, come ad esempio StumbleUpon o Flickr. Il tagging consiste nell'associare ad un contenuto una serie di parole che lo riguardano: a differenza delle categorie, ad un articolo sono assegnati pi tag. Per poter implementare un sistema di questo tipo in Drupal, rechiamoci nel pannello Taxonomy e clicchiamo la voce "Aggiungi vocabolario". Figura 1. Aggiungiamo un vocabolario

Inseriamo nella form "Nome del vocabolario" la dicitura "Tags", quindi in Descrizione e Testo di aiuto inseriamo un'opportuna descrizione ed una frase da visualizzare all'utente. Selezioniamo il tipo di contenuto per cui vogliamo abilitare i tags, ad esempio le Storie.

In Impostazioni, selezioniamo: Tag se si vuole che l'utente inserisca i tag separati da una virgola all'atto della creazione della storia (si, nel nostro caso) - in caso contrario, l'utente sceglie la categoria della storia da una lista preimpostata dall'amministratore. Selezione multipla per permettere pi termini del vocabolario (si anche in questo caso) Richiesto per rendere obbligatorio completare il campo Una volta salvato andiamo su "creare una storia", dal menu "Crea contenuto". Come noteremo, stato aggiunto il campo "Tags" proprio sotto il titolo della storia. Proviamo ad inserire una storia di esempio, aggiungendo opportuni tag. Figura 2. Inseriamo i tag opportuni

Salvando la pagina, vedremo che la storia appena creata visualizza i tag associati, in questo caso "canzone", "mare" e "rotonda". Figura 3. La visualizzazione dei tag

Drupal ha creato automaticamente una pagina per ciascun tag, della forma http://sito-drupal/?q=taxonomy/term/4 Quando il sito sar ricco di contenuti, ciascuna pagina di un tag elencher tutte le storie che hanno associato questo tag.

Il funzionamento dei moduliDrupal dispone di un sistema che permette di estendere le funzionalit che possono essere fornite attraverso il sito: stiamo parlando dei moduli. I moduli sono una componente di Drupal di cui abbiamo gi parlato nel capitolo I moduli di Drupal, introducendo le estensioni che vengono fornite integrate nel sistema standard. Essendo Drupal un software open source, garantisce la possibilit di essere esteso ed utilizzato in innumerevoli modi, grazie ai moduli sviluppati da terze parti. possibile trovare un elenco dei moduli

disponibili sul sito ufficiale . Come si pu notare esiste un numero vastissimo di moduli forniti in modo gratuito, per implementare qualsiasi funzionalit possa venire in mente. Possiamo creare un sistema di e-commerce, gestire le pubblicit, migliorare il forum preesistente, inserire un sistema di prenotazioni, un calendario, un CRM e cos via. Proviamo ad installare un semplice modulo, per vedere qual' il procedimento di estensione di Drupal. Prendiamo ad esempio il modulo World Clock un modulo che visualizza una serie di orari di differenti fusi orari, in un blocco. Apriamo la pagina indicata e clicchiamo il link "Download" corrispondente alla release di Drupal che abbiamo installato. Figura 1. Scarichiamo un modulo

Ora inizier il download del file compresso contenente il modulo. Prima di toccare l'installazione Drupal, consigliato effettuare il backup di file e di database. A questo punto scompattare il file e copiare la cartella worldclock nella directory "Drupal/modules". Ora abilitiamo il modulo dall'interfaccia di amministrazione di Drupal: dalla sidebar di amministrazione, cliccare Amministra, quindi Struttura del sito ed infine Moduli. Possiamo notare che oltre ai box Core - opzionali e Core - richiesti, presenti di default, stato aggiunto il box Altro, che indica i moduli di terze parti. Figura 2. Il modulo World Clock

Attiviamo il modulo, quindi clicchiamo Salva configurazione. Configuriamo il modulo selezionando dalla sidebar "Configurazione del sito", quindi "World Clock". Possiamo scegliere le zone di fuso orario da visualizzare ed altre impostazioni relative alla visualizzazione. Ora il modulo attivo e configurato, e dobbiamo inserire il blocco apposito nel sito per poterlo visualizzare: dalla sidebar clicchiamo il link Struttura, Blocchi e tra i blocchi della sezione Disattivato dovremmo trovare World Clock. Trasciniamolo ad esempio nella sidebar destra, e clicchiamo Salva blocchi. Il nostro modulo ora pienamente funzionante, e dovrebbe essere visibile nella sidebar destra: Figura 3. World Clock abilitato

importante notare che il metodo di installazione potrebbe variare da modulo a modulo, in particolare esistono moduli che richiedono modifiche al database oppure interventi nel core di Drupal. In questo caso necessario visionare le istruzioni di installazione di ogni specifico modulo.

I migliori moduli aggiuntiviCome evidenziato nel precedente capitolo, esistono innumerevoli moduli per Drupal, ognuno specializzato in una operazione diversa. Vediamo un elenco di moduli aggiuntivi che sono ritenuti pi utili dalla comunit, come risulta dalle statistiche del sito Drupal Modules Poormanscron: un modulo che permette di eseguire le operazioni di cron richieste da Drupal quando il programma di cron non disponibile; molto utile quando il sito ospitato da un hosting che non permette il controllo delle operazioni cron. Fivestar: aggiunge un meccanismo di votazione (usando AJAX) ai nodi di Drupal; in questo modo possibile implementare uno strumento per verificare il gradimento dei contenuto pubblicati. Drupal Administration Menu: fornisce un'interfaccia di amministrazione indipendente dal tema utilizzato (non supporta Drupal 6); specialmente utile quando il tema usato nel sito non si adatta bene all'interfaccia di amministrazione, rendendola poco chiara ed usabile. Content Construction Kit (CCK): permette di creare e configurare tipi di contenuto personalizzati usando il browser Web; molto utile per andare oltre quelle che sono le configurazioni base offerte dal sistema di default. Google Analytics: integra le statistiche di Google Analytics, per poter analizzare il traffico del sito. Super Nav: separa l'amministrazione del sito dal tema. Pathauto: genera in modo automatico URL SEF, senza bisogno di specificarli a mano; molto utile quando il numero di pagine presenti elevato, consentendo un risparmio di tempo notevole. ImageCache: permette di impostare e gestire la cache delle immagini. Workflow-ng: consente di personalizzare il flusso operativo (workflow) di Drupal in base alle proprie esigenze. Devel: indispensabile per sviluppatori e creatori di template, permette di impostare dei blocchi che forniscono informazioni che aiutano nel corso dello sviluppo. FCKeditor - WYSIWYG HTML editor: editor visuale per sostituire i campi di inserimento del contenuto forniti di default. Indispensabile per inserire particolari tipi di contenuto. Content Templates (Contemplate): permette di specificare templates per gestire il contenuto del sito. Pensato per l'interazione con CCK. Advanced Forum: permette di aggiungere nuove funzionalit al modulo di forum fornito di default in Drupal, che s un completo sistema di forum di base ma manca di alcune funzioni che grazie a questo modulo vengono integrate. Image: consente agli utenti di caricare immagini sul server, generando in modo automatico i thumbnails.

Azioni e triggerUn metodo per estendere Drupal che non coinvolga i moduli utilizzare la nuova opzione del core di Drupal 6 (prima disponibile come modulo), chiamata Azioni e trigger.

Essa permette di impostare un workflow personalizzato usando le potenti azioni, che permettono di generare nuovi comportamenti e regole in Drupal. Ad esempio possibile personalizzare in modo specifico come viene gestito il processo di pubblicazione dei post, oppure inviare una mail personalizzata quando viene creato del contenuto. In particolare, i trigger sono degli eventi che possono essere ad esempio l'aggiornamento di un post, il login di un utente oppure un visitatore che accede al contenuto di una storia. Drupal permette di impostare delle azioni (actions, appunto) che vengono intraprese quando si verifica un trigger. Vediamo un esempio di questo comportamento particolare. Per prima cosa abilitiamo le azioni ed i trigger: dal menu di amministrazione di Drupal, selezioniamo Amministra, quindi Struttura del sito e Moduli. Attiviamo il modulo Trigger e clicchiamo "Salva configurazione". Noteremo che stata aggiunta una nuova voce al menu Struttura del sito, chiamata Trigger. Clicchiamola. Figura 1. La voce Trigger

Impostiamo un trigger che avvisa l'autore di un contenuto quando viene scritto un commento alla sua storia. Apriamo il menu Configurazione del sito, e selezioniamo Azioni. Clicchiamo il menu "Crea una nuova azione avanzata per renderla disponibile" e selezioniamo "Invia e-mail", quindi clicchiamo Crea. Figura 2. Creiamo una nuova azione avanzata

Nel campo "Recipient" inseriamo il valore "%author" per inviare la mail all'autore del contenuto. Inseriamo l'oggetto della mail in Oggetto ed inseriamo un messaggio da spedire. Clicchiamo Salva. Figura 3. Impostiamo l'email dell'autore del contenuto

Ora accediamo al menu "Struttura del sito" e selezioniamo la voce "Trigger". Selezioniamo il tab

Commenti e alla drop box "Trigger: Dopo aver salvato un nuovo commento" selezioniamo la voce Invia email, e clicchiamo Assegna. Come possiamo vedere, il trigger verr salvato. Figura 4. Il Trigger stato creato

Ora quando un utente ricever un commento ad una storia che ha scritto, ricever una e-mail

Installare nuovi temi in DrupalPer installare un nuovo tema, scaricare il file compresso del tema desiderato. Assicuratevi che il tema sia sviluppato per la versione di Drupal che utilizzate, altrimenti potrebbe non funzionare a dovere. Scompattate il file in una cartella e leggete, se esiste, il file README o INSTALL fornito con il tema. I temi Drupal vengono eseguiti grazie ad un Theme Engine, ed alcuni temi usano un motore di tema che potrebbe non essere installato nel sistema. Assicuratevi che l'Engine che viene utilizzato dal tema in questione sia installato nella cartella "themes/engines", altrimenti scaricatelo dal sito ufficiale. Caricate la cartella del tema nella cartella /sites/all/themes/. Ora dalla sidebar di amministrazione cliccate "Amministra", "Struttura del sito", "Temi" ed abilitate il tema appena installato, modificate le impostazioni del tema cliccando il link "configura" ed impostatelo come predefinito. Figura 1. I Theme Engine di Drupal

Dove trovare template per DrupalDrupal offre alcuni template aggiuntivi, oltre a quello di default, che permettono di personalizzare l'interfaccia grafica offerta ai vostri visitatori. Per visionare i temi forniti, dalla sidebar di amministrazione cliccare Amministra, Struttura del sito e Temi. Figura 1. Temi per Drupal

Questa interfaccia permette di attivare i temi, scegliere il tema predefinito e configurarli. possibile attivare pi temi e lasciare all'utente la possibilit di scegliere quale tema preferisce. Di default abbiamo diverse possibilit per il layout del sito, ma ovviamente possibile personalizzare il look in modo ancora pi marcato usando un tema sviluppato da terze parti. Nel web sono disponibili molti siti che offrono templates per Drupal, gratuiti e a pagamento. Vediamo alcune possibilit: La sezione temi del sito ufficiale di Drupal fornisce molta scelta, ed possibile scegliere di visualizzare i temi in base alla versione di Drupal. Theme Garden un sito showcase che mostra molti template gratuiti per Drupal disponibili su Drupal.org, possibile visualizzare il sito "vestito" con molti temi diversi, ed ottimo per esplorare in modo dettagliato il comportamento di ciascun tema. All Drupal Themes produce ottimi temi gratuiti per Drupal. I temi realizzati da SiteGround Temi messi a disposizione, a pagamento, da Template Monster Temi forniti da Osskins.com, a pagamento e gratuiti.