Oggi vorrei raccontarti una storia, la storia della prima volta che ho sentito parlare di Drupal e WordPress.

Era il 2007, quando io e un gruppo di amici del mio paese, Castelfranco Veneto, avevamo un progetto, creare una rete civica online dove raccogliere le notizie sulla città, gli eventi e dove i cittadini potessero condividere le loro opinioni. In pratica qualcosa che avrebbe dovuto fare il sito ufficiale del comune.

Di solito ci incontravamo di sera, dopo il lavoro, con una birra davanti, anche più di una, che ci aiutava a prendere le decisioni. E che decisioni! Una di quelle sere dovevamo decidere qual era il miglior CMS per il nostro progetto web. E dopo qualche birra si formarono due gruppi, quello a favore di Drupal e quello a favore di WordPress. La domanda era:

>
Ma… È meglio Drupal o WordPress?

Piccola nota, il nostro gruppo di amici era formato da nerd e sviluppatori e non conoscevamo bene i due CMS e non avevamo progettato il lavoro come si deve (analisi/discovery, architettura dei contenuti, ecc.); avevamo voglia di sporcarci le mani subito e in poco tempo e con qualche riga di codice volevamo mettere in piedi qualcosa di utile per i cittadini.

A 12 anni di distanza mi ritrovo più volte davanti alla stessa domanda, nei gruppi Facebook, nei post dei blog di settore, ai meetup di WordPress, ai WordCamp, alle DrupalCon e con i clienti che mi contattano per realizzare il loro sito web.

Quando le persone fanno questa domanda, nella maggior parte dei casi, si aspettano una risposta secca, una netta presa di posizione, come è sempre stato nelle battaglie tecnologiche degli ultimi anni; ti ricordi gli spot Apple “I am a Mac I am a PC”? O la guerra degli antivirus, meglio Norton o MCafee? Dove è meglio caricare il mio video su Youtube o Vimeo? A Natale mi compro lo smartphone ma non so ancora se iPhone o Android…

Quante probabilità ci sono di azzeccare la risposta giusta senza conoscere nulla degli obiettivi che si vogliono raggiungere? Senza conoscere le persone che sono coinvolte nello sviluppo del progetto e di quelle che poi lo useranno? In definitiva, senza un’analisi iniziale e senza conoscere gli strumenti, le probabilità di azzeccare la risposta giusta sono basse.

Allora forse è meglio fermarsi un attimo prima di rispondere e fare un respiro profondo.

Schermata 2019-10-22 alle 23.14.36.png

Ti dico subito che il mio intento non è decretare il vincitore della sfida tra i CMS, non voglio fare confronti ed evidenziare le carenze di WordPress rispetto a Drupal o viceversa. Vorrei partire da un punto di vista diverso, invece di vedere i due CMS come rivali proviamo a pensarli come due fratelli, fratelli che hanno caratteristiche comuni e tratti distintivi. Come fratelli Drupal e WordPress, e soprattutto le comunità, possono parlare, possono condividere, si possono confrontare per portare a casa il meglio da ciascuno.

Le storie di Drupal e WordPress si somigliano, i due CMS sono nati negli anni 2000, i loro fondatori li avevano creati con uno scopo specifico in mente. Drupal è nato nel 2000, in Belgio, quando Dries Buytaert stava creando una sorta di social network che permettesse agli studenti dell’università di condividere informazioni. WordPress è stato creato nel 2003 da Matt Mullenweg come piattaforma di blogging. Con il passare degli anni grazie alle loro community di sviluppatori, agenzie e appassionati, i due sistemi sono cresciuti ed ora vengono utilizzati per sviluppare siti web semplici e progetti ambiziosi.

 

CARATTERISTICA COMUNE #1: CMS OPENSOURCE

Drupal e Worpress vengono utilizzati a tutti i livelli per realizzare siti e applicazioni web, da sviluppatori skillati e da persone che vogliono realizzare il proprio progetto web e si avvicinano per la prima volta a questi CMS. Sono entrambi dei Content Management System scritti con il linguaggio PHP.

Sono sistemi Opensource che possono essere utilizzati senza pagare licenze ed in più possono essere migliorati dalle stesse persone che lo utilizzano. Proprio per questo motivo sono dei sistemi longevi che si sono evoluti, hanno saputo rinnovarsi e sono ancora tra i primi CMS utilizzati dai primi anni 2000.

 

PROVIAMOLI NEL NOSTRO COMPUTER

Installare WordPress o Drupal nei server di hosting è piuttosto veloce se scegliamo un buon fornitore. Le cose cambiano quando vogliamo lavorare in locale come ci insegnano gli sviluppatori. L’installazione di Worpress è semplice e veloce. Per Drupal la questione è un po’ più complessa, o almeno lo era ad inizio 2018.

 

Matthew Grasmick è uno sviluppatore senior di Drupal; ha finto di essere una persona che si voleva avvicinare a Drupal per la prima volta, ha provato ad installarlo nel suo computer locale partendo dalla ricerca di Google e ha registrato quanti click e quanto tempo ci ha impiegato. Ha fatto la stessa cosa con WordPress (e altri sistemi) e ha messo in tabella i risultati ottenuti.

Direi che c’è na bella barriera per installarlo in locale… Prendendo spunto dall’installazione di WordPress, la community di Drupal si è messa all’opera per dare a tutti la possibilità di provare Drupal nel proprio computer ed ora la situazione è migliorata molto come si può vedere nel video successivo.

ASPETTO COMUNE #2: MODULARITÀ

Drupal e WordPress sono CMS modulari che ci permetto di strutturare a piacere un sito web usando i temi e i plugin (WordPress) o moduli (Drupal) che estendono le funzioni di base dei sue sistemi.

