Vantaggi di Drupal

Nato ormai circa 20 anni fa, Drupal è uno dei più adottati e apprezzati CMS Open Source.

Il suo fondatore, Dries Buytaert, è anche il creatore di Acquia, che sta a Drupal come RedHat sta a Linux: dimostra che è possibile generare valore tangibile dal software Open Source. Un nobile intento riconosciuto anche da Gartner, che ha posizionato Acquia, e quindi Drupal, nel settore più importante del Magic Quadrant per le piattaforme di Digital Experience. Assieme a nomi, ad esempio, come Adobe.

 

Ti occupi di Cloud Transformation?  Scopri gli strumenti IT e le metodologie migliori per essere davvero  competitivo

 

L'importanza di Drupal

Oggi più del 3% dei siti web al mondo usa Drupal, che è uno dei più grandi progetti Open Source presenti sul mercato. Si tratta di un CMS (content management system) che oggi è il motore di una serie di siti e applicazioni molto diversi: dai blog personali a grandi piattaforme aziendali e istituzionali, anche nell'ambito della pubblica amministrazione. È opinione diffusa che Drupal possa essere definito anche CMF (content management framework) per la sua elevata flessibilità: si tratta a tutti gli effetti di un sistema che facilita l'utilizzo di componenti riutilizzabili o software personalizzato per la gestione dei contenuti web. 

L'installazione di base, Drupal Core, fornisce già tutte le funzionalità di un CMS avanzato e moderno, come ad esempio:

  • strumenti di editing WYSIWYG e editing in-place dei contenuti
Drupal In-Place editing

Drupal In-Place editing - Credits: Drupal.org

  • gestione granulare di utenti, ruoli e permessi
  • strutturare i contenuti in maniera flessibile e personalizzata con tipi di contenuto, tassonomie e strutture menu
  • strumenti SEO per gestire ad esempio i metadati, le URL e la generazione delle sitemap
  • un potente motore di ricerca integrato e completamente personalizzabile

Ma queste sono solo alcune delle funzionalità fornite dal core; l’altro vantaggio di Drupal è la sua vocazione alla estensibilità: l'approccio modulare di Drupal consente non solo di sviluppare internamente nuove funzionalità e integrazioni custom, ma anche di accedere al lavoro di una comunità molto ampia di sviluppatori indipendenti in tutto il mondo.

10 vantaggi di Drupal

Di recente sotto i riflettori per la release di Drupal 9, questo CMS può rappresentare una scelta vincente per le organizzazioni, anche di grandi dimensioni, in cerca di una piattaforma che soddisfi le proprie esigenze e che guardi al futuro, verso una piena trasformazione digitale.

D’altronde i vantaggi di Drupal per i siti aziendali sono molti e vale la pena di ripercorrere i principali: ne abbiamo individuati dieci, che secondo noi vale la pena raccontare.

Vantaggio 1: è Open Source

Il primo vantaggio di Drupal è che è un progetto Open Source: la sua comunità di sviluppatori allargata è composta da oltre 1 milione di membri, con 117mila sviluppatori che contribuiscono attivamente allo sviluppo del progetto quotidianamente e da ogni parte del mondo.

Questo vuol dire che, oltre all’assenza di costi di licenza e dell’assenza di vendor lock-in tipico delle piattaforme proprietarie, tutti possono beneficiare di più di 44mila moduli gratuiti per estendere le funzionalità di Drupal ed integrarsi con piattaforme di terze parti.

La diffusione di Drupal nel mondo è capillare: ci sono più di 30 comunità che ruotano attorno a drupal.org e che offrono supporto in più di 40 lingue diverse, senza contare le innumerevoli mailing list e gruppi di discussione. Quello di Drupal è un universo popolato da decine di migliaia di sviluppatori e designer in tutto il mondo.

Vantaggio 2: è affidabile e diffuso

In fase di selezione del CMS le aziende ricercano affidabilità, storicità e supporto. Drupal rispecchia a pieno titolo questa descrizione:

  • è nella top 3 dei CMS più usati al mondo
  • esiste da 20 anni
  • è in continuo aggiornamento senza mai perdere in stabilità
  • dopo le nuove release, garantisce supporto alle versioni precedenti per almeno 5 anni

