Drupal 8 sucks and I know why! - Drupal fa schifo, e io so il perché

Definitively 8 reason because you souldn't use drupal 8 for your site.  This is an old question that noobie are asking for, and I (the unknown smartest web developer in the world) am here to explain all the (8 at least) epic fails of the new Drupal8.

On the  october, 1st  2014 a beta testing version of drupal 8 was released and in just two days i was able to find all the trouble you will encounter using this bad CMS (Content Management System) or CMF (Content Management Framework) or CMM (Content Management Mess). 

Or maybe not. This is just another SEM (Search Engine Marketing) joke, just like other "Something sucks" articles  ;-) 
But I will explain the reason of this kind of jokes, and why people write poisoning articles without any strong arguments, but i will write the rest of this post in italian. I'm sorry with english readers, if I will have the time, I will translate the rest of the post. 

Mi ripeto. Dal Primo ottobre è stata rilasciata la nuova versione di drupal, e non potevo perdere l'occasione che mi si veniva concessa per i miei 2 minuti di visibilità. 

È prassi comune infatti scrivere male di una cosa (con argomenti apparentemente fondati) per ottenere un po' di visibilità. Se poi, non soddisfatti, prendete l'articolo del vostro blog e lo pubblicate sul forum delle community di sviluppo, probabilmente attirerete decine se non centinaia di visitatori inviperiti o incuriositi vedendo crescere il vostro sito in ranking sui motori di ricerca.

Espediente comodo è prendere alcuni punti deboli, o all'occorrenza inventarli, estrapolarli da un contesto per ingigantirli, ammantarli di una conoscenza approfondita sul linguaggio di programmazione (sconosciuto alla maggior parte dei terrestri e pertanto argomento assolutamente oscuro per molti lettori).

Alle presunte argomentazioni di fondo aggiungete il giusto tocco di saccenza e arroganza, una supposta esperienza pluriennale, suggerite alternative realizzate in casa (propria) oppure strumenti progettati per fare altro. 

Pensate che stia scherzando, eppure c'è gente che dichiara che in un anno ha provato dapprima a farsi un CMS suo, poi ha testato il funzionamento di decine di CMS liberi o proprietari, alla fine si avvicina a drupal, ma sente l'irresistibile desiderio di comunicare al mondo che drupal fa schifo (ma tutto sommato riesce a farci dei soldi e ci ride su). 

Questo è semplicemente inaccettabile, moralmente. Migliaia di persone, spesso autentici professionisti ICT, contribuiscono gratuitamente allo sviluppo di un sistema che può essere usato liberamente, ridistribuito (con il vincolo di licenza GPL) e persino rivenduto (per la precisione viene rivenduto il servizio di configurazione e personalizzazione al cliente). Il fatto che sia gratis (free as beer) non vuol dire che sia di minor valore, anzi credo che molti condivideranno l'dea che la libertà (free as freedom) sia una delle cose di maggior valore al mondo. 

Veniamo adesso agli aspetti tecnici. Ho raccolto 8 classiche argomentazioni per le quali Drupal "fa schifo":

  1. Drupal sarebbe complesso, ad esempio rispetto a Wordpress, o meglio si presenta con un'interfaccia semplice (definita da un articolo sprezzante "click-monkey GUI") ma complicato da configurare. 
  2. Eccessivo consumo di memoria e risorse del server al crescere delle dimensioni. Eccessive richieste al database al crescere dei visitatori. Di conseguenza drupal è adatto a siti di piccole dimensioni. 
  3. Codice illeggibile e terribile Data Modeling. Ehi, io prima di usare un CMS mi leggo tutto il codice dall'inizio alla fine, sono un professionista serio! 
  4. È scritto in PHP. Il PHP è un linguaggio comodo per fare siti internet, ma è affetto da numerosi bug e il tuo sito sarà a rischio. 
  5. Troppe versioni in circolazione: tra poco drupal 6 non verrà più supportato, in giro c'è drupal 7, oggi esce drupal 8 e già si pensa a drupal 9. Quale versione usare?
  6. Moduli abbandonati. I moduli aggiuntivi sono utili per integrare funzioni non previste nel core. E quando questi vengono abbandonati chi si occuperà dei bug e degli aggiornamenti?
  7. Ti consente di creare template con il modulo Views, così facendo salva le viste nel database e di conseguenza hai i template nel database (orrore!)
  8. Gli sviluppatori: siccome lo strumento viene sviluppato da una comunità e non dallo sviluppatore che sta realizzando il tuo sito, non saprai mai se un professionista che usa drupal sa quello che fa, oppure se impara a tue spese.

Ho raccolto queste argomentazioni da vari siti in inglese e li ho riassunti qui sopra. Apparentemente sarebbero motivazioni fondate, ma spesso nascono da ragionamenti fallaci. 

