Drupal per tutti: pro e contro

<p><small>Greenkey e Psicomante hanno scritto questo post in modalit&agrave; cross-blog.
Questo significa che pu&ograve; essere trovato in forma identica in
su <a href="http://www.loman.it" title="Loman - l'Originale Mela parlANte">Loman.it</a> e su <a href="http://psicomante.katapekkia.net" title="Psicomante Blog - Drupal, design e web">Psicomante Blog</a>; il vantaggio &egrave; che
l'articolo, oltre ad essere pi&ugrave; completo, &egrave; a
disposizione per un pubblico pi&ugrave; vasto.<br />
Nel caso vogliate citare l'articolo, vanno segnalati entrambi gli autori con i rispettivi link ai blog.

</small></p><br /><br />

Ormai Drupal &egrave; diventato un <a href="http://it.wikipedia.org/wiki/Cms" title="CMS">CMS</a>
conosciuto, uscendo dalla nicchia dei progetti opensource e
diffondendosi rapidamente in molti progetti in giro per la rete. Drupal
&egrave; infatti stato per molti progetti italiani e internazionali
tra cui <a href="http://www.boxesandarrows.com/view/implementing_a_pattern_library_in_the_real_world_a_yahoo_case_study" title="Yahoo">Yahoo</a>, <a href="http://www-128.ibm.com/developerworks/ibm/library/i-osource1/" title="IBM">IBM</a>, <a href="http://mtv.co.uk/" title="MTV Flux UK">Mtv Uk</a> e <a href="http://ziobudda.net/" title="ZioBudda">ZioBudda</a>;
tutti i progetti sono molto ambiziosi e dimostrano che Drupal ha ottime
potenzialit&agrave;.<br />

<br />

In questo articolo analizzaremo i pregi e i difetti del nostro CMS
pi&ugrave; amato, nell'ultima versione stabile, la 4.7.3.<br />

<p> Ogni paragrafo ha al suo fianco una o pi&ugrave; icone
che aiutano a capire se l'argomento pu&ograve; interessare o meno a
seconda del lettore: </p>

<ul>

<li> <img src="/files/sviluppatore.png" /> sviluppatore,
chi &egrave; quindi interessato alla programmazione (PHP, MySql);</li>

<li> <img src="/files/webmaster.png" /> webmaster,
interessato alle possibilit&agrave; che pu&ograve; avere Drupal
e alla facilit&agrave; di configurazione;</li>

<li> <img src="/files/designer.png" /> designer, quello
che vuole metterci del suo, lavori di grafica e abbellimento sono i
suoi interessi;</li>

<li> <img src="/files/utente.png" /> utente, l'utente
finale che pu&ograve; apprezzare il bell'aspetto di un sito o le
funzionalit&agrave; presenti.</li>

</ul>

<br />

<p> <strong>Orientato agli oggetti</strong> <img alt="sviluppatore" src="/files/sviluppatore.png" /> </p>

<img alt="pro" src="/files/pro.png" /> Una delle innovazioni
che questo <a href="http://drupal.org/node/769" title="Drupal.org Official Site">CMS belga</a> ha
introdotto &egrave; stata la concezione del nodo come oggetto.
Tutto il sistema &egrave; infatti sviluppato in <a href="http://www.phpdeveloper.org/news/5719" title="PHP object oriented">PHP object oriented</a>,
ogni pagina &egrave; costruita attorno ad un oggetto PHP denominato
"nodo", questo rende molto pi&ugrave; semplice la gestione e lo
sviluppo in vari punti del codice.<br />

<br />

<strong>Drupal API</strong> <img alt="sviluppatore" src="/files/sviluppatore.png" /><br />

<img alt="pro" src="/files/pro.png" /> Drupal ha una API
interna che permette di svolgere dai compiti pi&ugrave; semplici
(ad esempio creare un link con i vari tag) a quelli pi&ugrave;
complessi (creare tabelle ordinabili secondo criteri diversi). Anche
questo contribuisce a facilitare il compito degli sviluppatori che
intendano espandere le funzionalit&agrave; di Drupal.<br />

