Che cos'è un CMS

Un CMS è un "Content Management System" (Sistema di gestione dei contenuti). Qui si parlerà soprattutto di CMS per il web e in particolare di quelli "open source". Viste le mie competenze ristrette, all'interno di questo lodevole sottinsieme citerò soprattutto piattaforme di CMS basate su PHP/MySQL, ma sappiate che non sono le uniche disponibili.

Molto brevemente, si tratta di un sistema di pubblicazione sul web che permette (quasi) a chiunque di gestire siti più o meno grandi senza dover chiamare il famigerato "tecnico" (Web Agency, Web Designer, cugino smanettone).

CMS può essere inteso in senso lato: due script sul server creati ad hoc per aggiungere delle news in home page; tuttavia normalmente (e qui mi riferirò soprattutto a questo secondo caso) si intende con CMS un pacchetto molto più esteso, che comprende quasi sempre molti servizi essenziali.

Cos'è e cosa fa un CMS

Su internet, questo indica un'applicazione lato server che permette una generazione dinamica dei contenuti traendoli (generalmente) da un database. L'applicazione è composta da una serie di script che permettono a chiunque, anche digiuno di HTML, di aggiornarnare il sito "retto" dal CMS inserendo i contenuti direttamente online, fondamentalmente tramite una serie di form (più o meno "avanzate").

Gli script, lavorando sul server, memorizzano le informazioni immesse dall'utente (amministratore o redattore) traducendole in dati "digeribili" dal server (record del database, altri script) e le restituiscono all'utente finale in modo completamente trasparente (all'utente finale arriva comunque una pagina HTML "standard", come avrebbe potuto scriverla a manina il famigerato di cui sopra).

Proprio per questo, in un CMS si distingue di solito la parte front-end (che viene presentata ai navigatori) da quella back-end, che contiene la parte gestionale (amministrazione, opzioni, editing).

Dovrebbe essere ormai chiaro, ma ci tengo a sottolinearlo comunque: la parte back-end:

  • non richiede (almeno per tutte le operazioni quotidiane più comuni) conoscenze maggiori di quelle necessarie a navigare su internet e scrivere con un word-processor
  • non richiede software proprietari, reti private virtuali, plugins esotici, ma un semplice Browser Internet (io consiglio Firefox... ma se volete tenervi Internet Explorer in questo caso fa lo stesso)

In pratica tutte le operazioni di gestione si effettuano connettendosi al sito, immettendo username e password e sfogliando delle pagine (spuntando, scrivendo, scegliendo opzioni da menù a discesa)

Dato che un'immagine vale più di mille parole (a parte quando un'illustratore la vende a un editore...), cliccando qui sotto potete vedere un esempio di CMS (il sistema di Blog di questo sito) in azione:

(Vi farei accedere direttamente alla piattaforma, perchè so che siete persone educate e ben intenzionate: sono gli altri che rovinano tutto...)

Perchè usare un CMS

Ci sono parecchi servizi legati alla pubblicazione di un sito web che, senza un CMS (qui inteso in senso lato), sarebbero mooolto più complicati da gestire e in qualche caso impossibili.

Esempi del primo tipo sono: un sistema di news, un forum, la creazione e modifica di pagine del sito. Per il secondo tipo abbiamo per esempio: la ricerca libera nei contenuti, la gestione degli utenti e relativi permessi, la generazione automatica di un feed RSS.

Con un CMS l'editore del sito (colui che lo amministra e ne gestisce i contenuti) è potenzialmente in grado di affrancarsi, dopo il primo setup, da agenzie e programmatori.

Ne guadagna l'editore e ne guadagnano i navigatori: al posto del vecchio sito-depliant, fatto e lasciato lì a ingiallire, i visitatori possono avere notizie fresche, modi di interazione (più o meno spinti) con l'editore o altri utenti, servizi utili come la ricerca o l'e-commerce; insomma quello che, oggi, il navigatore medio si aspetta da qualsiasi sito.

Tipi di CMS

Ci sono CMS "generalisti", che fanno un po' di tutto (v. sotto) o altri più specializzati. Anche se la tendenza attuale è quella della convergenza (i CMS specializzati fanno sempre più cose e quelli generalisti implementano sempre più servizi specializzati), mi sembra che si possa ancora fare qualche distinzione. Senza voler fare una tassonomia esaustiva, fra i sistemi specializzati citerò:

  • LMS (Learning Management Systems) - sistemi per la formazione online, orientati alla diffusione di materiale didattico e alla sua erogazione; hanno classi, corsi, calendari, test di apprendimento, fino a esami online
  • piattaforme per i Blog - uno lo state vedendo all'opera ;-). Permettono la pubblicazione di un "diario online", con coordinate ormai consolidate: commenti dei lettori, pubblicazione di un flusso "puro" xml (feed) per l'utilizzo degli articoli fuori dal contesto del sito, anche con strumenti diversi dai browser internet, strumenti per la creazione di una rete esterna al blog (a.e. trackbacks)
  • sistemi di e-commerce - sistemi dedicati al commercio online di beni e servizi; includono il carrello, l'interfaccia con i più diffusi sistemi di pagamento online, la gestione di articoli, categorie, fornitori, diversi strumenti di marketing, calcolo dei costi (anche della spedizione)
  • piattaforme per i WIKI - i wiki sono siti la cui peculiarità è la contribuzione (più o meno) orizzontale di tutti gli utenti alla creazione e modifica dei contenuti. L'esempio più conosciuto è senz'altro wikipedia, che se non conoscete andate subito a guardare (aldilà dei pregi e difetti di dettaglio).