1) Se drupal ha un'interfaccia tanto semplice da essere utilizzata anche da un scimmia (come dice gentilmente uno dei suoi detrattori) è perché si suppone dovrà essere utilizzato da un utente finale che sarà in grado in autonomia di aggiornare i contenuti se ha un minimo di alfabetizzazione informatica e dimestichezza con i siti internet. Questo non ha nulla a che vedere con le funzionalità che dovranno essere messe a disposizione dal progettista che si suppone invece essere un professionista, e che si ritroverà davanti un sistema molto più "astratto" degli altri, e proprio per questo molto più libero nella configurazione. Se volete un CMS pronto all'uso, forse drupal non è la scelta più semplice, anche se io l'ho utilizzato agevolmente per progetti amatoriali. 

2) drupal necessita di maggiori risorse RAM (96 MB e spesso 128MB) e rispetto ai concorrenti (almeno Joomla e Wordpress) maggiore spazio per il database. Tuttavia queste variabili sono vere solo se il confronto viene fatto con siti di piccole dimensioni. Siti di grandi dimensioni e ad alto traffico avranno comunque bisogno di maggiori risorse, non è il caso di ospitarli su hosting condivisi (salvo piani particolari) a prescindere dal CMS che utilizzate. L'alternativa quale sarebbe? Gestire un sito con 15.000 articoli in HTML o pagine PHP? Ci avete mai provato? 
Se avete siti anche più grandi, potrebbe essere buona idea convertire i contenuti più datati in HTML per alleggerire il lavoro del database, ma questa non è una buona ragione per dire che drupal fa schifo, visto che prevede questa possibilità. 

3) Contrariamente a quello che dicono i detrattori non informati, i file drupal sono ampiamente commentati e le API ampiamente documentate, e se è vero che c'è anche molto codice inutilizzato, la comunità fa un grande lavoro anche per alleggerire e aggiornare il codice datato. Non è un caso infatti che un pacchetto del core di drupal scompattato pesi circa 14MB e contenga poco più di 1.000 files. A voi il confronto con il file system degli altri CMS analoghi. 
Detto questo, studiare veramente tutto il codice di drupal necessiterebbe mesi di lavoro e un impegno considerevole, e per quanto mi riguarda quello che io conosco di drupal è solo la punta di un iceberg, perché ogni team ha conoscenze specifiche e nella community esistono team che si occupano di Sviluppo, SEO, Sicurezza e Bug, Front-End, User-Experience, etc... etc... 
Eppure c'è chi vuole farsi passare per tuttologo e giudice della qualità del codice di drupal (non di una sua parte), e forse sui clienti funziona, ma con me no.

4) Sebbene siamo tutti consapevoli che il PHP non è l'unico e forse neanche il migliore dei linguaggi per siti e applicazioni web, tutto sommato funziona e viene utilizzato dalla stragrande maggioranza dei siti pubblici e applicazioni annesse. Persino alcuni gestionali vengono ora scritti in PHP. Questo non vuol dire che il PHP sia il linguaggio adatto a tutti i contesti, e del resto come tutti i linguaggi di programmazione esistenti, ha dei bug e delle falle di sicurezza. A volte evidenti a volte meno. È per questo che se ne consiglia l'aggiornamento. Credo che sia persino inutile proseguire perché per gli addetti ai lavori queste sono banalità. 

5) Drupal segue una numerazione seriale del tipo x.y dove la major release è indicata dal primo numero e la minor dal secondo numero. Passare da una versione major alla successiva non è semplice, e sebbene esistano moduli che facilitano il lavoro, potrebbe essere comunque il caso di riprogettare il sito. Del resto una versione drupal ha un ciclo di vita piuttosto lungo: circa 4 anni. Ripensare un sito dopo 4 anni non è la fine del mondo, visto che i browser e le tecnologie intanto si saranno evolute, ma non è neanche strettamente necessario e dipende dalle specifiche necessità. 
Se state iniziando oggi (3 ottobre), è consigliabile utilizzare la versione 7 ancora per qualche mese e far passare almeno una decina di minor release prima di proporre a un cliente la versione 8. Intanto approfittatene per studiare la nuova versione, e se siete volenterosi potrete contribuire alla 9. 