<br />

<strong>Modulare</strong> <img alt="webmaster" src="/files/webmaster.png" /><br />

<img alt="pro" src="/files/pro.png" /> Proprio
l'installazione dei moduli &egrave; probabilmente il maggior punto
a favore di Drupal. &Egrave; sufficiente scaricare il pacchetto
contenente il modulo che si vuole installare, scompattarlo nella
directory <code>modules/nome_modulo/</code> e abilitarlo
dalla pagina di amministrazione. Il sistema provveder&agrave;
inoltre a creare le tabelle necessarie al funzionamento del modulo.<br />

<img alt="contro" src="/files/contro.png" /> La
modalit&agrave; di installazione &egrave; ancora affidata alla
copia di cartelle all'interno del filesystem dove risiede
l'installazione di Drupal, sarebbe utile avere una pagina
amministrativa dalla quale installare i nuovi moduli. Con <a href="http://wordpress.org/" title="WordPress">WordPress</a>,
ad esempio, c'&egrave; un plugin che genera una pagina in cui
vengono mostrati tutti i plug-in installati e installabili, a quel
punto &egrave; sufficiente selezionarli e installarli (WordPress si
occupa del download e dell'estrazione dell'archivio nella cartella
predisposta).<br />

<br />

<strong>Templates e facilit&agrave; di creazione</strong>
<img alt="designer" src="/files/designer.png" /><br />

<img alt="pro" src="/files/pro.png" /> La
facilit&agrave; di creazione di un template &egrave; data dalla
grande potenze del <em>theme engine</em> <a href="http://drupal.org/project/phptemplate" title="PHPTemplate">PHPTemplate</a>,
con cui si pu&ograve; fare veramente di tutto. Flessibile,
piuttosto veloce e personalizzabile, PHPTemplate &egrave; a nostro
parere il miglior engine per Drupal. Inoltre, poich&egrave; i <em>theme
engine</em> sono anche essi moduli Drupal, &egrave; possibile
installare altri motori di template <a href="http://drupal.org/taxonomy/term/32" title="disponibili sul sito Drupal.org">disponibili sul sito
Drupal.org</a>.<br />

<img alt="contro" src="/files/contro.png" /> Ci sono ancora
pochi temi disponibili rispetto a Wordpress, ma questo &egrave;
problema legato alla giovinezza del progetto, che &egrave; passato
ad una fase matura piuttosto recentemente. Da segnalare comunque la
possibilit&agrave; di usare <a href="http://www.langmi.de/themebrowser" title="temi Wordpress in Drupal">temi Wordpress in Drupal</a>
e l'esistenza di blog dedicati ai temi Drupal (vedi un <a href="http://www.ori0n.it/2006/09/01/gallerie-di-temi-per-drupal" title="Gallerie di Temi per Drupal">post di oRi0n</a>
a proposito).<br />

<br />

<strong>Adattabilit&agrave; del CMS</strong> <img alt="webmaster" src="/files/webmaster.png" /><br />

<img alt="pro" src="/files/pro.png" /> A differenza di
Wordpress (che &egrave; pensato per creare i blog), Drupal
&egrave; un CMS completo, pu&ograve; essere utilizzato per
qualsiasi scopo. Si pu&ograve; creare un blog, un forum, una
piattaforma di sviluppo, un clone di <a href="http://digg.com/" title="digg">digg</a>, un sito e-commerce, un sito
multimediale, una galleria di immagini e perfino un <a href="http://it.wikipedia.org/wiki/Wiki" title="wiki">wiki</a>.
Per queste notevoli qualit&agrave; molti hanno deciso di sviluppare
una piattaforma a partire dal codice di Drupal e <a href="http://www.splinder.com/" title="Splinder">Splinder</a>
&egrave; uno di questi casi.<br />

<img alt="contro" src="/files/contro.png" /> Purtroppo
essendo Drupal un tuttofare non &egrave; specializzato in molti di
questi settori. Per i blog c'&egrave; <a href="http://wordpress.org/" title="WordPress">WordPress</a>
che fa da padrone, per i forum <a href="http://www.vbulletin.com/" title="vBulletin">vBulletin</a> o <a href="http://www.phpbb.com/" title="PHPbb">PHPbb</a>
e per l'e-commerce <a href="http://www.oscommerce.com/" title="OSCommerce">OSCommerce</a>. Drupal eccelle
forse solo per il modulo <a href="http://drupal.org/project/video" title="Video Module">video</a>, che non ha concorrenti
in altri CMS.<br />

<br />

<strong>Interfaccia amministrativa</strong> <img alt="webmaster" src="/files/webmaster.png" /><br />

<img alt="pro" src="/files/pro.png" /> Per molti moduli
&egrave; necessaria una configurazione dopo averli installati.
Drupal, attraverso le sue API, permette a chi sviluppa moduli di creare
delle pagine di amministrazione che verranno poi raccolte sotto la
stessa sezione del menu amministrativo.<br />

<img alt="contro" src="/files/contro.png" /> Il problema
&egrave; che non esiste una categorizzazione dei moduli, ci si
trova quindi ogni volta a "cercare" la pagina amministrativa adeguata
nel men&ugrave; che in configurazioni complesse pu&ograve;
diventare anche molto lungo. [la nuova versione lo corregge]<br />

<br />

<strong>Localizzazione</strong> <img alt="webmaster" src="/files/webmaster.png" /> <img alt="utente" src="/files/utente.png" /><br />

<img alt="pro" src="/files/pro.png" /> Un'altro degli
indubbi vantaggi di Drupal &egrave; la possibilit&agrave;
integrata di cambiare la lingua del sito. &Egrave; possibile
infatti configurare le frasi in tutte le lingue, quindi fare scegliere
anche all'utente la lingua che preferisce. Oltre alle stringhe
&egrave; possibile anche scrivere pagine e articoli in pi&ugrave; lingue e
fare scegliere a Drupal (a seconda delle impostazioni) quale lingua
mostrare (<a href="http://drupal.org/project/i18n" title="i18n Module">ancora in lavorazione</a>).<br />

<br />

<strong>Gallerie di Immagini</strong> <img alt="utente" src="/files/utente.png" /><br />

<img alt="pro" src="/files/pro.png" /> Sebbene il <a href="http://drupal.org/project/image" title="Image Module">modulo
image</a> abbia un plugin per la realizzazione di una galleria,
il risultato &egrave; piuttosto scarno e <em>featureless</em>.
L'intento di image era proprio di essere un modulo scarno e compatto,
senza fronzoli. Per colmare questa mancanza era nato ShazamGallery, ma
sono mesi che &egrave; bloccato nella CVS. Da citare anche alcuni progetti
molto interessanti come <a href="http://drupal.org/project/flash_gallery" title="Flash Gallery su Drupal">Flash Gallery</a>,
l'integrazione con <a href="http://drupal.org/project/gallery" title="Gallery2 Drupal Integration">Gallery2</a>, il
supporto alle <a href="http://drupal.org/project/image_pub" title="Image Publishing">API per gallerie remote.</a><br />

<img alt="contro" src="/files/contro.png" /> Esistono decine
di moduli che permettono l'inserimento delle immagini nei post, la
creazione di gallerie di immagini, ma il tutto &egrave; un
p&ograve; frammentario. Pu&ograve; succedere quindi di avere
incompatibilit&agrave; tra moduli o peggio, non riuscire a trovare
un modulo che implementa le caratteristiche che vogliamo.<br />

<br />

<strong>Editor WYSIWYG</strong> <img alt="webmaster" src="/files/webmaster.png" /> <img alt="utente" src="/files/utente.png" /><br />