Bisogna inoltre considerare la disponibilità di risorse: qui torniamo sul tema della community, uno dei punti forti di Drupal. Grazie al lavoro dei membri della community è possibile usufruire di moduli contrib gratuiti e chiaramente Open Source, al contrario di altri CMS dove le feature aggiuntive sono spesso a pagamento. In altre parole, l’ecosistema Drupal funziona anche perché tutti possono trarre vantaggio dal lavoro e dall’esperienza degli altri membri, senza dover inventare la ruota ogni volta. Questo permette di trovare moduli che si integrano con pressoché qualsiasi tipo di servizio.

Le aziende che già traggono vantaggio da questo CMS sono molte. Tra queste non mancano le grandi istituzioni, a partire dal sito della Nasa fino ad arrivare a quello della NBC. Ma ci sono tantissimi altri esempi, come l'Economist, Warner Music Group, il Governo Australiano, Tesla, Pfizer, l'università di Oxford e il gruppo di cosmetica Lush.

Vantaggio 3: è sicuro

Cosa rende Drupal un CMS sicuro? E come mai possiamo definire la sua codebase di qualità e poco vulnerabile?

  1. Il suo modello organizzativo. L’ampia community di Drupal collabora in modo proattivo per migliorare la piattaforma e revisionare il codice. Della community fanno parte anche grandi aziende e organizzazioni che per policy interna conducono frequentemente audit di sicurezza. Ogni errore individuato dai membri viene riportato al Security Team, composto da una quarantina di esperti di security, che intervengono prontamente. Lo stesso team si occupa anche di esaminare attentamente i moduli creati dalla community per assicurarsi che la codebase sia sicura e stabile, prima di renderli disponibili a tutti.
  2. Il modo in cui è realizzato. Drupal è infatti sicuro “by design” poiché rispecchia tutti i criteri di sicurezza stabiliti dall’Open Web Application Security Project (OWASP).
  3. I meccanismi di sicurezza. Sono molti gli accorgimenti presi per garantire la sicurezza di accesso e il controllo dei permessi. Per citarne alcuni:
  • specifici moduli contrib per aumentare la sicurezza e la robustezza delle password, oppure abilitare i meccanismi di autenticazione a due fattori;
  • la gestione dei permessi degli utenti è pensata per ridurre al massimo gli errori limitando la azioni di specifiche figure. Ad esempio è possibile impostare permessi diversi per autori, editor e publisher;
  • c’è un completo ed avanzato sistema di notifica degli aggiornamenti e di eventuali anomalie.

Vantaggio 4: gestisce flussi editoriali e workflow complessi

Drupal si rivela flessibile, completo e adattabile nella fase di caricamento, editing e pubblicazione dei contenuti. Dalla versione 8, infatti, offre la gestione dei workflow editoriali direttamente in core, grazie ai moduli Workflow e Content Moderation.

Quest’ultimo è particolarmente utile per le organizzazioni dove più persone, con diversi ruoli e permessi, devono collaborare sui contenuti: permette infatti, ad esempio, di tenere i contenuti in draft per essere rivisti, approvati e pubblicati da chi di dovere, senza inficiare in alcun modo sulla versione già live. Tiene inoltre traccia di chi ha modificato cosa e quando attraverso un completo sistema di revisione dei contenuti. Lo stesso modulo permette poi di creare workflow personalizzati, ad esempio con stati intermedi tra i classici “review”, “approve” e “live”, e di creare delle To-do list per le persone responsabili di review e approvazione.

Drupal 9 introduce ancora più features per migliorare l’esperienza di creazione dei contenuti. Qualche esempio?

  • Layout builder: un nuovo strumento per creare e modificare pagine facilmente grazie al drag-and-drop e senza dover ricorrere frequentemente al team di sviluppo.
drupal 8 editing layout

Drupal Layout Builder - Credits: Drupal.org

  • Media library WYSIWYG: è stata ulteriormente migliorata la gestione dei media, una funzionalità che consente agli editor e ai designer di collaborare su immagini, video e altre risorse. Come tutte le componenti di Drupal è completamente configurabile.
Drupal Media library

Drupal Media Library - Credits: Drupal.org

  • Claro: è il nuova tema di base per le interfacce di amministrazione, è più accessibile, reattivo, intuitivo e visivamente accattivante rispetto al precedente tema Seven. Aderisce al nuovo Drupal Design System.

Vantaggio 5: ha la gestione avanzata multilingua integrata nel core