6) La quasi totalità dei moduli drupal sono Open Source e gratuiti. Questo non è vero per altri CMS. Tutti i moduli nascono per sopperire specifiche esigenze che non sono implementate nel core. I moduli sono mantenuti da una comunità e anche se nascono dall'idea di un singolo programmatore, molto spesso sviluppo e manutenzione passano di mano in mano. Prima di scegliere il modulo fra una vastità di moduli analoghi, è meglio consultare sulla relativa pagina drupal.org le statistiche di utilizzo, le "commesse", l'attività di sviluppo e mantenimento, i bug report. Tutte informazioni disponibili sul sito drupal.org.
Solitamente se un modulo è stato abbandonato è perché ne esistono altri più utilizzati o perché le sue funzionalità sono state integrate nel core. Anche il magico modulo Views presto sarà abbandonato: è finito nel core!

 7) Cos'è Views? Views consente di filtrare dal database, potenzialmente, qualsiasi risultato che si vuole mostrare al pubblico, principalmente contenuti. La struttura per campi di drupal (nota come CCK, Content Construction Kit) può essere quindi richiamata in una pagina o in un modulo con un'altissimo grado di personalizzazione. Il pericolo che si corre nel conservare nel database queste informazioni, è lo stesso che si corre quando si fa ricorso a un editor di testo che salverà codice html sul database. 

8) In questa argomentazione troviamo soprattutto lo sfoggio di sicurezza (sicumera) da parte del critico di turno. Probabilmente egli conosce meglio di chiunque altro il web e non deve confrontarsi quasi quotidianamente con aggiornamenti dei linguaggi, dei software, dei client... Probabilmente conosce già tutto e anche gli sviluppi che ancora non sono stati inventati, a differenza di noi comuni mortali che passiamo gran parte delle nostre giornate lavorative o del tempo libero a imparare tutte le novità che vengono introdotte, a ponderare i pro e i contro che qualunque scelta tecnologica o progettuale ci pone, a inventare soluzioni inedite per scenari che non vengono presi in considerazione dai manuali. Lo studio richiede tempo e impegno ed è richiesto ad un buon lavoro, e fa parte (misera) della tariffa oraria che un professionista vuole proporre. 

8 difetti per drupal 8

Ora sì che mi sento una webstar!

Nel blog: 

Spazio ai commenti:

Commenti

Mi spiace doverti severamente contraddire, non sò se hai fatto tu questo articolo per attrarre: comunque bravo, ci sei riuscito.
Ma tutte le cose che racconti sono di parte, classiche mezze verità e mezze difese ..del tutto inutili.
DRUPAL fà schifo e per una enormità di motivi che forse tu taci, non conosci o semplicemente fai finta di non sapere.
WORDPRESS oramai supera DRUPAL in modo incredibile, direi fantastico, mentre drupal non ha ne le sicurezze ne tantomeno i codici che ne permettano il rispetto W3C più elementare.. infatti metti un drupal e subito sei pieno di errori.
Ma questo è il meno: impossibilità di trasferire pagine e book su altri CMS, moduli incasinati e pesantissimi, un settarismo totale dei gruppi che se ne occupano, nessuna flessibilità e velocità di programmazione delle pagine, pochi temi belli se non A CARO PREZZO, non ne fanno ..del decantato DRUPAL un Cms valido, sicuro, apporcciabile e ben gestibile con velocità, modernità che è richiesta da un MODERNO E VELOCE E COMPLETO C.M.S.
Neanche per farvi un blog ve lo consiglio.
Lo consiglio solo a chi vuole sprecare ore e ore e ..anni per imparare le basi di gestione e programmazione di un Content Manager.
Chi ha tempo non aspetti tempo: OGGI il cms giusto è diventato Wordpress, con una numerosa serie di programamtori che lo gestiscono e ne fanno moduli all'infinito.. ma moduli flessibili e gestibili da chiunque.
Non moduli che ogni due per tre richiedono una Patch scritta a manina.
Capito mi hai?
Bye bye

Informativa Privacy: 
Ritratto di alberto

Ciao Ultrasuoni e grazie per avermi risposto!Ma non essere severo, non è questo il luogo.

Prima di tutto, se hai letto l'articolo, dovresti già sapere che è intenzionalmente una provocazione, quindi sì, l'intento era attirare l'attenzione come fanno i vari "XYZ sucks" che circolano sul web con l'intento di ironizzare su
chi denigra le altre community.

Questa mia "captatio malevolentiae" vuole proprio far riflettere su questo tipico atteggiamento fazioso del quale, mi sembra di capire, anche tu non sei esente.
WORDPRESS l'ho citato solo perché era riportato come termine di paragone in uno dei vari "drupal sucks" dal quale mi sono ispirato
per scrivere questo articolo.

Una volta di più devo evidenziare con quale superficialità e partigianeria viene trattato il tema.

Non posso risponderti sul tema della sicurezza, perché nessuno dei miei progetti drupal ha mai avuto problemi del genere. Lo stesso non posso dire, purtroppo, dei miei progetti Joomla e da quello che sento di chi
lavora con Wordpress.

Riguardo alla validazione W3C non capisco di cosa parli: ad essere validato è l'output HTML perciò questo dipende dal tema che utilizzi e dal codice che ci metti dentro. è un tuo problema se non ispezioni un tema prima di utilizzarlo o se ne scrivi uno in modo non conforme agli standard. Ricorda che drupal7 è validato per XHTML+RDF-a, il modulo views ti consente anche la possibilità di rimuovere, modificare e chiudere automaticamente i tag
degli elementi. In altre parole, prima del "leggi tutto" vengono chiusi paragrafi e formattazioni, senza dover far impazzire l'editore.