<img alt="pro" src="/files/pro.png" /> In Drupal
&egrave; possibile integrare tre editor <a href="http://it.wikipedia.org/wiki/WYSIWYG" title="cosa vuol dire What You See Is What You Get">WISIWYG</a>:
<a href="http://drupal.org/project/fckeditor" title="FCKeditor per Drupal">FCKeditor</a>, <a href="http://drupal.org/project/htmlarea" title="HTMLarea per Drupal">HTMLArea</a> e <a href="http://drupal.org/project/tinymce" title="TinyMCE per Drupal">TinyMCE</a>. Tutti questi
editori consentono di inserire in drupal contenuti formattati molto
facilmente e senza editare il codice a mano.<br />

<img alt="contro" src="/files/contro.png" /> L'integrazione
con le funzioni di Drupal non &egrave; perfetta anche se ormai
abbastanza avanzata. TinyMCE per Drupal &egrave; l'unico che
consente di mostrare differenti interfacce a gruppi di utenti diversi
(questo per permettere l'utilizzo di funzioni dedicate). Purtroppo il
grande problema sta quando si vuole inserire del codice PHP o
Javascript (o qualsiasi altro che non sia HTML) in una pagina redatta
usando un wysiwyg: &egrave; impossibile se non disabilitando
l'editor; ma questo pi&ugrave; che altro &egrave; un problema
instrinseco degli editor che non dei moduli per Drupal.<br />

<br />

<strong>Multimedia</strong> <img alt="webmaster" src="/files/webmaster.png" /> <img alt="utente" src="/files/utente.png" /><br />

<img alt="pro" src="/files/pro.png" /> In Drupal
&egrave; facile inserire contenuti multimediali di qualsiasi tipo e
molti sono i moduli che consento la loro gestione. I moduli che
gestiscono la parte mudimediale sono <a href="http://drupal.org/project/video" title="Video Module">Video</a>
(in cui collabora Psicomante), <a href="http://drupal.org/node/69092" title="WebMedia">WebMedia</a>
e <a href="http://drupal.org/project/acidfree" title="AcidFree">AcidFree</a> (un sistema per la
gestione di file multimediali, audio, video e immagini). Dedicati alla
parte audio sono invece gli ottimi <a href="http://drupal.org/project/audio" title="Audio Module">audio</a>
e <a href="http://drupal.org/project/audio_tab" title="Node Audio Gallery">Node Audio Gallery.</a><br />

<img alt="contro" src="/files/contro.png" /> Il lavoro da
fare per questi moduli &egrave; ancora molto, mancano alcune
caratteristiche importanti e integrazioni.<br />

<br />

<strong>AJAX e Javascript </strong><img alt="sviluppatore" src="/files/sviluppatore.png" /> <img alt="utente" src="/files/utente.png" /><br />

<img alt="pro" src="/files/pro.png" /> Con l'ultima versione
ufficiale, la 4.7, in Drupal &egrave; stato inserito il supporto ad
Ajax. Infatti per chi non se ne fosse accorto, &egrave; presente un
nuovo file, drupal.js.<br />

Ancora poche le implementazioni Ajax in Drupal, che includono per ora
solo l'uploading di files, textarea ridimensionabili, progressbar
(utilizzata nell'update), freetagging. L'inline editing era stato
scartato perch&egrave; creava <a href="http://acko.net/blog/summer-of-code-ajax-for-drupal" title="Acko - Summer of Code - Ajax">problemi di
compatibilit&agrave;</a> con molte configurazioni.<br />

Il futuro di Drupal in salsa AJAX sembra roseo perch&egrave; sono
tantissimi i moduli in sviluppo che andranno ad ampliare l'usabilit&agrave; di
questo CMS: L'<a href="http://drupal.org/project/collaborative_editor" title="Collaborative editor in Drupal">editor collaborativo</a>
(per avere una sorta di <a href="http://www.writely.com/" title="Writely">Writely</a> con Drupal), <a href="http://drupal.org/project/spajax_mm" title="S/P Magic Menus">men&ugrave; in AJAX</a>, <a href="http://drupal.org/project/spajax" title="S/P Ajax | Menu ajax in Drupal">integrazione con
Scriptacolous</a>, <a href="http://drupalhead.kkaefer.dyndns.org/" title="Ajax. Editing cateogorie in Drupal">editing al volo
di categorie</a> (ora fermo nello sviluppo).<br />

<img alt="contro" src="/files/contro.png" /> L'integrazione
dei nuovi moduli &egrave; ancora scarsa e lo sviluppo &egrave;
ad uno stadio iniziale.<br />

<br />

<strong>Conclusioni</strong><br />

A nostro parere Drupal &egrave; il CMS con pi&ugrave;
potenzialit&agrave; nel mercato OpenSource. Ha ancora molti
difetti, ma come avete letto ha molti punti a suo favore. Se ancora non
siete convinti potete provare con mano, non solo Drupal ma anche tutti
gli altri CMS liberi, potete farlo sul sito <a href="http://www.opensourcecms.com/" title="Open Source CMS">Open
Source CMS</a>.<br />

<br /><br /><br />
<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/it/"><img alt="Creative Commons License" style="border-width: 0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>Questo/a opera è pubblicato sotto una <a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/it/">Licenza Creative Commons</a>.<!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<license rdf:resource="http://creativecommons.org/licenses/by-nc/2.5/it/" />
<dc:title>Drupal - Pro e Contro</dc:title>
<dc:date>2006</dc:date>
<dc:description>Psicomante [psicomante.katapekkia.net] e Greenkey [loman.it] hanno scritto un articolo a quattro mani. Si prega coloro che citeranno l'articolo, di riportare </dc:description>
<dc:creator><Agent><dc:title>Psicomante | Greenkey</dc:title></Agent></dc:creator>
<dc:rights><Agent><dc:title>Psicomante | Greenkey</dc:title></Agent></dc:rights>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc/2.5/it/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/></License></rdf:RDF> -->

Comments

L'importante (lo dico a chi

L'importante (lo dico a chi inizia ) è evitare molti provider - hoster - registar - fornitori di servizi web : che dietro a tanta pubblicità VI PIGLIANO PER IL CULO E CON LORO NON RIUSCIRETE MAI A GESTIRE DRUPAL se non spendendo un patrimonio (e magari senza neppure poter fare il rewrite-url).

Io ne ho trovati solo due validi : uno sufficiente ( Hostek.it ) e uno addirittura superlativo : NETSONS.ORG

<a href="http://www.netsons.org" title="www.netsons.org">www.netsons.org</a>

Il resto .. al 90 % è fuffa ( e io mi ci sono incacchiato 2 anni sopra )! Non fatelo anche Voi !

molto bene. ci si interessa

molto bene. ci si interessa anche a chi non conosce il php.
e' un cms strano, infatti tutto ma proprio tutto va creato, e trovo un po' maniacale l'estrema modularità del sistema, ma ne capisco le potenzialità.
grazie ancora per questo lavoro.

Buona introduzione.

Buona introduzione. Apprezzabile l'obiettività in contrasto con le considerazioni da fan boy tipica degli sviluppatori/utilizzatori di uno specifico cms.

Ciao a tutti! Ho letto con

Ciao a tutti! Ho letto con interesse questo articolo. Sarei intenzionata a scegliere Drupal per ricreare il sito web che ho con un'amica, allo scopo di renderlo dinamico e maggiormente funzionale. Tuttavia sono giorni che tentiamo di capire come poter intervenire direttamente sui template per modificarli a nostro piacimento ed inserirci le nostre immagini e il logo. A questo proposito sapete indicarci come fare? Esiste un programma che consenta di lavorare visivamente sul php? Dreamweaver è troppo complicato per noi che siamo alle prime armi e la nuova piattaforma windows (Expression Web) non legge questo tipo di file. Non so se ci sono delle estensioni da aggiungervi per fargliele leggere. :sick:
Se potete potete risponderci nell'email indicata? Grazie infinite!

Molto interessante. Era

Molto interessante.
Era quello che cercavo da tempo. Mi piacerebbe vedere che cosa è cambiato con la l'uscita della versione 5.
Sono proprio alle prime armi e ancora faccio fatica a capire i nodi e la tassonomia per creare quello che mi serve.

Una delle innovazioni che

<cite>
Una delle innovazioni che questo CMS belga ha introdotto è stata la concezione del nodo come oggetto. Tutto il sistema è infatti sviluppato in PHP object oriented, ogni pagina è costruita attorno ad un oggetto PHP denominato "nodo", questo rende molto più semplice la gestione e lo sviluppo in vari punti del codice.
</cite>

Purtroppo questo non e' vero.

Il PHP Object Oriented necessiterebbe l'utilizzo delle classi e dei metodi in esse definiti come succede solitamente in Java.

Invece Drupal non utilizza il modello classico di sviluppo Object Oriented, in nessuna parte del codice sorgente troverete una dichiarazione di classe o metodi dell'oggetto.

Drupal infatti utilizza una soluzione "ibrida", risultato di attente valutazioni per quanto riguarda efficienza e design.

Per ulteriori informazioni sull'argomento consiglio la lettura di:
<a href="http://api.drupal.org/api/HEAD/file/developer/topics/oop.html" title="http://api.drupal.org/api/HEAD/file/developer/topics/oop.html">http://api.drupal.org/api/HEAD/file/developer/topics/oop.html</a>

Fabio Varesano (fax8 su drupal.org)

Se volete farvi un'idea dei

Se volete farvi un'idea dei maggiori CMS, qui c'è un sito che ne paragona le caratteristiche: <a href="http://www.cmsmatrix.org" title="www.cmsmatrix.org">www.cmsmatrix.org</a>

Interessante anche come

Interessante anche come griglia per valutare altri CSM.
E' quello che sto cercando di fare.
Sono indeciso fra Joomla! , Drupal, e Xoops.
Joomla! è sicuramente più semplice da usare degli altri 2, ma ora mi applicherò con Drupal...

oh che bell'articolo. ci ho

oh che bell'articolo.
ci ho messo 2 giorni a trovare il tempo per leggere un'entry cosi' lunga, ma ne e' valsa la pena :)

beh.. direi che è stato un

beh.. direi che è stato un successo...

Forse sarebbe preferibile

Forse sarebbe preferibile indicare quali le peculiarità rispetto ad altri prodotti analoghi (moduli, api, template, editor, sono tutte caratteristiche presenti in quasi tutti gli altri concorrenti). Semmai è la qualita delle API, o la facilità dell'utilizzo del motore di template per settare a proprio paicimentio tutti gli aspetti di un sito che fa la differenza nella scelta di un prodotto cms. Certo la capacità di gestire contenuti multimediali può essere un elemento di forza (personalmente è un campo che non conosco).

Well done ;)

Well done ;)

Ottimo post, complimenti a

Ottimo post, complimenti a tutte e due! Vorrei fare un piccolo commento: uno riguarda la parte audio: Drupal è ottimo anche perché consente di creare un podcast senza nessun modulo aggiuntivo... basta caricare l'mp3 nel nodo e anche il flusso RSS conterrà l'embedding per ascoltare il file. Lo so perché lo usa un mio amico, l'unico limite è che per ottenere ciò bisogna associare solo un mp3 a ogni nodo... ma capirai! :)

Questa non la sapevo! Sarà

Questa non la sapevo! Sarà inserita nella versione 1.1 dell'articolo :D

Recent comments

Social Me

DA Member

Drupal Association Badge