Introduzione ai sistemi di Content Management System (CMS)

23
Sessione introduttiva sui CMS (versione 1.0 16/03/2010) 1 © 2010 Antonio Musarra’s Blog

description

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.

Transcript of Introduzione ai sistemi di Content Management System (CMS)

Page 1: Introduzione ai sistemi di Content Management System (CMS)

Sessione introduttiva sui CMS (versione 1.0 16/03/2010)

1 © 2010 Antonio Musarra’s Blog

Page 2: Introduzione ai sistemi di Content Management System (CMS)

CMS – Content Management System

16 Marzo 2010 - v. 1.0

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

Page 3: Introduzione ai sistemi di Content Management System (CMS)

CMS – Content Management System

Figura 1 Tipico schema di un sistema di CMS con evidenza dei sottosistemi.

3

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 4: Introduzione ai sistemi di Content Management System (CMS)

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.

4

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 5: Introduzione ai sistemi di Content Management System (CMS)

Problema di 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.

5

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 6: Introduzione ai sistemi di Content Management System (CMS)

I Web Content Management System

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

6

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 7: Introduzione ai sistemi di Content Management System (CMS)

Vantaggi dei CMS

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.

7

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 8: Introduzione ai sistemi di Content Management System (CMS)

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: la Sampdoria[1] calcio e la Foppapedretti[2] sono solo due esempi tra le realtà che hanno investito su questo tipo di tecnologia.

8

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 9: Introduzione ai sistemi di Content Management System (CMS)

Il CMS in 15 punti

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.

9

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 10: Introduzione ai sistemi di Content Management System (CMS)

Il CMS in 15 punti

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.

10

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 11: Introduzione ai sistemi di Content Management System (CMS)

Il CMS in 15 punti

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).

11

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 12: Introduzione ai sistemi di Content Management System (CMS)

Il CMS in 15 punti

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.

12

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 13: Introduzione ai sistemi di Content Management System (CMS)

Il CMS in 15 punti

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.

13

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 14: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source

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

14

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 15: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 15

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 16: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 16

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 17: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 17

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 18: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 18

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 19: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 19

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 20: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 20

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 21: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 21

16 Marzo 2010 - v. 1.0 (C) 2010 Antonio Musarra’s Blog

Page 22: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 22

(C) 2010 Romcad S.r.l. 16 Marzo 2010 - v. 1.0

Page 23: Introduzione ai sistemi di Content Management System (CMS)

Comparazione CMS Open Source 23

(C) 2010 Romcad S.r.l. 16 Marzo 2010 - v. 1.0