home / Drupal il Re dei CMS!

Drupal il Re dei CMS!

Le scorse settimane abbiamo parlato di WordPress e Joomla, accennando per sommi capi a vantaggi e svantaggi di questi CMS.
Visto che scrivere dettagliatamente di ognuno richiederebbe troppo tempo e troppe pagine, abbiamo cercato di concentrarci in ogni articolo su determinati aspetti, con l’idea di presentare gli altri man mano che il discorso lo richiedeva nei successivi articoli.

Abbiamo chiuso l’ultimo post su Joomla parlando fra le varie, dell’area di amministrazione di Joomla e WordPress, che sono spazi graficamente e concettualmente separati dal sito vero e proprio.

Riprendiamo da questo punto parlando di Drupal per sottolineare la prima differenza che salta all’occhio la prima volta che si lavora con questo CMS: area di gestione e front-end del sito non sono aree del tutto separate ma condividono la medesima interfaccia.

Dopo aver effettuato il login come amministratore il sistema non propone un’interfaccia differente rispetto al sito ma carica una serie di menù e barre degli strumenti che permettono di lavorare sui contenuti, mentre viene caricata una finestra in overlay per gestire le configurazioni avanzate.
tonic-home-dopo-login

Nelle immagini qui sopra puoi vedere l’aspetto del nostro sito dopo aver effettuato il login.
L’unica differenza sono le barre degli strumenti in sovrimpressione in cima alla pagina.

Anche concettualmente Drupal è differente dai CMS precedenti. Possiamo considerarlo non solo un CMS ma anche un framework.
Se, infatti, un CMS ha un’architettura già definita (ad esempio gli Articoli e le Pagine di WordPress) e quindi è pensato soprattutto per l’organizzazione e pubblicazione di contenuti, un Framework permette di creare l’architettura di un sito dalle fondamenta, andando anche a stabilire dettagliatamente la tipologia di contenuto e come visualizzarla.
E’ una specie di ambiente di sviluppo: mette a disposizione diversi strumenti, delle librerie per la gestione e per l’astrazione dal database, a quelli usati per gestire gli utenti, per presentare e analizzare i form etc.
Drupal permette di fare tutto questo.

Secondo l’opinione di chi scrive (suffragata dai nostri programmatori che ci lavorano quotidianamente) si può considerare il migliore dei CMS Open Source.
I suoi punti di forza sono:
– la gestione flessibile dei contenuti
– l’uso dei blocchi per visualizzare i contenuti nella pagina
– la gestione degli utenti (ruoli e permessi)
– la tassonomia
– le azioni
– le viste
– la community a supporto

I contenuti

Per Drupal ogni contenuto è un nodo. Quando si maneggia un contenuto si sta lavorando con i nodi di Drupal. Ad esempio un articolo di blog corrisponde ad un nodo.
Alcuni contenuti sono già pronti in Drupal (articoli di blog e pagine) ma è possibile anche creare ex novo delle tipologie personalizzate, sia con gli strumenti integrati in Drupal, sia installando nuove funzionalità.
In generale si può dire che ogni singolo elemento di contenuto inserito dentro Drupal è un nodo, anche una nuova voce di un menù o un form di richiesta.
Ognuno di questi elementi può essere personalizzato.
E’ possibile definire tipologie di contenuti specifici per un determinato sito.
tonic-tipologie-contenuto-drupal

Nell’immagine qui sopra sono presenti le tipologie di contenuto a disposizione sul sito di Tonic.
Alcuni di questi sono contenuti di default di Drupal, altri come Portfolio o Staff sono stati creati appositamente.
Ad esempio il contenuto Staff è formato da un titolo, una qualifica e una foto.

Una volta caricato il contenuto, il CMS si occupa di presentarlo nella corretta sezione del sito, con la giusta formattazione.
Ad esempio un contenuto di tipo Staff verrà visualizzato in questa pagina del nostro sito.

Blocchi

I blocchi sono quei contenitori generici che è possibile creare, configurare e posizionare in diversi modi. Ci sono diversi tipi di blocchi, ma la loro gestione è uniforme.
Sempre in riferimento alla pagina con il nostro staff, un blocco si occupa di visualizzare il menù del sito (che – non lo scordiamo – è un nodo), un altro il form di contatti in basso e così via.
I blocchi grosso modo corrispondono ai moduli di Joomla, visualizzati in una certa regione del template.

Gestire gli utenti

Altro vantaggio di Drupal è la gestione degli utenti. WordPress in questo senso è molto semplice perchè prevede 5 ruoli con specifici permessi e solo tramite plug-in aggiuntivi è possibile estendere queste funzionalità.
Joomla è leggermente più complesso perchè prima distingue gli utenti registrati in due gruppi: utenti del front-end e utenti del back-end.
Quindi per ciascuno ci sono dei livelli di autorizzazione diversi a cascata, ovvero il ruolo successivo ha gli stessi permessi ed autorizzazione del precedente, più altri specifici.
Per essere più chiari analizziamo i 3 livelli degli utenti del back-end:
manager: pieno controllo dell’amministrazione dei contenuti; si possono aggiungere, modificare ed eliminare sezioni e categorie, ma non è possibile operare su template ed estensioni nè si possono aggiungere utenti o modificarne i profili;
administrator: si può operare sulle estensioni e sui template della piattaforma; si possono gestire i ruoli di tutti gli utenti che hanno un livello di autorizzazione inferiore o uguale; non è possibile cambiare alcune impostazioni globali del sito;
super administrator: è il più alto e consente di accedere a tutte le funzioni di Joomla.

Drupal è ancora più specifico, infatti è possibile creare utenti e ruoli a piacere, assegnando livelli di autorizzazione differenti a ciascuno.
L’amministratore di un sito sviluppato con Drupal può decidere in modo preciso quali sono le singole operazioni consentite a ciascun utente.
Ad esempio nel nostro sito potremmo decidere che tutti i dipendenti possono creare un contenuto Staff per caricare il proprio profilo nel sito, ma solo gli amministratori possono rimuovere questi contenuti.
Oppure potremmo fare in modo che l’utente non registrato che accede al sito possa vedere solo la foto e il ruolo, mentre un utente che si registra potrebbe accedere ad altre informazioni come il telefono o la mail del singolo dipendente.

La Tassonomia di Drupal

La tassonomia, che permette di classificare i contenuti in modo molto flessibile, è una delle caratteristiche migliori di Drupal.
Può essere paragonata a tag e categorie presenti su WordPress ma il discorso è più complesso.
La tassonomia è semplicemente una classificazione dei contenuti in una struttura gerarchica. Ad ogni contenuto è possibile associare dei tag che a loro volta fanno parte di un vocabolario (cioè un gruppo di termini correlati). Drupal permette di creare e gestire infiniti vocabolari e di stabilire anche con precisione come e chi può inserirvi i tag.
Su WordPress c’è un solo tipo di tassonomia, usabile inoltre solo per i post.

La Community di Drupal (Moduli e Assistenza)

Le tassonomie ci permettono di affrontare un altro aspetto di Drupal, l’uso dei moduli.
Infatti per utilizzare le tassonomie è necessario abilitare il relativo modulo Taxonomy (inserito nativamente da Drupal 6 in poi).
I moduli non sono altro che porzioni di codice che estendono, costruiscono o arricchiscono le funzioni di base di Drupal.
Corrispondono ai plug-in di WordPress e alle estensioni che abbiamo visto su Joomla.
Alcuni moduli sono richiesti immediatamente da Drupal per funzionare e sono attivati automaticamente dal sistema; lo sviluppatore può scaricare ed attivare quelli di cui ha bisogno, ad esempio il modulo Forum per creare velocemente all’interno del sito delle sezioni forum dove gli utenti possono postare e rispondere a discussioni.
Oppure scaricarli dal sito drupal.org oppure svilupparne di nuovi in base alle sue esigenze.
Ed ecco un altro grande vantaggio di Drupal rispetto agli altri CMS: la community che supporta questo progetto.
Infatti tutti i moduli sono scaricabili solo dal sito ufficiale drupal.org dove, prima di essere pubblicati, sono stati sottoposti ad una serie di controlli automatici e ad una successiva procedura di verifica molto dettagliata.
Questa serie di passaggi e la centralità della distribuzione offrono maggiori garanzie di sicurezza, robustezza e funzionalità.
Se nell’utilizzo di un modulo si riscontrano bug o errori vari è possibile segnalarlo da un’apposita sezione del sito e spesso dopo poco tempo, l’errore è subito corretto.
Anche WordPress e Joomla hanno i loro siti ufficiali ma spesso molti plugin ed estensioni sono distribuiti da sviluppatori indipendenti su siti esterni, quindi i controlli sono minori e i rischi di errori o incompatibilità fra i vari componenti maggiori.

drupal-contenuto-staff

Singolo contenuto di tipo Staff

Ci sono moduli che si occupano di manipolare le immagini, altri che permettono di integrare un editor di testo simile a Word per i contenuti, altri per la SEO.
La pagina dedicata https://drupal.org/project/modulessul sito ufficiale permette di cercare e scaricare tutti i moduli a disposizione.

Le viste

