In questi giorni ho avuto l'occasione di realizzare un sito (di
cui appena possibile fornirò il link), utilizzando il CMS open source Umbraco.
Il primo impatto con il CMS non è dei più felici. Di primo acchito, pur se molto
curato esteticamente nell'interfaccia da l'impressinone di essere un po'
instabile e soprattutto complesso e di difficile uso. Ma si tratta solo di una
impressione, infatti approfondendo la conoscenza per mezzo dei video presenti
sul sito del CMS (http://www.umbraco.org)
in breve si intuisce da che parte iniziare e come strutturare le cose perchè
funzionino bene. L'instabilità poi, pur essendo presente in qualche caso, si
concretizza esclusivamente in qualche errore javascript nella parte di
amministrazione mentre, quello che conta veramente, ovvero l'engine di front-end
pare davvero solido come una roccia. Nonostante l'interfaccia manchi di qualche
traduzione dal danese all'inglese, la cosa non da alcuna noia, ma porta alla uce
quelli su ci si sono concentrati gli autori e quello che hanno preferito
tralasciare, almeno per ora.
Umbraco è un software open source danese, giunto alla versione
2.0 e in procinto di uscire con la 2.1, che ha dalla sua parte soprattutto la
flessibilità che permette di realizzare facilmente dei siti i cui contenuti
siano personalizzabili dal cliente stesso. Il CMS permette di definire e
organizzare dei documenttype. Un documenttype è a tutti gli effetti un
contenitore di dati di qualunque genere, che può avere un output generato
dall'applicazione di uno o più template annidati gli uni negli altri. Per
intenderci, se dovete definire una pagina del vostro sito, questa sarà basata su
un documenttype e i vari dati potranno contenere il titolo, piuttosto che un
testo o un'immagine che appare nella stessa. Si potrà così definire un
documenttype per l'home page, uno per le pagine istituzionali, uno per quelle
dei prodotti e poi creare le istanze che saranno organizzate in un albero di
navigazione gerarchico. Poi si potranno definire dei template, che saranno
utilizzati dai documenttype per generare l'output della pagina stessa. Nel mio
caso, un primo template conteneva la parte di head, con tutte le definizioni
degli stili comuni a tutte le pagine, fino al tag body compreso, al cui interno
vengono inseriti i template figlio. Poi altri template derivano da questo
defininendo varie tipologie di pagine all'interno delle quali possono essere
inseriti i contenuti provenienti dal documenttype.
Tutto ciò può sembrare complesso, ma vi assicuro che dopo un
po' vi apparirà talmente naturale da chiedervi come facevate a lavorare prima.
Ma se fosse tutto qua probabilmente non varrebbe la pena di usare Umbraco, ma se
si considera la possibilità di scrivere delle macro basate su xsl che generano
dei contenuti dinamici sulla base dei dati presenti nei documenttype o della
struttura gerarchica del sito, la cosa assume un altro aspetto. Personalmente ho
realizzato per intero il motore di news del sito web usando esclusivamente le
macro e organizzando opportunemente dei documenttype in un nodo appositamente
creato per questo scopo. L'utente è così in grado di creare nuove news
aggiungendo nodi figlio ad esso e così facendo pubblicare nuovi contenuti. Un
documenttype infatti non è necessariamente una pagina, ma può essere anche una
porzione di essa oppure un link o ancora una notizia da mostrare in un elenco
cronologico.
Ho lavorato per un tempo equivalente a circa 5 giorni
ottenendo dei risultati interessanti nonostante la mia scarsa conoscenza dello
strumento. Mentre usavo Umbraco mi rendevo conto con piacere delle sue
potenzialità ma allo stesso tempo anche del fatto che ne nasconde molte altre
che non ho avuto tempo di scoprire. Umbraco ha solamente due difetti: non
supporta il multilingua direttamente, anche se con un po' di ingegno si può
aggirare l'ostacolo, come ho fatto io sempre negli stessi 5 giorni. L'alto
difetto e che la sua documentazione è praticamente inesistente. C'è un forum da
cui attingere la maggior parte delle informazioni, alcuni whitepaper nel sito, e
un paio di video che alla fine si rivelano la maggiore fonte di informazioni. Il
wiki è praticamente deserto, mentre non c'è traccia di documentazione ufficiale,
nemmeno in lingua danese.
La mia impressione finale è che pur se ancora non del tutto
esaustivo, Umbraco è un software da prendere in seria considerazione per
realizzare siti di piccole o medie dimensioni, mentre non è certo adatto per
portali e super-siti che richiedono il trattamento di una mole enorme di
pubblicazioni. Umbraco è fatto per semplificare la vita allo sviluppatore e al
cliente che non vuole dover chiamare il proprio fornitore ogniqualvolta debba
aggiornare l'indirizzo nella home-page. Lo fa bene e con arguzia. Se poi si
vuole fare qualcosa di più complesso si può estendere con usercontrols e macro
scritte in ognuno dei linguaggi CLR-compliant. Usando questi ultimi si può
arrivare anche a fare un piccolo sito di e-commerce affiancando un backoffice
tradizionale per i prodotti e tutto quello che vi gira intorno. Sul sito di
Umbraco si trovano anche delle estensioni adatte a questo scopo. Personalmente
userò Umbraco il pù possibile, e consiglio anche a chiunque si riconosca nel
target che ho descritto a fare lo stesso. Non mancheranno le
soddisfazioni.