Riguardo alle altre vaghe controargomentazioni che avanzi: non mi pongo mai il
problema di trasferire da drupal ad altri CMS, semmai il contrario, e in questo il modulo "Feed" è di grande aiuto. Moduli incasinati e pesantissimi dici... sai farmi qualche esempio? una cartella compressa di drupal pesa 3,1 MB. Wordpress circa 8, joomla 13. Ah, in drupal hai anche un forum e un sistema CCK nativo, oltre che un aggregatore RSS e altre amenità. Difficile trovare un codice così ottimizzato.

Io, che frequento la community inglese drupal.org, ho trovato un ambiente accogliente e stimolante. Per ogni donazione mi risponde una persona e
non un messaggio automatico.

Questioni "temi belli e caro prezzo". Altra argomentazione vaga e infondata. Al di là del significato di "tema bello", a me interessano i temi ben progettati e adatti al contesto comunicativo e all'immagine dell'azienda. Per questo mi trovo molto bene con More then Themes, che
con un prezzo assolutamente accessibile non solo ti vende il tema ma un'installazione profile (ovvero un sito bello e pronto) con o senza contenuto d'esempio, i layer PSD, il css per e-commerce... Investire 80€ per risparmiare una settimana di lavoro... sì ne vale la pena.

E se non c'è un tema adatto allo scopo, lo creo da me. Cosa che
onestamente non mi è mai riuscita con WP per il suo frazionamento degli elementi della pagina. E ora vienimi a dire che il template system di WP non è qualcosa tipo: header.php, footer.php, sidebar.php, millemila.php, etc...
Ma questo, hai ragione, è un problema mio, di
come ho imparato a lavorare, di cosa mi hanno insegnato, di semplice affinità di approccio.

Sia chiaro, se uno riesce a lavorare bene con WP e fare un tema da zero, io lo rispetto per il suo lavoro.

Riguardo alla tua considerazione dello studio come perdita di tempo" mi trovo distante anni luce. Se si vuole fare siti per diletto non ho nulla in contrario. L'ho fatto per anni agli albori di questo millennio. Dal momento che se ne vuole fare una PROFESSIONE, allora mi spiace lo studio serve.

Quello che ho studiato all'Università non serve già più a niente. XHTML è sull'orlo del tramonto e le WCAG1.0 sono state sostituite dalle WCAG2.0. Quello che ho imparato all'università è invece la cosa più importante di tutte: imparare a imparare.

Io non ho nulla contro gli improvvisatori e gli improvvisati web designer: non mi danneggiano, sono anzi l'anticamera dei miei clienti più fedeli. Certo sono grandi affabulatori e abili nell'utilizzare slogan o massime alla Benjamin Franklin, ma nel giro di poco i nodi vengono al pettine... i campi invece fioriscono (ah ah, capito il sarcasmo? i nodi... i campi... ok, non sono mai stato un grande umorista...) 

Ultima considerazione, se hai bisogno di patchare dei moduli ti consiglio drush (drupal shell), una shell a riga di comando che ti permette di
risparmiare ORE di inutili attese e clic e ripetizioni di passaggi con l'interfaccia del browser.

Infine ti rivolgo una domanda: quanto tempo impieghi per installare WP? usando drush digito un comando e attendo 50 secondi per la fine della procedura. Circa 30 secondi per il
download e l'installazione di un modulo (poco più per l'installazione di più moduli), e la cosa che adoro di più: gli aggiornamenti. Ti basta digitare "drush up" e lui controlla gli aggiornamenti disponibili, fa un backup completo di sito e db, esegue gli aggiornamenti, ti avvisa
quando ha finito. Intanto non ho fatto neanche in tempo a prepararmi un caffé (con la moka).

Ciao, una zampata affettuosa, e torna a trovarmi!

P.s. Ho visto solo ora il tuo sito "Lavatrici Industriali" e vedo che hai avuto grosse difficoltà. Io ti consiglio di utilizzare WordPress se è il sistema con il quale ti trovi a tuo agio, anziché utilizzare un sistema che non conosci mettendo online certi risultati.
Se è stato il cliente a convincerti hai commesso un errore di inesperienza: devi essere tu a convincere il cliente: sei tu il professionista. Non importa se usi WP o drupal, importa il risultato.
Inoltre esistono decine di temi gratuiti che puoi utilizzare se il budget è molto basso: https://www.drupal.org/project/project_theme

leggi bene le descrizioni, ci sono temi che in realtà sono framework per realizzare temi personalizzati. Per dire il livello di evoluzione di questo CMS rispetto ad altri...

Informativa Privacy: