Content Management System

Sistema di gestione dei contenuti

Un Content Management System (CMS), o 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. Il CMS rappresenta una interfaccia tra chi gestisce i contenuti del sito (che spesso è il titolare del sito stesso) ed il codice necessario a visualizzali.

Il Content Management System è progettato per organizzare e facilitare la creazione collaborativa di documenti e di contenuti differenti, oltre che per aggiornare i contenuti dei siti Web in maniera rapida e semplice. Con il supporto del CMS, è molto facile per l’utente creare, modificare o eliminare i contenuti presenti sul sito, senza il rischio di compromettere la struttura esistente o la necessità di conoscere le tecnologie utilizzate per la creazione delle pagine web.

cms

Tra i CMS più comuni vi sono i seguenti:

  • flatnuke
  • plone
  • drupal
  • wordpress
  • joomla
  • open cms
  • dotnetnuke

Un Web Content Management System (WCMS) o CMS per la pubblicazione sul Web, è una combinazione di database di grandi dimensioni, file system e altri moduli software correlati, che sono utilizzati per memorizzare e poi recuperare enormi quantità di dati.

Le figure di base del CMS

Ci sono tre figure (attori, partecipanti) di base nel sistema CMS di web publishing:

  • Editor di contenuto (che decidono quali contenuti pubblicare e dove)
  • Editori di contenuti (che pubblicano il contenuto sul web)
  • Autori di contenuto (che creano il contenuto per il web)

Un CMS permette ad autori non tecnici ed editori di pubblicare facilmente e rapidamente il loro contenuto.

Funzione e struttura di un CMS

Un CMS permette di costruire e aggiornare un sito dinamico, anche molto grande, senza necessità di scrivere codice HTML e senza conoscere linguaggi di programmazione lato server (come PHP) o progettare un apposito database.

L’aspetto può essere personalizzato scegliendo un foglio di stile CSS appositamente progettato per un determinato CMS.

Tecnicamente un CMS è un’applicazione lato server (server-side), divisa in due parti:

  1. la sezione di amministrazione (back end), che serve ad organizzare e supervisionare la produzione dei contenuti,
  2. la sezione applicativa (front end), che l’utente web usa per fruire dei contenuti e delle applicazioni del sito.

Un CMS è un insieme di componenti che lavorano in sinergia. Tra gli elementi più importanti vi sono:

  • la base dati contenente i contenuti;
  • il motore di pubblicazione delle pagine;
  • il sistema di gestione dei contenuti.

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

Il database

È l’archivio dei contenuti che saranno pubblicati sul sito.

Contiene, ad esempio:

  • i contenuti degli articoli, della home e di tutte le parti in gestione all’utilizzatore;
  • i link con le informazioni collegate;
  • le regole di visibilità;
  • i dati di accesso.

Il database può essere su Sql Server o Oracle, o ancora su MySql per ambienti Linux.

Il motore di pubblicazione

È la parte software deputata alla pubblicazione dei contenuti.

Normalmente è rappresentato da un gruppo di pagine in ASP, Cold Fusion o PHP che inviano in rete il codice html corrispondente ai contenuti presenti nel database.

Il gestore dei contenuti

Permette all’operatore di gestire i contenuti del sito. Alcune sue funzioni sono:

  • editor testuale o HTML dei contenuti;
  • gestione dei link;
  • gestione della visibilità.

Nella gestione dei contenuti 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);
  • Tracciamento e gestione delle versioni del contenuto;
  • Pubblicazione del contenuto;
  • Definizione del palinsesto editoriale.