Un Content Management System, in acronimo CMS, letteralmente "sistema di gestione dei contenuti", è uno strumento software installato su un server web studiato per facilitare la gestione dei contenuti di siti web, svincolando l'amministratore da conoscenze tecniche di programmazione.
2. CMS – Content Management System
2
Un Content Management System, in acronimo CMS, letteralmente "sistema di gestione dei
contenuti", è uno strumento software installato su un server web studiato per facilitare la gestione
dei contenuti di siti web, svincolando l'amministratore da conoscenze tecniche di programmazione.
Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti
(un'enciclopedia on-line, un blog, un forum, ecc.) e CMS generici, che tendono ad essere più
flessibili per consentire la pubblicazione di diversi tipi di contenuti.
Tecnicamente un CMS è un'applicazione lato server (server-side), divisa in due parti: la
sezione di amministrazione (back end), che serve ad organizzare e supervisionare la produzione
dei contenuti, e la sezione applicativa (front end), che l'utente web usa per fruire dei contenuti e
delle applicazioni del sito.
I CMS possono essere programmati in vari linguaggi tra cui più comunemente in ASP,
PHP, .NET, J2EE; il tipo di linguaggio adoperato è indifferente a livello di funzionalità. Alcuni
linguaggi rendono il CMS multipiattaforma (come per esempio PHP e J2EE), mentre altri lo
rendono usufruibile solo su piattaforme proprietarie (come per esempio .NET e ASP).
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
3. CMS – Content Management System
3
Figura 1 Tipico schema di un sistema di CMS con evidenza dei sottosistemi.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
4. Cenni storici
4
I Content Management System sono nati negli Stati Uniti e sono stati
inizialmente sviluppati da alcune organizzazioni che producevano notevoli
quantità di pubblicazioni, per il loro uso interno.
Nel 1995 la CNET rese pubblici gli studi e i prodotti sviluppati
internamente, distribuendoli con l'etichetta Vignette. La compagnia cominciò a
mettere a disposizione il proprio software come sistema di gestione dei
contenuti via web. Per la prima volta un utente poteva creare il proprio sito
direttamente dal web, usando l'interfaccia CNET.
Nel 1998, la Pencom Web Works, una compagnia di consulenza
aziendale, introdusse il server di trasformazione dati (DTS) Metaphoria, che
permetteva agli sviluppatori Java di scrivere applicazioni che si potevano
collegare ai contenuti e permettevano di distribuire tali contenuti su canali
diversi. Il prodotto non ebbe successo, ma il concetto che era stato introdotto
costituì le basi di ciò che è diventato il CMS odierno.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
5. Problema di gestione dei contenuti
5
In un approccio sistematizzato al problema della gestione dell'informazione si affrontano le
seguenti fasi:
¨ Identificazione degli utenti di back-end e dei relativi ruoli di produzione o fruizione
dell'informazione;
¨ Assegnazione di responsabilità e permessi a differenti categorie di utenti per distinti tipi di
contenuti (in un progetto complesso il prodotto finito non è frutto del lavoro del singolo, che
pertanto non ha possibilità o esigenza di intervenire in tutti gli ambiti);
¨ Definizione delle attività di workflow, cioè formalizzazione di un percorso per
l'assemblaggio del prodotto finale che, in quanto frutto di produzione frammentaria, deve
acquisire la sua unitarietà sottostando a opportune procedure di supervisione. Più
prosaicamente, per poter rendere efficiente la comunicazione tra i vari livelli della
gerarchia, è necessaria un'infrastruttura di messaggistica, con la quale i gestori del
contenuto possono ricevere notifica degli avvenuti aggiornamenti;
¨ Tracciamento e gestione delle versioni del contenuto;
¨ Pubblicazione del contenuto;
¨ Definizione del palinsesto editoriale.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
6. I Web Content Management System
6
Nonostante i CMS non siano stati concepiti per il Web, oggi il loro utilizzo più diffuso è rivolto alla gestione di siti web,
soprattutto se sono di grandi dimensioni e richiedono un frequente aggiornamento.
Una delle applicazioni più utili dei sistemi di WCMS, infatti, è nella gestione dei portali (intranet, extranet, community, siti di
e-commerce...), dove vengono impiegati come strumento di pubblicazione flessibile e multiutente. Ad esempio, gestione di contenuti
testuali (notizie, articoli ecc.), link, immagini, liste di discussione, forum, materiale scaricabile. Può essere modificata anche la
struttura stessa delle pagine in numero ed organizzazione. A volte i WCMS danno la possibilità di gestire anche più versioni dello
stesso sito (ad esempio, HTML o WAP).
I WCMS consentono di definire utenti, gruppi e diritti in modo da poter permettere una distribuzione del lavoro tra più
persone. Per esempio, è possibile definire una classe di utenti abilitati esclusivamente all'inserimento delle notizie, mentre si può
riservare la scrittura di articoli ad un altro gruppo, e limitare tutti gli altri alla sola consultazione.
L'introduzione di un Web Content Management System in azienda richiede la definizione di chiari processi interni di
approvazione dei contenuti. La scelta di un software di WCMS è strategica per le aziende che generano la maggior parte di
volume d'affari su Internet, ma - in proporzione diversa - è molto importante anche per il libero professionista che vuole utilizzare il
medium Internet per farsi conoscere.
In letteratura esistono numerosi modelli che aiutano a valutare il ritorno di un investimento (ROI) in un WCMS. I costi di
adozione sono spesso elevati, quindi non sono sostenibili per i professionisti o i privati che non fanno del Web la loro competenza
di base.
Per rispondere a questa necessità di mercato sono nati alcuni application service provider (ASP) che offrono questo servizio
direttamente via Web, senza richiedere alcun investimento hardware o software. Gli ASP costano ai loro clienti un canone annuale
per il servizio di WCMS erogato
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
7. Vantaggi dei CMS
7
Un CMS permette di costruire e aggiornare un sito dinamico, anche
molto grande, senza necessità di scrivere una riga di HTML/XHTML e
senza conoscere linguaggi di programmazione lato server (come
PHP, .NET, Ruby, JSP, etc…) o progettare un apposito database
modellato per un sistema di CMS. L'aspetto esteriore delle pagine può
essere personalizzato scegliendo un foglio di stile CSS appositamente
progettato per un determinato CMS.
I flat file CMS, altrimenti noti come text-based CMS, sono dei
Content Management System che si basano su file di testo (il più delle
volte files XML) e che perciò non necessitano di alcun database come
MySQL, PostgreSQL, Microsoft SQL Server, etc. Questi CMS sono
facilmente installabili e dunque sono particolarmente adatti per siti
personali o per piccole comunità. Un CMS open source di questa
tipologia è Flatnuke.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
8. Limiti dei CMS
8
Un CMS è tanto più efficiente quanto più è specializzato. Molti piccoli portali fanno ricorso a CMS (scritti da altri e messi a
disposizione gratuitamente o a pagamento) di tipo generico; per quanto un CMS possa essere flessibile, un sito basato su questa
struttura in genere presenta un aspetto poco personalizzato se non è possibile intervenire direttamente sul codice sorgente del
prodotto per modificarlo. Analogamente i contenuti saranno sempre ancorati a quanto previsto da chi ha progettato il CMS e non
alle esigenze di chi pubblica il sito.
Problemi di gestione possono derivare dal fatto che chi pubblica o gestisce il sito può usare il CMS per intervenire sui
contenuti e sull'aspetto, ma generalmente (caso del software proprietario) non è in grado di intervenire direttamente (o far
intervenire) sulla struttura del CMS stesso; questo è un limite strettamente connesso al vantaggio primario dei CMS: pubblicare un
portale senza doverne progettare la struttura o senza possedere le conoscenze tecniche (o le risorse finanziarie) per uno sviluppo
personalizzato. Tuttavia esistono anche CMS particolarmente evoluti che permettono di scrivere direttamente sul database. È il caso
per esempio di alcuni CMS proprietari.
Questi problemi sono risolvibili utilizzando software open source: la possibilità di accedere al codice sorgente del prodotto
permette di personalizzare il software sulla base delle proprie esigenze a patto di non avere necessità di apportare modifiche al
prodotto adottato. Anche in questo caso, vanno messi in conto i costi per lo sviluppo di moduli personalizzati o funzioni particolari a
meno di non possedere in proprio o nella propria struttura aziendale le conoscenze tecniche per intervenire nel codice sorgente.
I portali di una certa importanza generalmente non fanno mai ricorso a CMS distribuiti bensì usano programmi e database
progettati su misura, ovvero "CMS personalizzati" e dunque necessariamente specializzati; in questo modo la struttura e la
presentazione vengono realizzate tenendo presenti i contenuti che il sito dovrà ospitare e potranno essere modificati in seguito a
nuove esigenze.
Non mancano però i casi in cui grandi aziende o società si siano affidati a CMS open source liberi: la Sampdoria[1] calcio e
la Foppapedretti[2] sono solo due esempi tra le realtà che hanno investito su questo tipo di tecnologia.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
9. Il CMS in 15 punti
9
1. Mantiene separato il codice di programmazione, grafica e contenuti
Questo significa che su ognuno di questi tre elementi possono intervenire persone diverse con competenze specifiche:
• Il grafico web realizza l’interfaccia grafica del sito;
• Il programmatore informatico configura e personalizza la struttura del sistema integrando il materiale grafico e realizzando
eventuali template;
• L’azienda o l’ente committente provvede a gestire i contenuti
Con un CMS viene tenuta distinta l’attività di sviluppo del sito dall’attività di mantenimento del sito. La prima fase è a cura
della società informatica che realizza il progetto (il contenitore con tutti gli automatismi necessari). La seconda fase è a cura
dell’organizzazione committente che inserisce e aggiorna le informazioni del sito (il contenuto).
2. Valorizza la natura comunicativa del sito
Alcuni pensano che con un CMS vengano realizzati siti graficamente poco accattivanti e che la comunicazione perda di
efficacia. E’ vero il contrario. Un CMS valorizza la comunicazione e l’interazione fra gli utenti e l’azienda o l’ente gestore del sito.
Alle pagine di un CMS può essere integrato qualsiasi elemento grafico o multimediale senza vincoli di formati (oggetti flash, file
audio e video, 3D). Un CMS inoltre sfrutta i fogli di stile (CSS) per tenere separata la visualizzazione della pagina dalla struttura
dei contenuti garantendo un aspetto omogeneo a tutte le pagine del sito.
Un CMS infine consente di modificare o aggiornare la grafica con estrema facilità. Se ad esempio si rendesse necessario
cambiare il logo o il marchio pubblicato sul sito questo verrebbe realizzato con la modifica ad un solo file e verrebbe attuato su
tutte le pagine in modo automatico ed immediato.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
10. Il CMS in 15 punti
10
3. Utilizza un motore di Template
Nei CMS è possibile definire dei modelli grafici di pagina web che possono poi essere richiamati al momento della
creazione di nuovi contenuti. Questo permette di avere una varietà grafica all’interno del sito scegliendo, fra alcuni template
predefiniti, quello che meglio si adatta ai contenuti da pubblicare.
4. Consente la manutenzione del sito via web
L’aggiornamento delle informazioni contenute nel sito viene effettuato tramite browser web. Qualsiasi utente autorizzato può
contribuire, in collegamento via Internet, alla definizione dei contenuti. Questo consente a persone dislocate in sedi diverse, anche
lontane fra di loro, di partecipare all’aggiornamento del sito.
5. Crea in automatico la mappa del sito
Il CMS gestisce la navigazione del sito. Quando viene inserita una nuova sezione o una nuova pagina non è necessario
preoccuparsi di inserirla nella navigazione o di linkarla dalle altre pagine perché questo avviene in modo automatico.
Molti CMS inoltre generano anche la mappa del sito. Ogni nuova pagina inserita sarà automaticamente evidenziata nell’albero
della mappa.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
11. Il CMS in 15 punti
11
6. Utilizza editor visuali
Nei CMS sono integrati degli editor visuali che consentono di scrivere i contenuti della pagina o della sezione di pagina con
le funzionalità standard di un semplice word processor: inserimento di testi, modifica del font e della dimensione del carattere,
inserimento di elenchi puntati, inserimento di foto o immagini, inserimento di tabelle, scelta del colore dello sfondo, scelta della
posizione di testi e foto. Persone senza alcuna conoscenza informatica possono pertanto scrivere contenuti per il sito.
7. Gestisce le fasi del lavoro
Nei CMS sono integrati dei motori di workflow che consentono la definizione delle varie fasi di lavoro. Così, ad esempio si
potrà decidere che un operatore può inserire una nuova notizia, ma che questa non viene pubblicata sul sito fintanto che il
responsabile non dà la sua autorizzazione. Il tutto via web con eventuali segnalazioni tramite e-mail.
8. Gestisce gli utenti
Un CMS consente di gestire i diversi ruoli degli utenti coinvolti nel mantenimento del sito attribuendo a ciascuno un permesso
specifico per intervenire in una particolare sezione (chi fa cosa e dove).
La funzionalità può essere estesa per rendere visibili determinate sezioni del sito solo a particolari utenti (ad esempio partner,
rivenditori, agenti, e altro).
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
12. Il CMS in 15 punti
12
9. Ha il motore di ricerca integrato
Nei CMS è disponibile un motore di ricerca integrato che indicizza i contenuti del sito in modo automatico e consente di fare
delle ricerche avanzate sui testi delle pagine.
10. Supporto multilingua
La gestione multilingua del sito, solitamente laboriosa e complessa, viene effettuata in modo semplice utilizzando un CMS.
11. Dispone di moduli e componenti aggiuntivi
Quasi tutti i CMS dispongono di moduli aggiuntivi che possono essere facilmente integrati al sistema base come ad esempio
forum, newsletter, sondaggio, e altro.
12. Integra e supporta funzionalità evolute
Ai CMS sono interfacciabili database esterni, cataloghi di prodotti, sistemi e-commerce e in generale funzionalità web
evolute.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
13. Il CMS in 15 punti
13
13. E’ scalabile
I CMS consentono di realizzare inizialmente dei siti semplici che possono crescere ed evolversi nel tempo integrando nuove
funzionalità a seconda delle mutate esigenze.
14. Aiuta a creare e mantener siti accessibili
I CMS più moderni soddisfano i requisiti di realizzazione di pagine web secondo le direttive W3C guidando i gestori dei
contenuti nell’inserimento delle corrette informazioni. Dispongono inoltre di funzionalità native quali le “briciole di pane”, la
pulsantiera per la modifica della dimensione del carattere, ecc. che aiutano i navigatori a muoversi all’interno del sito.
15. Supporta il lavoro collaborativo
I CMS sono la base per la realizzazione di sistemi collaborativi come le Intranet.
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
14. Comparazione CMS Open Source
14
Per concludere questa breve sessione sui sistemi di Content
Management System (CMS), ritengo utile mostrare una comparazione
tra i più diffusi sistemi di CMS Open Source. La comparazione è
raggruppata per macro funzionalità. Per il confronto ho selezionato sei
CMS tra i più conosciuti utilizzando il tool messo a disposizione dal
portale CMS Matrix (http://www.cmsmatrix.org):
¨ DotNetNuke 5.0.0
¨ Drupal 6.10
¨ eZ Publish 4.2
¨ Joomla! 1.5.10
¨ TYPO3 4.2.9
¨ WordPress 2.2.1
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
15. Comparazione CMS Open Source
15
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
16. Comparazione CMS Open Source
16
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
17. Comparazione CMS Open Source
17
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
18. Comparazione CMS Open Source
18
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
19. Comparazione CMS Open Source
19
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
20. Comparazione CMS Open Source
20
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0
21. Comparazione CMS Open Source
21
(C) 2010 Antonio Musarra’s Blog 16 Marzo 2010 - v. 1.0