Content management system
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 Web.
Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti (un’enciclopedia on-line, un blog, un forum, una rivista ecc.) e CMS generici, che tendono a essere più flessibili per consentire la pubblicazione di diversi tipi di contenuti.
Tecnicamente un CMS è un’applicazione lato server che si appoggia su un database preesistente per lo stoccaggio dei contenuti e suddivisa 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. L’amministratore del CMS gestisce dal proprio terminale, tramite un pannello di interfaccia e controllo, i contenuti da inserire o modificare.
I CMS possono essere realizzati tramite programmazione in vari linguaggi web tra cui più comunemente in ASP, PHP, .NET; il tipo di linguaggio adoperato è indifferente a livello di funzionalità. Alcuni linguaggi rendono il CMS multipiattaforma, mentre altri lo rendono usufruibile solo su piattaforme proprietarie.
Cenni storici
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.
Il problema della gestione dei contenuti
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
La descrizione appena data è perfettamente applicabile anche a MediaWiki, il software di gestione di Wikipedia.
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 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.
[modifica] Vantaggi dei CMS
Un CMS permette di costruire e aggiornare un sito dinamico, anche molto grande, senza necessità di scrivere una riga di HTML e senza conoscere linguaggi di programmazione lato server (come PHP) o progettare un apposito database. 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, ecc. 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.
Limiti dei CMS
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.