|
Azioni sul documentoContent Management SystemNota: questa è la vista stampabile contenente tutte le pagine del manuale in una sola pagina. Se si preferisce c'è disponibile la versione suddivisa in più pagine. Una breve ma chiara introduzione ai CMS, cosa sono, come sono nati e come si utilizzano. A cura del Dott. Sergio Brero.
1. Il contesto: World Wide Web, HTML, sviluppiIn questa sezione si proverà innanzitutto ad esplicare il contesto nel quale i CSM si trovano ad operare, e cioè quello del World Wide Web e delle intranet ovvero nelle reti TCP/IP dove il traffico HTTP è fondamentale per lo scambio di dati e informazioni.
Si accennerà all'evoluzione del Web e dei problemi che nel corso degli ultimi anni ci si è trovati a fronteggiare, e di come e perchè i CMS sono una delle risposte che le comunità degli sviluppatori hanno dato per fornire la possibilità di sfruttare appieno le possibilità che il medium comunicativo che si sta affermando come uno dei più rilevanti per il mondo del lavoro, la rete, può offrire.
1.1. HTML e siti staticiI primi siti internet.
Il World Wide Web nasce dal lavoro di Tim Berners-Lee presso il CERN di Ginevra e vede praticamente la luce nel 1991 basato sul protocollo di comunicazione HTTP, sviluppato come protocollo di rete per la distribuzione di documenti scritti in HTML (Hyper Text Markup Lenguage) visualizzabili dagli utenti via browser, un programma apposito che rende il codice HTML. 1.2. CGI e Server ScriptingL'evoluzione dell'HTML.
I programmatori non tardarono ad accorgersi che se HTML poteva essere scritto a mano, uno script Perl, ad esempio, poteva avere la stessa funzione e lo stesso risultato dato che al browser sarebbe sempre stato inviato codice HTML che sarebbe stato interpretato nella maniera tradizionale. Così incorporando nella URL di un documento alcuni parametri ad hoc usabili come variabili una richiesta HTML può diventare una query ad un database i cui risultati vengono trasformati dallo script in codice HTML che il server invia a seguito della richiesta ad un browser. 1.3. Linguaggi di scriptingUna rassegna dei principali linguaggi di scripting.
I linguaggi di scripting lato server sono ad oggi la migliore risposta che è stata fornita dalla comunità informatica per semplificare e rendere più efficace la creazione di pagine dinamiche. Questi linguaggi consentono ai server sui quali sono configurati gli opportuni moduli, di assemblare al momento la pagina che il client richiede, prendendone i contenuti da sorgenti esterne, fornendo contemporaneamente gli stessi contenuti in più contesti, non intasando il server di processi e cambi di contesto dal momento che girano come muduli interni allo stesso server HTTP di solito una sola istanza di un processo.
I più diffusi sono:
Esiste inoltre la possibilità di utilizzare come linguaggi di scripting lato server anche Python o PERL, a condizione che siano supportati dal server e che siano installati i relativi moduli. Con questi sistemi la pagina che l'utente va a visualizzare con il suo browser non è altro che l'output di un processo innescato dalla richiesta di un deteminato insieme di contenuti, non più un documento creato una volta per tutte da un programmatore. L'attenzione è quindi focalizzata sui contenuti che vengono considerati come del tutto separati ed indipendenti dalla modalità con la quale verranno riprodotti sullo schermo dell'utente; a sua volta la disposizione visuale, il layout, può quindi essere gestito a prescindere dai contenuti specifici che vi verranno rappresentati. La gestione separata dei due momenti fondamentali della funzione di un sistema di pubblicazione di informazioni via internet/intranet, la creazione dei contenuti e la loro disposizione in uno spazio digitale, è il primo passo che è stato necessario per iniziare a riflettere su come utilizzare meglio le possibilità che la diffusione elettronica dei dati poteve offrire. Sono iniziate così a circolare nella comunità degli sviluppatori, librerie di applicazioni web che permettevano di mettere online semplici portali in maniera automatica che potevano poi essere personalizzati in modo da avere un look originale i cui contenuti poteveno essere facilmente aggiornati e sostituiti senza la necessità di intervenire in alcun modo sulla rappresentazione delle pagine. Erano nate le pagine dinamiche, le basi per la costruzione di applicazioni complesse che saranno poi i CMS, i sistemi di gestione dei contenuti 2. I sistemi di gestione dei contenutiIn questa sezione viene introdotto il concetto di Content Management System orientato alla pubblicazione web e di come questa famiglia di prodotti affronti il problema della gestione dei contenuti, quali essi siano; di cosa sono i contenuti di cui si occupa un tale sistema e di come ne organizzi la gestione attraverso l'utilizzo di sistemi di metadati, di come i contenuti diventino neutrali rispetto alla rappresentazione.
2.1. Cosa sonoDefinizione di CMS.
I sistemi di gestione dei contenuti sono nati con lo scopo di rendere gestibili ed efficaci nel modo più semplice ed economico possibile, siti e portali le cui dimensioni e complessità stavano iniziando a diventare problematiche per chi doveva occuparsene. Il continuo aggiornamento delle informazioni, la rapida obsolescenza dei layout, la complessità delle strutture dei siti, la scarsa efficacia della catena di produzione-pubblicazione dei contenuti in rete (ovvero il ping pong autore-programmatore-autore-programmatore) cui si doveva ricorrere per ogni nuova pagina, per ogni aggiornamento sono stati problemi che per essere alleviati in maniera sensibile hanno avuto bisogno di un nuovo modo affrontare la questione del come organizzare l'intero processo di creazione-pubblicazione delle informazioni e della loro gestione informatica. 2.2. Cos'è un contenutoIl contenuti per i CMS.
Prendendo come esempio una qualsiasi pagina web quale potrebbe essere quella riportata qui di seguito vediamo come si potrebbero suddividere in diversi contenuti i suoi elementi.
L'immagine in alto a sinistra, per esempio è il logo, le due righe di testo in alto a destra l'intestazione del sito, la dicitura “OROSCOPI VARI” è il titolo della sezione, il rettangolo di testo con lo sfondo grigio uno specifico oroscopo. Ognuno di questi esempi è un contenuto, che in pratica è una qualsiasi informazione dotata di senso compiuto (es. l'intestazione) direttamente utilizzabile in un contesto adeguato che il sitema di gestione si occupa di organizzare logicamente e visivamente in modo coerente in base alle disposizioni dei programmatori e che fornisce al browser dell'utente in base alla richiesta HTTP che riceve. I contenuti sono le grandezze elementari con le quali lavora un Sistema di Gestione. Il trafiletto che riporta l'oroscopo dei nati del topo potrebbe a sua volta suddividersi in sottotrafiletti, le singole unità informative (ad esempio proposizioni) riunite in strutture semplici dotate di senso compiuto (ad esempio un trafiletto) vanno a formare quelli che chiameremo contenuti, cioè le grandezze elementari con le quali un utente di un CMS lavora. L'aggregazione di contenuti semplici dà origine a contenuti complessi e lo stesso contenuto elementare può essere parte contemporaneamente di più contenuti complessi. Il CMS si occupa ad esempio di presentare all'utente finale contenuti semplici e complessi organizzati in modo da avere uno stile unitario ed ordinato logicamente. Ad esempio in una enciclopedia digitale di cucina il “soffritto di cipolla” potrebbe essere una unità di contenuto ricorrente in tutti i contenuti dove è necessario friggere un battuto di cipolle e carote per la preparazione del piatto. Con un CMS nella sottosezione /primipiatti/pastasciutta le diverse ricette potrebbero essere definite all'interno del sistema con righe di codice che tradotte in linguaggio naturale ed organizzatte in maniera intuitiva potrebbero essere qualcosa di simile:
Ogni volta che un utente richiedesse la pagina della “pasta alla amatriciana” il CMS andrebbe a recuperare i vari contenuti elementari che la compongono dove essi sono memorizzati per poi disporli sulla pagina in modo da fornire una valida ed efficace descrizione di come va preparata tale ricetta. I contenuti possono essere creati ex novo oppure reperiti da fonti esterne, vengono poi convertiti in un formato interno al sistema, tipicamente XML, per renderli modificabili e gestibili. Perché sia agevole il reperimento e l'aggregazione dei dati, per facilitarne il più possibile un utilizzo flessibile i contenuti vengono catalogati in base a più indici cui sono associati e che sono i metadati. 2.3. Cosa sono i metadatiDefinizione di metadati.
Metadati sono ad esempio la data di creazione di un documento ed il suo autore, l'argomento od il riassunto e permettono di avere i risultati migliori nelle ricerche e rendono possibile una catalogazione omogenea dei file disposti per tipologia ad uso degli operatori del CMS. È fondamentale avere un sistema di metadati completo e ben organizzato.
“L'associazione di metadati descrittivi standardizzati con oggetti in rete ha la potenzialità di aumentare sostanzialmente le possibilità di reperire le risorse rendendo possibile la ricerca basata su campi (ad esempio autore, titolo), permettendo l'indicizzazione di oggetti non testuali, e autorizzando l'accesso a un contenuto surrogato che è distinto dall'accesso al contenuto della risorsa stessa.” da http://dublincore.org/documents/usageguide/ 3. Architettura di un CMSIn questa sezione viene preso in esame il funzionamento dei CMS, ovvero, di come sia organizzat l'acquisizione dei contenuti che giungono al sistema da fonti esterne – quali possono essere database o filesystem remoti – e si fornirà un modello di flusso di lavoro, ovvero della organizzazione logica che presiede la catena di produzione dei contenuti, di quali sono le entità che vi operano e di cosa possano effettivamente fare. Si accennerà alla sicurezza di un Sistema di Gestione, di quali siano gli strumenti, prevalentemente i ruoli e i permessi gerarchici, che vengono utilizzati per garantire l'integrità dei dati e regolare gli accessi alle informazioni; e della possibilità di integrare il CMS in maniera sicura in ambienti preesistenti (server di directory, database, domini ecc.).
3.1. Funzionamento del CMSCome funziona un CMS.
Un CMS orientato alla pubblicazione web organizza tutte le fasi del ciclo vitale di un contenuto, dalla creazione (o dalla sua acquisizione da fonte esterna) alla rimozione, passando attraverso quelle che possono essere successive versioni dello stesso documento che possono a loro volta essere sottoposte alla approvazione di un supervisore che deve potervi apportare modifiche o aggiungere commenti e notazioni. Uno degli standard che più si sta diffondendo nei CMS in questo senso è WebDAV (Web Distribuited Autoring and Versioning), un set di protocolli HTTP che permette agli utenti di editare e gestire files su server web remoti. Qualsiasi client WedDAV può essere utilizzato per la connessione al server CMS e eseguire i metodi previsti, per il ruolo in base al quale si autentica, con il protocollo WebDAV che fornisce poi attraverso l'interfaccia utente del CMS le possibilità di lavorare sui relativi files.
3.2. Il flusso di lavoroIl workflow
Il flusso di lavoro è una catena di azioni o di eventi di cui si ha bisogno per raggiungere un obbiettivo. Il flusso di lavoro spesso esprime il processo attraverso il quale si concretizza la realizzazione di un determinato business. Ogni business ha le sue regole e un esempio di queste potrebbe includere:
Il flusso di lavora organizza logicamente la catena di produzione e definisce il modello da seguire per la realizzazione di un prodotto o la fornitura di un servizio. Dal momento che esiste un’organizzazione logica dei compiti e dei passi necessari è più facile programmare dei cambiamenti o creare nuove strutture concettuali per rafforzare l’ efficacia del processo stesso.
Per cominciare introdurremo due termini: stato e transizione.
Uno stato è un’ informazione su una unità di contenuto in un dato momento. Esempi di stato sono: bozza, da visionare, non visibile e pubblicato. Ogni flusso di lavoro ha almeno uno stato iniziale dal quale tutti i contenuti partono, essi passeranno poi attraverso un certo numero di stati differenti nei quali saranno modificati fino allo stato finale. Nel caso dei CMS gli stati che possono essere considerati finali sono più d’uno a secondo della natura e della finalità dei documenti.
Per ogni unità di informazione che passa da uno stato ad un altro c’è bisogno di una transizione. Una transizione collega uno stato di partenza con uno di arrivo. Ogni transizione può comportare un gran numero di cambiamenti ma comunque essa muove un documento da uno stato ad un altro. Di solito una transizione avviene in seguito a una azione dall’esterno, ad esempio un click di un utente autorizzato. Per visualizzare meglio il concetto riproporremo qui di seguito l’ esempio che Andy McKay usa nella sua “The definitive guide to Plone”1 come introduzione all’argomento: il bollettino di pagamento delle carte di credito. (Andy McKay, The definitive Guide Plone, Berkeley, Apresse, 2004, cap. VIII, pp. 2-4.)
Gli stati di questa situazione sono così riassumibili:
Individuati gli stati occupiamoci ora delle transizioni del caso:
Il flusso di lavoro di questo processo è quindi visualizzabile attraverso il seguente diagramma:
Una volta esplicitato il processo per il pagamento dei bollettini in un flusso di lavoro, il passo successivo è l’ organizzazione dei ruoli per la sicurezza dei pagamenti. Per adesso questo flusso di lavoro contiene la struttura logica per una applicazione che si occupa del pagamento dei bollettini.
Figura 3.2. Le transizioni e le entità che possono attivarle Da questa prospettiva sono chiare le transizioni e chi può renderle effettive. Non è però chiaro che tipo di accesso ognuna di queste entità effettuerà per compiere le azioni necessarie ad ogni transizione. Per esempio quand’ è che la banca emette il bollettino e quando può essere visionato?
Figura 3.3. Entità e possibilità di accesso. Com’ è evidente io non posso emettere il bollettino, solo la banca può. In questa situazione è la banca che è la proprietaria del bollettino. Questa è la dimostrazione pratica del concetto di proprietà digitale di un contenuto: sono il proprietario di una informazione quando le impostazioni della sicurezza mi danno la possibilità di crearla.
schema4
Anche se questo esempio è piuttosto forzato illustra un’ applicazione di base del flusso di lavoro. Tornando ai CMS è importante che un amministratore possa assegnare ruoli diversi a utenti diversi, distribuendo a seconda delle necessità i diritti di accesso in modo da regolare la pubblicazione dei contenuti e la loro modifica. A grandi linee questi ruoli possono essere raggruppati nella maniera seguente: i CMS è importante che un amministratore possa assegnare ruoli diversi a utenti diversi, distribuendo a seconda delle necessità i diritti di accesso in modo da regolare la pubblicazione dei contenuti e la loro modifica. A grandi linee questi ruoli possono essere raggruppati nella maniera seguente:
Introduciamo quindi dopo le entità attive all’ interno di un CMS un modello di macchina a stati che si occupa della gestione dei contenuti e che prende in esame flusso di lavoro potenziale tra l’ editor di un documento, il revisore e gli stati di visibile, privato, da rivedere e pubblico.
La figura 3.5 mostra i principali stati e le principali transizioni necessarie per la gestione delle informazioni attraverso un CMS. La linea punteggiata rappresenta una sorta di divisione che sono le impostazioni della sicurezza, alla destra della linea il revisore interagisce con i contenuti. Ogni contenuto può e deve avere soltanto un proprietario ovvero l’ utente che ne è l’autore.
schema6
Quando un contenuto è stato pubblicato solo il Pubblisher ha la possibilità di ritirarlo e di modificarne il contenuto, il revisore si occupa invece di visionare le bozze che i proprietari propongono per la pubblicazione che se approvate vengono a loro volta passate al Pubblisher che ne rende operativa la pubblicazione.
3.3. Amministrazione e sicurezzaIntranet e sicurezza, documenti condivisi.
L’ architettura del web non è stata progettata tenendo conto di considerazioni sulla sicurezza, se si esclude il fatto che è una rete decentralizzata a pacchetti progettata per funzionare pur se spezzettata da un attacco nucleare. 3.4. I ruoli e i permessiEsempi di utilizzo di ruoli e permessi su un CMS.
Ruoli e permessi regolano in pratica la possibilità di accesso dei diversi utenti ai contenuti e alle informazioni presenti nel sito, come accennato nel capitolo sul flusso di lavoro.
I ruoli ed i permessi sono di solitamente contenuti in una ACL ( Access Control List ). Le ACL sono un modello di gestione della sicurezza che specifica chi può fare cosain un determinato sistema. Se una entità ha il permesso verso un determinato oggetto allora ha anche la possibilità di intervenire e modificare od eseguire tale oggetto. È poi possibile ulteriormente espandere il modello Access-Control dal lato dei permessi in alcune importanti direzioni:
Stabilendo dei permessi per i ruoli e definendo il ruolo di un utente si impostano direttamente i parametri della sicurezza per le diverse famiglie di utenti suddivisi a seconda delle necessità degli amministratori. Un ruolo va associato ad un utente del sistema. Vediamo ora di esemplificare quali possono essere.
MANAGER: ha la possibilità di effettuare tutte le azioni possibili per defoult., la sua funzione è quella di intervenire e gestire qualunque parte del sito, ha la supervisione sul funzionamento del CMS, può modificarne gli stati.
PROPRIETARIO: è forse il ruolo più importante per la sicurezza dei CMS. È l’ utente che ha creato un oggetto e che può in qualsiasi situazione modificarlo ed eseguirlo. Dal punto di vista di possibili attacchi o danni al sistema è importante che un utente che accede ad un oggetto che aziona una modifica dello stato corrente possa determinare effettivamente questo cambiamento soltanto se sia l’ utente che il proprietario dell’ oggetto hanno il prerequisito Permesso. Questa importante impostazione impedisce quelli che vengono chiamati attacchi server-side trojan, possibili quando un utente malicious ha la possibilità di creare sul server del codice eseguibile. Fondamentalmente questo tipo di attacco presenta il seguente scenario:
È quindi molto importante che per evitare questo e altri tipi di attacco i permessi relativi a codice eseguibile siano gestiti dal sistema e dall’ amministratore in maniera consapevole, un buon compromesso può essere quello di considerare come restricted il codice editato via web e mai concedergli l’accesso al filesystem locale. D’ altro canto codice creato ad hoc per i più svariati utilizzi deve potervi accedere e in ogni caso una volta pubblicato non ci sono più restrizioni, potenzialmente utenti del CMS potrebbero accedere a tutte le risorse del sistema disponibili con cui il CMS è interfacciato, ma nella maggior parte dei casi questa è più una risorsa che un problema dove i permessi sono impostati correttamente.
L’ UTENTE AUTENTICATO: è qualunque navigatore sia in possesso di una coppia valida username-password. Solitamente per defoult non ha permessi associati al proprio ruolo.
L’ UTENTE ANONIMO: è qualunque navigatore visiti le pagine pubblicate del sito. Conferire permessi a questa categoria di utenti significa conferirli a tutte le altre categorie (a meno di non negarle espressamente nella Access-Control-List).
3.5. I ruoli localiDocumenti e funzioni condivise su CMS.
Nei CMS i ruoli locali vengono usati per garantire dei permessi a determinati utenti in specifiche sottosezioni del sito. Uno dei modi standard di utilizzarli è quello di dare il ruolo di proprietario a chi crea un oggetto limitatamente all’ oggetto creato e alla sua posizione corrente al di fuori della quale il roulo proprietario non è più valido. Come esempio ipotizziamo che nella sezione /Prodotti del sito sia contenuta della documentazione che tutti devono poter vedere ma che pochi possono modificare. In questo caso le impostazioni di defoult dovrebbero già garantire una efficace soluzione: tutti possono accedere alle informazioni pubblicate, solo il proprietario o il manager locale editarle. Al contrario nella sezione accounting che contiene informazioni più delicate c'è la necessità che gli accessi siano più regolati e che soltanto alcuni operatori del dipartimanto abbiano i permessi necessari a visualizzare e/o modificare la cartella. Questa soluzione può essere semplicemente implementata disattivando l'opzione acquisizione o ereditarietà (a seconda dei CMS) dei permessi relativi al folder /Accounting. In questo modo nella cartella i ruoli validi nel resto del sito non sono più validi e ne vanno creati ad hoc per questa sottosezione. 3.6. Condivisioni e gruppiRuoli, gruppi e revisori.
I singoli utenti del sistema possono essere uniti secondo le necessità in gruppi. Un gruppo serve a creare uno spazio di lavoro condiviso dagli appartenenti ad uno stesso dipartimento ad esempio, viene creato il gruppo MARKETING e tutti gli utenti del sistema che rientrano in tale gruppo avranno il permesso di di aggiungere, editare e rimuovere contenuti nel relativo spazio di lavoro. Il meccanismo è in pratica lo stesso usato per creare i ruoli locali, solo viene implementato più semplicemente e velocemente dal CMS. Di seguito mostriamo quale può essere un'interfaccia per la amministrazione dei gruppi basata su tool visuali.
Può anche tornare utile assegnare dei ruoli direttamente ai gruppi. Se questo può sembrare strano basta immaginare il caso in cui ci fosse bisogno di organizzare un gruppo di revisori che si occupino della pubblicazione dei documenti pendenti degli altri dipartimenti. Per fare ciò è sufficiente assegnare direttamente ad un gruppo creato per lo scopo (gruppo Supervisori) il ruolo di REVISORE, d'ora in poi tutti gli attuali e futuri appartenenti a Supervisori avranno la facoltà di editare e pubblicare le bozze proposte dagli altri utenti. Anche in questo caso si fa un uso allargato dei ruoli locali tenendo conto che i meccanismi di sicurezza quando controllano i permessi di un utente vanno prima a vedere i permessi dell'utente e subito dopo quelli del gruppo cui appartiene.
3.7. Adattatori di autenticazioneLe interfacce di un CMS con nu database
In molte situazioni è necessario interfacciare il CMS con altri software già in uso come server di identificazione e database o assegnare permessi particolari in modo automatico per utenti apparteneti a determinati domini, ecco una breve lista delle soluzioni possibili. AUTENTICATORI VERSO I DATABASE Per essere in grado di autenticare gli utenti registrati nel DB e sfuttare le informazioni gia registrate in esso il CMS deve poter interagire con i più di diffusi database:
In Questo modo gli utenti già registrati sul DB avranno acceso al sito e il CMS potrà aggiungere o eliminare utenti, recuperarne i dati personali o quantaltro con una query SQL e visualizzarne il contenuto. AUTENTICATORI SSL Utilizzano di norma il client SSLv3 per l'autenticazione AUTENTICATORI NT Servono per regolare gli accessi al CMS attraverso le impostazion i valide all'interno di domini Windows/NT. AUTENTICATORI SMB Hanno la stessa funzione di quelli NT ma per piattaforme diverse da Windows. AUTENTICATORI /etc Users Gestiscono gli accessi da domini Unix-Linux. AUTENTICATORI LDAP E GESTIONE LDAP DEGLI UTENTI Consentono al CMS di registrare sul server nuovi utenti e di dare l'accesso a quelli già registrati sul server LDAP in conformità con le regole in esso impostate. 4. Campi d'azione dei CMSIn questa sezione si mettono in primo piano quelli che potenzialmente sono i benefici che un sistema di gestione può portare ad una organizzazione nell'aggiornamento dei siti, di come un CMS snellisca le procedure per la creazione di contenuti on-line e accresca le potenzialità del sito aziendale facilitando il reperimento delle informazioni da parte dei suoi utenti e dando la possibilità al personale di impiegare più efficacemente e tempestivamente le proprie competenze.
4.1. Perchè un CMS?Buone argomentazioni per passare alla gestione CMS.
L'introduzione della tecnologia client/server e del calcolo distribuito ha portato con sé un'accellerazione della tendenza di dare agli utenti un maggior controllo e possibilità di accesso ai loro dati.
In questa prospettiva il CMS è un software che permette a personale non-IT di cambiare, aggiornare, ingrandire e in pratica di apportare qualsiasi variazione ai contenuti di un sito sul quale è autenticato, in base al ruolo e al livello di accesso consentito.
4.2. Aggiornare il sito con o senza un CMSCome aggiornare le pagine su un sito di nuova generazione senza conoscere i linguaggi di programmazione.
Senza un sistema di gestione dei contenuti, come accennato in precedenza, la prassi per l’ aggiornamento di un sito coinvolgeva un certo numero di persone: chi i contenuti li ideava, chi aveva il compito di trasformarli in pagine di HTML corretto e coerente con il layout del sito (uno o più web designer) e infine il web master che finalmente poteva inserire sul server le nuove informazioni. Questo processo comporta una spesa a lungo andare non trascurabile, web designer e web master sono infatti personale specializzato con un elevato costo orario, e i contenuti una volta trasformati in codice HTML con un layout strutturato andavano comunque riproposti all’ autore iniziale per l’ approvazione definitiva che spesso si otteneva dopo più di un passaggio dando così vita a una sorta di ping pong che oltre ad ingolfare il dipartimento IT provocava spesso una pubblicazione tardiva delle informazioni.
Come risultato, le organizzazioni fallivano aggiornamenti critici dei loro siti o le informazioni non erano sincronizzate con il lancio dei prodotti rendendo il sito stesso inaccurato, inefficace e meno affidabile per i clienti. Con l’adozione di un sistema di gestione gli utenti possono aggiornare le pagine web esistenti direttamente, oppure crearle e pubblicarle senza la mediazione del settore IT o del web master. Un CMS offre numerosi vantaggi rispetto al metodo tradizionale di aggiornamento e pubblicazione e in particolare i seguenti: Velocità. Gli aggiornamenti vengono creati e pubblicati nel giro di ore o giorni rispetto alle settimane o mesi che erano prima necessari. Le informazioni sui prodotti raggiungono prima i clienti consentendo una più rapida risposta alle esigenze di mercato.
Accuratezza. La pubblicazione più rapida dei contenuti sul sito significa che i visitatori hanno sempre di fronte le informazioni più fresche ed attendibili rispetto a pagine obsolete e tools inefficaci.
Controllo. La responsabilità di ciò che viene o non viene pubblicato è nelle mani dei dirigenti direttamente responsabili dei vari dipartimenti e prodotti. Le persone che “possiedono” le informazioni sono quindi gli autori delle pagine web che le conterranno e questa è la maniera migliore per fare sì che i contenuti importanti raggiungano effettivamente le pagine del sito
Convenienza. Gli utenti non dipendono più dai programmatori, come conseguenza diretta scende il costo di gestione di un sito e i programmatori possono essere impegnati in altre attività.
Consistenza. Anche se un CMS permette a molti utenti diversi dentro e fuori l’organizzazione di pubblicare direttamente sul sito, nello stesso tempo dispone anche le regole per la revisione e l’approvazione dei testi, dando la possibilità di mantenere la consistenza dei dati e la coerenza dello stile.
Facilità. Gli utenti possono creare e pubblicare nuove pagine dal loro computer, nessuna conoscenza di programmazione è richiesta e nessuna assistenza.
Risparmio di tempo. Sia che a lavorare siano o no programmatori in ogni caso è necessaria una minor quantità di tempo per svolgere gli stessi compiti di prima.
Aumento di traffico. I navigatori che vedono nel sito contenuti sempre aggiornati, torneranno sul sito più volentieri e più spesso, si fermeranno di più e soprattutto compreranno di più.
Servizio ai clienti. Con un maggior numero di persone che hanno la possibilità di pubblicare i clienti troveranno più facilmente ciò che cercano.
Semplicità. Adottare un CMS semplifica grandemente la gestione strategica di informazioni soprattutto in grosse organizzazioni che devono fare fronte ad esigenze molteplici con un consistente flusso di dati sia in entrata che in uscita, il tutto mediato da differenti livelli di sicurezza e di autorizzazioni.
Efficienza. Un più facile sfruttamento delle abilità individuali grazie alla possibilità di intervento sui contenuti grandemente generalizzata.
L'impatto che quindi, in base a questi indicatori, ha un sistema di gestione dei contenuti sull'efficacia e l'efficenza di un sito, specie se di notevoli dimensioni, può essere di stimolo ad un migliore sfruttamento delle potenzialità di internet. 5. Criteri di sceltaIn questa sezione si forniscono alcuni suggerimenti sui criteri per una valutazione dei Sistemi di Gestione, sulle più diffuse necessità cui una organizzazione va incontro nel momento in cui ipotizza l'adozione di un CMS , necessità come avere i dati in un formato facilmente utilizzabile, integrare il CMS con altri software già in uso e avere a disposizione un prodotto sufficentemente user-friendly da non dover sostenere costosi cicli di formazione del proprio personale.
5.1. Piattaforma tecnologicaCMS e sistemi operativi.
Molti vendor di CMS sviluppano i loro prodotti su piattaforme proprietarie. Sono quindi disponibili praticamente sempre release per Sistemi Operativi proprietari come Windows, OS/2 e MacOSX o almeno per alcuni di essi. I CMS che vengono sviluppati come prodotti Open Source oltre a questi sono installabili anche su S.O. che seguono la stessa filosofia come GNU-Linux o Sun SOLARIS. È opportuno poi assicurasi che il prodotto consenta una buona scalabilità. La scalabilità, nel mondo dei computer come in quello degli affari, è la qualità di un sistema di non incrementare i costi operativi o di diminuirli con il crescere del numero delle transazioni. Nel caso in cui dovrà sostenere un traffico elevato e sorga la necessità di impiegare più server il sistema di gestione deve poter venire distribuito su più macchine e sostenere in maniera adeguata le richieste che può giungere dall’esterno. Può anche essere necessario bilanciare i carichi di lavoro in maniera differenziata a seconda delle ore del giorno o di altri fattori. È quindi molto importante preventivare tali situazioni secondo le aspettative di crescita digitale di ogni organizzazione e orientarsi di conseguenza verso il prodotto che, fra quelli disponibili, dia maggior garanzie di non gettare la spugna in situazioni critiche e spesso strategiche per il corretto svolgimento del business. 5.2. Formato dei datiCMS e XML.
Il formato in cui saranno utilizzabili i dati dal sistema è molto importante perchè formati stravaganti o proprietari possono imprigionare l'organizzazione ed impedirle un utilizzo flessibile dei propri dati, inoltre per i formati proprietari eventuali modifiche possono essere a discrezione del vendor oppure avere un costo esorbitante. Una buona soluzione adottata da numerosi CMS può essere quella di orientarsi verso standard come XML. XML è un linguaggio completamente aperto basato su una sintassi diffusa e con una semantica potenzialmente infinita. Questo significa che chi lo usa ha bisogno di seguire una serie di regole di base ma non c’ è la necessità di piegare il proprio business a un modello predefinito di dati. L’ organizzazione avrà probabilmente una propria struttura – o semantica – e XML si estenderà con i bisogni. Rende possibile lo scambio universale dei dati. I più disparati sistemi ed organizzazioni possono condividere dati ed informazioni attraverso XML senza esporre il proprio modello o investire in costose integrazioni. Tuttavia se un’organizzazione avrà i propri dati esclusivamente in un formato per il Web può non essere il caso di adottare tale standard perché aggiungerebbe poco o nessun valore. L’approccio “eXtensible” tipico del linguaggio dà un controllo maggiormente granulare e più flessibile. “Il Santo Graal della gestione dei contenuti è la separazione dei dati dalla mappa del sito (“dove vivono”) e dal layout delle pagine (“come appaiono”) (da CMS Watch, The CMS Report, 2005, http://www.cmswatch.com/CMS/Report ) e XML fa esattamente questo: definisce cosa i contenuti sono e non dove e come sono disposti. Un sistema di tag più sofisticato significa anche una maggior incisività dei metadati e una migliore efficacia dei motori di ricerca debitamente impostati. XML è diventato la lingua franca per aggregare i più disparati contenuti. Rende più facile uniformare unità di informazioni e organizzarle in un sito o in una singola pagina. Inoltre dal lato output XML fornisce una unica sorgente, e di fatto un solo paradigma, per generare diversi formati “consumabili” come PDF, WML o per la stampa.Qualunque sia la soluzione adottata conviene comunque indirizzarsi verso prodotti che assicurino la compatibilità con i più diffusi standard industriali e quindi piattaforme come J2EE, NET, PHP etc. 1 CMS Watch, The CMS Report, 2005, http://www.cmswatch.com/CMS/Report. 5.3. Integrabilità degli applicativiLe potenzialità di integrazione dei CMS.
Una facile integrazione fra il software già in uso e il CMS da adottare è questione importante soprattutto per organizzazioni di grosse dimensioni alle prese con extranet ed intranet estese. Può ad esempio essere necessario che un migliaio di agenti carichino in tempo reale gli ordini e che venga tenuta traccia dei pagamenti e delle commissioni. In questi casi il fattore tempo è fondamentale così come l’efficacia del sistema. Il CMS pur senza occuparsi dell’ intero processo funziona come porta di entrata di tutto il flusso di dati che poi, se non gestisce direttamente, smista ad altri software come i database per il datawarehausing o i sistemi di posta elettronica per la notifica dei più importanti cambiamenti di stato. Va inoltre assicurata la compatibilità con i software in uso presso gli utenti finali per assicurare la piena agibilità del sistema. Proviamo ora a riassumere i principali componenti con i quali un CMS deve poter interagire: Web Servers: il CMS anche se in alcuni casi ne ha uno proprio deve poter girare dietro uno specifico web server già in uso quali potrebbero essere Apache, Lotus Domino, Microsoft IIS od iPlanet Server di applicazioni: spesso i CMS sono in coppia con uno specifico server di applicazioni, questa può essere una grossa limitazione e va programmata con attenzione una eventuale migrazione verso il server fornito con il CMS. Sistemi operativi: importante è anche la compatibilità con i più diffusi S.O. sia dal lato server sia client. Se dal lato server può essere discriminante nella scelta del prodotto, dal lato client va assicurata la piena compatibilità sia con i prodotti proprietari (Windows, Mac) sia con quelli open source per non perdere in partenza una possibile fetta di mercato. Database: interfaccia ODBC verso database SQL standard come Oracle, MySQL, Microsoft SQL o MSDE. Editor di testi: supportare il copia-incolla dai più comuni text editor mantenendo la formattazione dei documenti e ottimizzando il risultante HTML/XML La maggior parte dei Sistemi di gestione garantisce l’ integrazione dei vari software via API anche se spesso prodotti open source garantiscono una migliore versatilità e possono conformarsi meglio alle necessità senza costi aggiuntivi verso il vendor. 5.4. Funzionalità e facilità d’usoErgonomia dei CMS.
I CMS forniscono un sistema coerente di modelli (templates) per le pagine del sito. Ogni sistema adotta un proprio caratteristico layout visuale che modificato caratterizzerà poi l’identità web dell’organizzazione e sarà parte integrante della identità del gruppo.
L'utente crea la propria pagina con una semplice interfaccia testuale nella quale può inserire i propri contenuti, immagini e link. L'interfaccia supporta il copia e incolla da altri editor testuali dei quali mantiene la formattazione di base della pagina
Dopo aver inserito nella form ciò che voleva essere pubblicato, l'autore sottopone al revisore la pagina creata per l'eventuale pubblicazione definitiva.
Il revisore al momento del login troverà automaticamente una tab con evidenziati i nuovi contenuti proposti per la pubblicazione e un riepilogo sugli ultimi documenti pubblicati in modo da avere un miglior controllo sulla sezione del sito del quale è responsabile.
A questo punto dopo aver verificato la validità del documento e dopo avervi apportato le eventuali modifiche il revisore ne decide la pubblicazione cambiandone lo stato da pending a pubblic. Il revisore ha comunque il controllo sugli stati di un contenuto che può ritirare , o renderlo non visibile, quindi privato (cioè visualizzabile solamente dal proprietario) in qualsiasi momento.
La cartella home dell'utente che abbiamo utilizzato per l'esempio se richiesta da un navigatore senza permessi di accesso avrà l'aspetto della figura 5.5, con gli elementi pubblicati disposti all'interno della pagina web con le indicazioni previste dagli amministratori (proprietario e data di creazione).
Come si vede dal confronto tra le figure le varie tabelle che compaiono sulla sinistra e sulla destra dello schermo per un utente riconsciuto dal sistema (nella figura 6.3 per il revisore sono upcoming events, news, review list, navigation e recent items ) non sono invece visualizzate se a richiedere la stessa pagina è un navigatore non riconosciuto e quindi senza permessi. Le pagine infatti vengono generate volta per volta in modo dinamico dal sistema che crea il codice HTML all'occorrenza secondo le regole disposte dagli amministratori andando a recuperare i contenuti da disporre nel template prestabilito. 5.5. Le funzioni chiave di un CMSTutto quello che un normale utente può fare con un CMS.
Vediamo ora, a grandi linee, quali sono funzionalità che in un CMS orientato alla pubblicazione possono avere grande importanza e di cui tenere conto in fase di adozione. Ogni sistema di gestione ha le sue specificità e a seconda dell'impiego cui è destinato è più o meno importante la presenza di un determinato tool. Le esigenze irrinunciabili di ciascuna organizzazione venno valutate con attenzione nella fase che precede l'acquisto o l'adozione di un determinato prodotto per indirizzarsi con più sicurezza verso il software giusto per i propri bisogni.
6. Programmare l'acquisto di un CMSIn questa sezione si illustra come l'adozione di un Sistema di Gestione orientato alla pubblicazione web possa migliorare la reddività degli investimenti nelle reti, di come diminuisca i costi di mantenimento dei siti e permetta alla struttura delle ditte o degli enti pubblici di affacciarsi direttamente su chi è in cerca di informazioni.
Si accenerà a quelli che possono essere principali errori di sottovalutazione da evitare in fase di adozione per evitare spicevoli sorprese o costosi ripensamenti allo scopo di avere una visione il più possibile a tutto tondo dell'impatto che un CMS potenzialmente ha nella gestione dei costi aziendali e di come può essere implementata una soluzione di questo genere.
6.1. Costi e beneficiIl ROI quando si opta per un CMS.
Adottare un CMS, il giusto CMS è una scelta strategica per l'organizzazione che vede i propri contenuti digitali, quali essi siano, divenire poco gestibili e difficilmente presentabili al pubblico e ai partner in maniera ordinata e aggiornata. Vista l'abbondanza e la varietà delle soluzioni disponibili, oltre che la difficoltà e il costo di una retromarcia a seguito della scelta sbagliata proviamo di seguito a individuare quale può essere un esempio di Return of Investment (ROI) di un Sistema di Gestione e quali i punti critici da tenere in conto in fase di adozione. 6.2. Calcolo della redditività (ROI)Il calcolo del ROI nell'investimento in CMS.
Ecco un esempio semplificato di come può venire calcolata dal punto di vista dei costi l'opportunità di adottare o meno un sistema di gestione dei contenuti di livello medio con un costo di 40.000€ e della sua redditività distribuita su un periodo di tre anni.
FATTORI VARIABILI
IMPIEGO DI TEMPO SENZA CMS
COSTO MENSILE SENZA CMS
COSTI E RISPARMIO TOTALI
REDDITIVITÀ (ROI)
Pur se semplificato e con valore soltanto esemplificativo, questo calcolo può facilmente essere riportato, tenendo conto delle variazioni del caso, in specifiche realtà aziendali per facilitare la valutazione della reale opportunità di investire denaro e risorse nell'adozione di un Sistema di Gestione orientato alla pubblicazione. Per CMS open source se non sono da calcolare le spese per le licenze, che spesso sono la voce più incisiva in un calcolo di questo tipo, vanno comunque tenuti in conto i costi cui si potrebbe andare incontro per l'assistenza tecnica da parte degli sviluppatori e il monte di ore che di cui i programmatori interni potrebbero aver bisogno per adattare un prodotto “preconfezionato” alle reali necessità dell'organizzazione, oltre alla possibile necessità di formazione specifica per gli utenti del sistema. 6.3. Dieci possibili errori di valutazioneUn vademecum per valutare il passaggio ad un CMS.
Messi in evidenza i vantaggi tecnici ed economici che può comportare l'acquisto di un sistema di gestione dei contenuti (persino se a pagamento) proviamo ora ad analizzare quali possono essere i possibili errori che in fase di valutazione di un prodotto possono venire commessi e che possono avere conseguenza niente affatto trascurabili. Riportiamo di seguito i pericoli messi in evidenza dalla Hannon Hill Corporation che se sottovalutati rendono antieconomica e sottoutilizzabile una gestione centralizzata dei documenti.
Ognuno dei software disponibili sul mercato ha i suoi punti di forza, che vengono fortemente messi in evidenza dai vendors in fase di valutazione. È però importante analizzare per tempo quelle che potrebbero essere le debolezze di un sistema, possibilmente testandolo a fondo e mettendo in preventiva quelli che potrebbero essere i momenti critici che da affrontare – un esempio potrebbe essere quello della scalabilità di un prodotto ovvero del suo comportamento in caso di forte aumento del traffico o delle dimensioni dei siti nei quali è impiegato – per orientarsi il più possibile verso il giusto CMS la propria realtà organizzativa. 7. ConclusioniConsiderazioni sui CMS.
7.1. Considerazioni sui CMS.Riflessioni sul passaggio all'utilizzo di un CMS.
Abbiamo analizzato quali possono essere i punti in cui ditte o enti pubblici possono trovarsi in difficoltà confrontandosi con la digitalizzazione dei documenti e con l'importanza sempre crescente che i canali bidirezionali digitali stanno venendo ad avere. La diffusione di informazioni avviene ormai sempre di più attraverso le reti, siano Internet od Intranet, per questa ragione anche la creazione stessa dei contenuti va ormai organizzata in modo da essere spendibile su questo medium. |