Introduzione. Content Mangement System abbreviato in CMS è un software applicativo da installare e da far funzionare sul web. 
Un CMS si divide in lato amministrazione e lato utente. Il lato utente è il sito web vero e proprio, tutto ciò che può vedere e consultare l'utente finale. Il lato amministrazione o pannello di amministrazione è la parte che permette di amministrare tutti i contenuti del sito. Dal lato amministrazione si possono creare menù, pagine web per inserire testo, inserire foto, video clip, banner pubblicitari, creare nuovi utenti con password singole o multi livello, modificare i contenuti e realizzarne di nuovi, ecc.
Oggi con i CMS che abbiamo a disposizione non è difficile realizzare un sito generico. In teoria anche un principiante che è al primo approccio con il web in pochissimo tempo può realizzare siti molto belli e con grafica accattivante.
Le cose si complicano quando occorre creare contenuti specifici che vanno al di là degli strumenti che mette a disposizione il pannello di amministrazione del CMS. In questi casi occorre essere degli esperti del CMS cui si sta utilizzando o comunque avere almeno delle buone basi della programmazione di script per il web.
La caratteristica ed efficienza di un CMS si distingue da altri per le estensioni che ha a disposizione. Le estensioni sono note come Moduli o Plugin che, se installati nel CMS, permettono di aggiungere funzionalità più evolute e capaci di soddisfare molte esigenze. Esistono estensioni che permettono di realizzare delle vere e proprie web application, ma spesso per farle funzionare bene occorre essere un esperto.
Faccio un esempio molto semplice: realizzare un form per un preventivo, compilarlo ed ottenere il risultato finale. Quando si clicca su Invia o Salva il form salva il preventivo nel database e contemporaneamente invia una e-mail sia all'utente che all'amministratore del sito web. 
Per l'utente finale compilare il form preventivo è un gioco da ragazzi, il problema è programmarlo affinchè funzioni bene. Proprio in un caso del genere o si ha a disposizione un'estensione specifica che aiuta a fare questo tipo di lavoro oppure occorre essere un programmatore di script e conoscere bene il CMS.

Oggi i CMS sono tantissimi, capaci di soddisfare la maggior parte delle esigenze del web.

In generale si dividono in:

CMS proprietari. Una società d'informatica che ha programmato un CMS -con copyright- e che lo mette a disposizione ad un determinato prezzo.

CMS Open Source freeware con licenza GPL/GNU.

Rivolgo l'attenzione a quest'ultima tipologia di CMS perché, a mio parere, molti di questi applicativi non hanno niente da invidiare ai CMS proprietari. 

Una ulteriore classificazione va fatta in base al funzionamento del CMS, cioè cosa permette di fare. Pertanto occorre distinguerli in:

CMS generici. Servono per fare siti web generici ma, con le estensione, permettono di potenziare notevolmente gli strumenti del CMS ed andare oltre la genericità. Cito i tre più conosciuti: Drupal, Joomla!, WordPress.

LCMS Learning Content Managment System. Specialistico per fare formazione a distanza. Permette di realizzare delle vere e proprie aule virtuali separate e a vari livelli con tanto di docenti e studenti e tracciamenti delle frequenze ai corsi. Vale la pena citarne almeno due: Moodle e Dokeos E-learning Suite.

Blog. O meglio lo strumento che permette di pubblicare la propria fantasia in maniera virtuale. Viene utilizzato da quelle persone che vogliono aprire discussioni, informare e rendere partecipi altre persone riguardo ad un argomento di pertinenza del blogger. Ad esempio un blog di fotografia, di ufologia o di letteratura. In merito ai Blog cito WordPress, anche se da qualche anno è stato sviluppato come un CMS per fare siti generici.

Forum di discussione. Come dice la parola stessa è un’area composta da argomenti specifici di discussione. Ogni argomento prevede una discussione a se stante tra gli utenti partecipanti al forum. Per consultare le discussioni non è necessario iscriversi al forum, lo diventa se si vuole partecipare come utilizzatori attivi che, una volta registrati, è possibile postare in ogni discussione o aprire nuovi post e quindi creare una interazione virtuale con gli altri iscritti. Chi si iscrive ad un forum apre un suo profilo strettamente legato alla propria username e password. Uno dei sistemi per forum più famosi è PHPBB.

E-commerce. Internet, Web, linee ADSL e New Economy sono strettamente legate tra loro. L’e-commerce ha rappresentato il loro culmine. Molte aziende hanno iniziato ad investire con vendita e acquisto dei loro prodotti, beni o servizi sul web. I programmatori o le community di programmatori vedendo la richiesta di sistemi on-line par la compravendita hanno iniziato a programmare e a proporre CMS specialistici per il commercio elettronico. Ma su l'e-commerce ci sarebbe molto da scrivere, in questa sede preferisco citare qualche CMS per l'Ecommerce: Oscommerce e PrestaShop .

Wiky. Tra gli altri CMS sono state sviluppate anche le Wiky. Sono delle pagine web che comprendono documenti di vario tipo. Spesso la wiky viene usata anche per delle vere e proprie guide on-line.
Gli utenti utilizzatori hanno la possibilità di registrarsi all'interno del sistema e avere modo di aprire nuovi contenuti o modificare quelli già esistenti. In caso di errori o di incompatibilità dei contenuti si ha la possibilità di ripristinare il tutto alla versione precedente. La particolarità e che i contenuti possono essere modificati da tutti gli utilizzatori. La filosofia della wiky e di tipo collaborativo, ogni utente può dare il proprio contributo sullo scambio, lo sviluppo e la condivisione dei contenuti. Di sicuro la più famosa è Wikypedia .