Funzioni "standard" di un CMS

Qui è molto difficile trovare un sottoinsieme comune (fermo restando che qui sto parlando dei CMS generalisti), ma ci provo.

  • gestione dei contenuti: creazione di sezioni, sottosezioni e pagine; editing della maggior parte dei contenuti con tools WYSIWYG (scrittura trasparente di testo formattato -html- con immagini, link, etc.)
  • tools: news, faq, calendario
  • motore di ricerca interno
  • gesitione degli utenti: possibilità di autoiscrizione, permessi su pagine/contenuti, gestione di gruppi
  • gestione del flusso di pubblicazione: gerarchia di permessi per scrittura, approvazione e messa online agli utenti finali
  • community: forum, sondaggi, possibilità per gli utenti di gestire i propri dati (sino a pubblicare, su CMS particolarmente orientati al Web 2.0, contenuti propri orizzontalmente rispetto all'editore)
  • sistemi di pubblicazione alternativa: feed RSS, versioni accessibili, eventualmente invio per email agli utenti registrati (in realtà queste caratteristiche sono implicite nella struttura fondamentale di ogni CMS, che separa la nuda interfaccia -template- dai contenuti veri e propri)

Mi sembra che ci sia tutto l'indispensabile. Tenete conto che quasi tutti i CMS, in ogni caso, hanno dei sistemi di plugin con cui è possibile estendere le funzionalità base in ogni direzione. Ovviamente, quanto più un CMS è diffuso (o quanto è più ampia la comunità di sviluppatori interessati) tanto è più facile trovare senza fatica la pappa pronta di un plugin che fa al caso nostro.

Mi hai convinto: da dove parto?

Anzitutto c'è bisogno di uno "spazio web". Alcuni hoster forniscono soluzioni già "pacchettizzate", con incluso nel costo dell'hosting la pre-installazione di sistemi CMS a larga diffusione. Se sei un privato e non ti interessa altro che il CMS "base", con poche decine di euro all'anno (o gratis, nel caso dei Blog) puoi partire da subito.

Il punto "critico" sono invece le aziende, paradossalmente meno aggiornate tecnologicamente dei quindicenni smanettoni. Difficilmente un'azienda si accontenterà del CMS as-is, ma vorrà delle personalizzazioni grafiche e funzionali, così come una consulenza/formazione "formalizzata", non potendo contare sul fatto impalpabile che c'è un dipendente "espertissimo di computer" e volendo anche alcune garanzie sul funzionamento del giocattolo. In questo caso la parteza è un piano di hosting che includa almeno un database e una tecnologia lato server: qui abbiamo parlato di PHP e quindi direi un hosting PHP/MySQL, ma nulla esclude l'utilizzo di CMS basati su altre tecnologie (tipo ASP/dotNET).

In secondo luogo, almeno nella fase di progettazione/implementazione, è necessario il ricorso ad una agenzia (o web developer: me per esempio ? ;-)) che segua lo sviluppo e il supporto/formazione di cui sopra. Una volta implementato il tutto, resta valido l'assunto fondamentale dell'indipendenza.

Alcune risorse

  • Open Source CMS, qui puoi provare (davvero: provare, entrando da amministratore) tutti i più diffusi CMS, compresi alcuni di quelli definiti qui come specializzati
  • Il mio CMS preferito: Exponent
  • La solita Wikipedia; la voce non è ricchissima, ma tramite i vari links potete approfondire in ampiezza alcuni concetti
 

Trackbacks

    Nessun Trackbacks

Commenti

Mostra commenti (Cronologicamente | Per argomento)

    Nessun commento


Aggiungi Commento


Puoi scrivere in grassetto usando due asterischi (*testo in bold*), e sottolineare con due underscore (_testo sottolineato_).
Le emoticons qui sotto sono convertite in immagini.
:'(   :-)   :|   :-O   :-(   8-)   :-D   :-P   ;-)

Per evitare spam e inserimenti da parte di script, devi reinserire i caratteri che vedi nell'immagine qui sotto (richiede l'abilitazione dei cookies).
CAPTCHA 1CAPTCHA 2CAPTCHA 3CAPTCHA 4CAPTCHA 5