Tra le molte novità introdotte da Drupal 8, che rappresenta una pietra miliare nell'evoluzione della piattaforma, c’è l’introduzione nel core della funzionalità multilingua, prima disponibile con un modulo contrib indipendente.

Grazie a quattro moduli built-in (Language, Content Translation, Configuration Translation, and Interface Translation), Drupal consente di:

  • Scegliere la lingua da utilizzare già durante l’installazione
  • Scegliere la lingua tra un elenco molto completo che presenta un centinaio di opzioni
  • Usufruire delle esistenti traduzioni dell'interfaccia (ed eventualmente contribuire al loro completamento, se attualmente non sono tradotte al 100%)
  • Configurare in modo granulare quali elementi del sito possono essere tradotti e quali no, e per ciascun elemento indicare la lingua di default
  • Passare facilmente da una lingua all’altra grazie ai language switcher e di conseguenza migliorare l’esperienza utente
Drupal dropdown language switcher

Language switcher - Credits: Drupal.org

Tra le lingue supportate da Drupal ce ne sono anche 8 con scrittura RTL (right-to-left). Questo si traduce nella possibilità di utilizzare un unico CMS aziendale per creare contenuti che possono essere tradotti e declinati in mercati anche radicalmente diversi dal punto di vista della struttura linguistica, come la Cina, il Giappone, la Corea, l'India, il Medio Oriente o il Nord Africa.

Vantaggio 6: gestisce nativamente le funzionalità Multisite

Sono tante le realtà che necessitano di un sistema centrale in grado di governare una piccola galassia di siti web. Utilizzare la stessa istanza di un CMS per gestire siti diversi completamente separati tra loro da un lato riduce il costo di mantenimento e aumenta la semplicità di manutenzione nel tempo, e dall'altro permette anche di ottimizzare e riutilizzare gli assets già disponibili.

Grazie alla funzionalità Multisite di Drupal, tutti i siti possono condividere la stessa codebase o parte di essa, e di conseguenza i temi e i moduli relativi. La piattaforma è di fatto una libreria condivisa di integrazioni, funzionalità, componenti UI e workflow che possono essere utilizzati a piacimento nei diversi siti.

Allo stesso tempo, vi è anche grande possibilità di personalizzazione dei singoli siti. Infatti per ogni istanza è possibile gestire in maniera indipendente domini o URL, database, moduli abilitati, temi abilitati, configurazioni, file e profili utente.

Il grande vantaggio di questa funzionalità è sicuramente il risparmio di tempo: ad esempio, gli aggiornamenti e gli upgrade non devono essere ripetuti per tutti i siti web, basta farlo una sola volta per tutti. Grazie al Multisite si semplifica anche l’introduzione di nuove funzionalità, poiché ogni nuova funzionalità creata per una singola istanza può essere propagata su tutti i siti facenti parte dell'ecosistema.

Vantaggio 7: ha ottime performance

Un sito web veloce contribuisce in modo significativo al miglioramento della user experience, dell'usabilità e dell’engagement. Senza contare che la velocità è anche un importante fattore di ranking per l’algoritmo di Google. Drupal è uno dei CMS più efficienti nel garantire elevate performance e scalabilità.

Vediamo alcune delle caratteristiche che consentono una maggiore velocità di fruizione:

  • Ottimizzazione della cache: da Drupal 8 in poi è possibile usufruire sia di un core già ampiamente cache-friendly sia di moduli contrib creati ad hoc per migliorare le performance. Tra i moduli core ricordiamo: Internal Page Cache, Internal Dynamic Page Cache, BigPipe. Alcuni moduli contrib utili: Sessionless BigPipe, Quicklink.
  • Modulo CDN: altera gli URL dei file consentendo così il download degli assets come CSS, JavaScript, immagini, video e caratteri dal CDN anziché dal server web. Di conseguenza permette di ridurre il tempo di caricamento della pagina.
  • Lazy load: permette di caricare immagini e contenuti man mano che l’utente scorre nella pagina, anziché pre-caricarli tutti in fase di richiesta.
  • Ottimizzazione immagini: Drupal 8 consente di impostare il rapporto di compressione delle immagini e migliorare le prestazioni della pagina. Permette inoltre di configurare strategie specifiche per ottimizzare la dimensione delle immagini in base alle diverse dimensioni dello schermo o del device, per fornire l’immagine corretta
  • Ottimizzazione della banda: tutti i file CSS e JavaScript possono essere aggregati per essere caricati in un unico file, in modo da velocizzare il caricamento della pagina. Con il modulo contrib Advanced CSS/JS Aggregation è possibile poi andare a definire strategie più avanzate di aggregazione.