Uno dei moduli più importanti è sicuramente Views. Parlarne in dettaglio richiederebbe forse un libro intero; possiamo descriverlo in poche parole come una macchina per le query (database query builder).
Dalla prossima versione sarà inserito nativamente nel codice sorgente di Drupal e costituisce un altro dei grandi vantaggi di questo CMS.
Drupal memorizza ogni informazione in un database MySQL, il modulo Views svolge il lavoro del programmatore, ovvero consente di creare elenchi di contenuti e di visualizzarli secondo determinati parametri.

La pagina con le foto di tutto il nostro Staff è una Vista che traduce queste istruzioni: mostrare l’elenco di tutti i contenuti di tipo Staff  con una porzione di testo introduttiva e ciascun elemento formattato all’interno di una lista con foto, nome e ruolo.

Il portale turistico WalkAbout Florence che abbiamo realizzato per un cliente è stato realizzato interamente in Drupal e fa largo uso delle viste.
Questo sito è l’esempio perfetto di cosa è possibile realizzare con Drupal.
Si tratta di sito che offre a turisti stranieri la possibilità di prenotare tour turistici in Toscana.
Ogni tour è diviso per tipologia ed è stato creato un sistema di prenotazione integrato con le API di PayPal, inoltre l’utente quando accede ha a disposizione un’area riservata per organizzare la sua gita scegliendo fra le varie attrazioni da visitare e un sistema provvede a generare dinamicamente una mappa con tutte le mete scelte.

L’immagine qua sotto mostra una pagina che fa uso del modulo Views per mostrare una lista di contenuti creati ad hoc chiamati “Eat e Drink”.
eat-e-drinks

Mentre quest’altra immagine rappresenta la schermata di inserimento di “Eat e Drink”.

inserimento-contenuti-drupal

clicca per ingrandire

Come puoi vedere oltre ai classici campi Titolo e Body (la descrizione) ci sono dei campi particolari quali l’Area di pertinenza, le coordinate geografiche, la categoria di prezzo e molto altro.

Grazie a Drupal abbiamo potuto creare facilmente contenuti specifici in base alle esigenze del cliente, ciascuno con particolari campi in modo da rendere l’aggiunta di informazioni un procedimento semplice, automatizzato.
In questo modo è possibile evitare anche tutti i problemi legati alla formattazione delle informazioni.
L’utente compila ogni singola voce e il sistema provvede a fornire la formattazione richiesta.

A dire il vero anche con Joomla e WordPress è possibile creare un contenuto simile a “Eat e Drink” ma il processo è più laborioso ed è necessario ricorrere ad estensioni di terze parti per poter creare nuovi tipi di contenuto.

Azioni

Infine le azioni sono l’ultimo punto da trattare. In pratica è possibile configurare e personalizzare un flusso di lavoro che si attiva automaticamente quando viene compiuta una certa azione sul sito.
Ad esempio, nel caso di un forum è possibile configurare un azione che, non appena è stato aperto un nuovo thread, invia una mail all’amministratore del forum e un’altra agli utenti registrati.
Oppure, senza bisogno di moduli specifici, è possibile gestire tutte le notifiche agli utenti, ad esempio quando è aperto un topic o c’è una nuova risposta.

Conclusioni

Dunque da quanto detto finora, avrai già capito che Drupal è fra i CMS più performanti e flessibili disponibili sul mercato.
Il nome Drupal, nato da un errore di trascrizione del suo ideatore, è la traslitterazione in inglese della parola che in olandese significa “goccia“.
Alla fine il nome è anche calzante, se pensiamo ad un sito come ad un mare di contenuto. Drupal permette di arrivare a personalizzare le singole gocce!

Quando in azienda dobbiamo sviluppare un progetto complesso, magari da integrare con le nostre piattaforme proprietarie, ci appoggiamo a questo CMS.
Un altro esempio è il portale che abbiamo da poco ultimato per la nota testata giornalistica Quattroruote, Automobili.com
annunci-quattroruoteSi tratta di un progetto molto complesso, che ha integrato all’interno una nostra piattaforma proprietaria e implementato con la piattaforma di ricerca open source Solr, fondamentale per la ricerca full text.
Il progetto ha impiegato molte delle nostre risorse ma ci ha anche permesso di approfondire maggiormente l’uso di Drupal e ha dimostrato la sua robustezza e versatilità.

Quindi nonostante la curva di apprendimento sia molto più elevata rispetto ad altri CMS, Drupal permette veramente di realizzare siti di qualsiasi tipo: dai siti istituzionali a negozi online, portali o blog. Anche l’Università di Harvard e il sito della Casa Bianca sono sviluppati in Drupal.

Scrivi un commento

Informativa cookie

Tonic is a Trademark owned by Dinamo S.r.l. - P.I./C.F. Pisa 01881080509