La grande offerta di temi e plugin (gratuiti o a pagamento) è uno dei punti forti di WordPress. Una persona può realizzare il proprio sito web responsive in poco tempo aggiungendo form di contatto e le animazioni grafiche del momento senza dover scrivere una riga di codice.

Drupal mette a disposizione meno moduli rispetto al numero di plugin di WordPress poiché il processo di sviluppo è incentrato sulla community: se uno sviluppatore ha intenzione di sviluppare un modulo simile ad uno che esiste già allora la community fa in modo che lo sviluppatore collabori per creare un unico modulo ed evitare i doppioni. Inoltre i moduli messi a disposizione nel sito di Drupal sono gratuiti.

 

MODELLAZIONE DEI CONTENUTI

Una dei punti forti di Drupal è la modellazione dei contenuti; nel codice core ci mette a disposizione i tipi di contenuto (simili ai post types di Worpdress) con cui si possono modellare informazioni complesse con campi di diverso tipo come ad esempio foto, testo, booleani, file, mappe e campi che sono riferimenti ad altri tipi di contenuto. Il tutto da pannello di gestione senza dover scrivere una riga di codice.

Nel core troviamo anche le tassonomie che permettono di creare dei vocabolari di termini che si possono usare nei tipi di contenuto per strutturare le informazioni in maniera più flessibile rispetto all’utilizzo delle categorie e dei tag.

Un altro strumento potente che Drupal mette a disposizione sono le viste (views) con cui si possono creare pagine o blocchi di pagina che mostrano un elenco di contenuti. Da interfaccia grafica prepari delle query che recuperano i contenuti secondo le caratteristiche di cui hai bisogno. Ad esempio posso dire a Drupal di mostrami una pagina con le news che hanno un’immagine di copertina e che sono state scritte da Mario Rossi nell’ultimo mese.

La community di WordPress ha preso spunto da Drupal e ha sviluppato Toolset, un plugin a pagamento che mette a disposizione i i riferimenti tra post type, le tassonomie le views e molto altro (https://toolset.com/).

 

ASPETTO COMUNE #3: SICUREZZA

Premessa: nessun CMS può ritenersi sicuro al 100%. C’è capitato di sentire di un amico a cui hanno bucato il sito, vero? Oppure di essere svegliati una mattina da un cliente infuriato perché il sito mostra una pagina bianca con dei messaggi strani. Queste cose possono capitare con WordPress e Drupal.

Per entrambi i CMS l’aspetto della sicurezza è così importante che hanno nominato un team di sicurezza che controlla costantemente il codice del core e rilascia gli aggiornamenti quando viene scoperta una falla di sicurezza. Spetta a noi seguire delle best practice per dormire sonni tranquilli…

  • Mantenere aggiornati il core dei CMS, i plugin/moduli e i temi

  • Scegliere con cura temi e plugin/moduli e installare solo estensioni provenienti da sviluppatori/fonti affidabili

  • Se si può scegliere connessioni sicure: tra FTP e SFTP, usare sempre SFTP oppure GIT via SSH

  • Utilizzare password complesse per gli utenti del CMS, nonché per i propri account di hosting e SFTP (l’autenticazione a due fattori, se disponibile)

  • Non utilizzare “admin” come nome utente

  • Mantenere il proprio computer pulito da virus

  • Scegliere un host con un ambiente sicuro e utilizzare le ultime tecnologie come PHP 7. Piccola nota: il supporto di sicurezza in PHP 5.6 è scaduto nel 2018. Le versioni precedenti non ricevono supporto di sicurezza da qualche anno (Ci sono ancora molti siti che girano su versioni di PHP 5).

 

AGGIORNAMENTI DI SICUREZZA SEMPLICI

WordPress può essere aggiornato all’ultima major version senza grossi grattacapi, il passaggio dalla 4 alla 5 si è potuto fare in automatico senza dover riscrivere parte del sito web (l’unica preoccupazione era l’introduzione di Gutemberg ma questa è un’altra storia…). Anche l’aggiornamento dei plugin è solo un click di distanza nel pannello di gestione.

L’aggiornamento dei moduli di Drupal non è così semplice, prima bisogna scaricare il modulo, poi bisogna portarlo nel server e infine lanciare lo script di aggiornamento del database. In alternativa si può optare per DRUSH (la shell di Drupal) se è disponibile.

Drupal 8 è stato riscritto completamente su base Symfony (un framework php), è stato integrato Composer ed è stato cambiato il motore di template, ora è Twig. Questi cambiamenti hanno creato una sorta di frattura con le versioni precedenti (6 e 7) e l’upgrade è un’operazione che richiede qualche intervento in più rispetto a WordPress. Questa nuova versione però è stata riscritta con l’obiettivo di semplificare l’upgrade alle prossime major version di Drupal. Come si può vedere nella roadmap di sviluppo di Drupal 8, la community è già all’opera per rilasciare anche l’aggiornamento automatico dei moduli.

 

QUAL È IL MIGLIORE CMS? DRUPAL O WORDPRESS?

Drupal e WordPress sono due ottimi strumenti che ci permettono di realizzare siti web semplici e progetti più ambiziosi. Il CMS migliore è quello che si adatta meglio al budget, alle funzioni che si devono sviluppare e al livello tecnico di chi lo usa.

Una risorsa insostituibile per questi CMS è la community. La condivisione all’interno di una community è molto importante per la crescita della community stessa e del CMS. Dalle caratteristiche che abbiamo visto poco sopra e dalla mia esperienza posso dire che la condivisione attraverso community diverse è un volano che fa crescere sia Drupal che WordPress. Forse questo è proprio il segreto del successo e della longevità di questi due CMS Opensource.

 

Questo post è figlio del mio intervento al WordCamp di Verona 2019