Vantaggio 8: è API-first

Una delle caratteristiche più interessati di Drupal e della sua filosofia progettuale è relativa alle API. L'architettura di Drupal può essere decoupled per operare in modalità “headless”. Così facendo è possibile ad esempio avere un backend che espone delle API (in questo caso Drupal) e un front-end separato che le utilizza attraverso un framework come Angular, React o Vuejs (in generale non c'è limite nell'utilizzo di un frontend framework di preferenza).

Perché scegliere Drupal come CMS headless? Ecco alcuni buoni motivi:

  • Drupal ha avviato l’iniziativa API-first diversi anni fa, con grande partecipazione di tutta la community per rendere Drupal una piattaforma pienamente compatibile con l’approccio headless
  • A partire da Drupal 8.2 il modulo RESTful è disponibile nel core che consente una facile interazione con tutte le entity standard disponibili in Drupal (nodi, utenti, tassonomie, commenti). Accompagnato dal modulo REST UI, è possibile avere un controllo molto dettagliato di cosa è possibile accedere tramite l'API REST e come.
  • A partire da Drupal 8.8 JSON: API è stato integrato nel core. Segue rigorosamente la specifica JSON: API e migliora sensibilmente l’esperienza REST con Drupal. Basta che uno sviluppatore abbia familiarità con lo standard per poter iniziare molto rapidamente a lavorare con l'API, senza dover spendere ore di formazione su Drupal.
  • Il modulo contrib GraphQL ti permette di esporre schemi graphql da Drupal.
  • Ampia disponibilità di documentazione, esempi, tutorial e supporto.

Vantaggio 9: è mobile-first

Oggi essere mobile-first è un requisito fondamentale per ogni sito web. Nel corso degli anni la community Drupal ha investito molto per rendere Drupal una first class mobile platform attraverso un’iniziativa dedicata.

Queste sono alcune delle caratteristiche che vale la pena citare:

  • Design responsive per gli Admin: è possibile creare, aggiungere o editare contenuti anche da mobile o tablet grazie all’editor WYSIWYG che si adatta alla dimensione dello schermo
  • Temi responsive: da Drupal 8 in poi, tutti i temi del core sono nativamente responsive
  • Immagini responsive: grazie ai moduli Breakpoints e Responsive Images le immagini presenti sul sito possono essere configurate per servire immagini differenti e scalate in automatico in base al device che ne farà richiesta.
modulo breakpoints drupal

Modulo Breakpoints - Credits: Drupal.org

  • Tabelle responsive: attribuendo diverse priorità alle colonne di una tabella è possibile mostrare da mobile solo quelle indispensabili, garantendo una maggiore leggibilità. Da desktop, ovviamente, vengono mostrate tutte le colonne.

Vantaggio 10: Drupal è Cloud Native ready

Nel corsi degli anni è stato fatto un grande lavoro per rendere Drupal una piattaforma moderna e pronta per gli approcci di sviluppo Cloud Native e aderente ai principi della metodologia 12-Factor.

Questo approccio permette di superare i limiti dell’architettura monolitica e rendere Drupal un first class citizen nell’ecosistema Cloud Native attraverso l’utilizzo di tecnologie moderne come i Docker container e Kubernetes per l'orchestrazione. Consente inoltre di configurare pipeline di Continuous Integration e Continuous Delivery ed automatizzare molti dei processi manuali come la QA e il testing automatico.

Conclusione

Come abbiamo visto, Drupal offre moltissime funzionalità volte a soddisfare le esigenze delle aziende: dalla sicurezza alle performance, senza dimenticare la flessibilità. Drupal è un CMS affidabile e versatile, che porta con sé anche tutti i vantaggi delle piattaforme Open Source.

Utilizzato e apprezzato da sempre più realtà in tutto il mondo (per citarne alcune Pinterest, Twitter, eBay, Verizon, P&G), è stato scelto anche da aziende italiane come ilgiornale.it, FiscoOggi e Zambon, che lo ha selezionato anche per i siti dei suoi prodotti.

Soluzioni IT innovative cloud transformation