3. Il web negli anni ‘90
Prima dell’avvento dei cms la gestione del sito
veniva fatta manualmente.
I siti si chiamavano statici.
Il cliente chiedeva allo sviluppatore del sito di
aggiornare le pagine e lo sviluppatore si
occupava di realizzare le modifiche.
7. Cosa significa CMS ?
CMS è l’acronimo di Content Management System,
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.
8. Quando e dove sono nati ?
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.
9. Content Management System - CMS
Tecnicamente un CMS è un’applicazione lato server (server-
side), divisa in due parti:
una sezione di amministrazione (back end), che serve ad
organizzare e supervisionare la produzione dei contenuti
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à.
11. Perché si sono diffusi ?
Vantaggi per il cliente
• 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 database
modellato per un sistema di CMS.
• L’aspetto esteriore delle pagine può essere
personalizzato
• Riducono i tempi di attesa dell’intervento del
programmatore o della web agency.
• Il prezzo di manutenzione è basso
12. Perché si sono diffusi ?
Vantaggi per la web agency
• Velocità di sviluppo del sito
• Sistemi modulari che permettono di ridurre costi e
tempi di sviluppo, plugin e componenti permettono
di espandere l’applicazione.
• Strumenti flessibili che si adattano alle esigenze del
cliente.
• Manutenzione del codice facile su sistemi open
source
• Possibilità di standardizzare il lavoro e riciclare il
codice
13. CMS su misura oppure Open Source ?
Questa è la prima domanda che ci dobbiamo porre,
quando decidiamo di sviluppare un sito con una
piattaforma di gestione dei contenuti (CMS)
Sviluppare un’applicazione su misura può essere
molto oneroso è un po’ come l’acquisto di un abito di
sartoria, creato sulle esigenze del cliente.
A volte la soluzione su misura è meno onerosa
dell’adattamento delle piattaforme open source.
14. Un CMS dovrebbe essere
personalizzato sulle esigenze del progetto
Ogni CMS ha avuto origine come una soluzione ad uno
specifico problema, poi generalizzato per andare bene per un
range più ampio di problemi.
“In verità la maggior parte dei CMS finiscono con l'essere
personalizzati, a prescindere dal motivo per cui sono nati. Da
quelli che si definiscono "one-size fits all"
[una sola soluzione per tutti i problemi, ndt] a quei sistemi
altamente specializzati che hanno a che fare con delle
industrie o dei tipi di contenuto molto specifici. E' solo una
questione di quanto hacking serva per ottenere quello che
funziona per i vostri clienti.”
15. Il mondo dell’ Open Source
In informatica, open source (termine inglese che
significa codice sorgente aperto) indica un software i
cui autori (più precisamente i detentori dei diritti) ne
permettono, anzi ne favoriscono il libero studio e
l'apporto di modifiche da parte di altri
programmatori indipendenti. Questo è realizzato
mediante l'applicazione di apposite licenze d'uso.
L'open source ha tratto grande beneficio da Internet,
perché esso permette a programmatori
geograficamente distanti di coordinarsi e lavorare
allo stesso progetto.
17. Attenzione alla licenza!!
Spesso le piattaforme open source sono
rilasciate con licenza GPL, questo prevede
spesso nei CMS nel riconoscimento della
paternità del software (Logo visibile oppure
codice di copy nel tema del CMS ), leggete
bene prima di utilizzarle.
• http://it.wikipedia.org/wiki/GNU_General_Pu
blic_License
20. 1. Funzionalità Centrali
Quando la maggior parte della gente pensa ad un CMS il pensiero è
solitamente rivolto alla creazione, cancellazione, modifica e
organizzazione delle pagine.
Non tutte le piattaforme per esempio consentono di gestire e organizzare
le pagine in un albero gerarchico; spesso i singoli “articoli” sono
organizzati automaticamente in base a criteri come la data o la categoria.
In alcuni casi questo non è un problema, infatti questa limitazione di
funzionalità mantiene l'interfaccia semplice e facile da capire. Tuttavia, in
altre circostanze, la mancanza di questa funzionalità può essere
frustrante.
E' necessario considerare attentamente le funzionalità di base necessarie
ai tuoi scopi, non solo in relazione all'attuale necessità ma soprattutto in
vista di un futuro sviluppo
24. 2. Editor e Usabilità
L’editor WYSIWYG ( What You See Is What You Get) La
maggior parte dei sistemi di gestione dei contenuti ha un
editor WYSIWYG.
Stranamente questo editor è spesso poco preso in
considerazione, nonostante sia la funzione più utilizzata del
sistema. L'editor è l'interfaccia attraverso la quale il
contenuto viene aggiunto e modificato.
Tradizionalmente questo permetteva la formattazione di
base: selezione dei font, colore, caratteri, ecc...
In questo punto possiamo far rientrare anche quanto è
difficile fare il caricamento di un file o di una immagine.
28. 3. Gestione Ruoli e Permessi
Poiché il numero di fornitori di contenuti
aumenterà, si potrebbe desiderare un
maggiore controllo su di essi.
Il cms deve avere la possibilità di gestire i ruoli
e i permessi dell’utente.
29. 4. Versioning
Essere in grado di tornare ad una versione
precedente di una pagina ti permette di
recuperare rapidamente gli errori. Alcuni
sistemi di gestione dei contenuti non
permettono di scegliere la data della versione
cui si vuole ritornare; tuttavia, nella maggior
parte dei casi, basta poter tornare alla
versione precedente, a meno che la vostra
situazione non sia particolarmente complessa.
30. 5. Supporto siti multipli
Anche se attualmente non esiste la necessità
di gestire più di un sito, questa è una di quelle
funzionalità che si può presto rendere
necessaria.
Con la crescita delle nuove tecnologie, per
esempio, potresti necessitare di un sito
specifico per il web mobile.
La gestione multi-sito insomma, è qualcosa di
irrinunciabile.
31. 6. Supporto multilingue
Assicuratevi che il cms oppure il tema grafico
supportino le funzione multilingua (native o
estese attraverso plugin ).
Oggi potrebbero non esservi utili ma un
domani potrebbe essere un grosso scoglio da
superare!
32. 7. Rilascio Aggiornamenti
Forse uno dei punti piu’ importanti!
Essendo codice libero e quindi consultabile da tutti
spesso accade che ci siano community di sviluppatori
che abbandonano il progetto a se stesso, creando poi
a cascata problemi anche al vostro sito!
Verificate ogni quanto vengono rilasciati nuovi
aggiornamenti e “bug fix” e quanto sono facili da
installare!
33. 8. Documentazione Supporto
La documentazione per lo “sviluppo” del sito e
e i forum dove chiedere informazioni possono
essere d’aiuto nello sviluppo del sito.
34. 9. Plugin, Componenti, Moduli
Ogni piattaforma CMS li chiama in maniera diversa,
ma sono quei programmi che vi permette di
velocizzare lo sviluppo del vostro sito.
Es: Gallerie fotografiche, ݺߣshow, Condivisioni sui
social network, e-commerce
In pochi minuti, e pochi click, vi permettono di
aggiungere funzionalità al vostro sito.
35. 10. Hosting e linguaggio programmazione
La scelta del cms va fatta in base al tipo di
hosting che abbiamo acquistato e al
linguaggio che vogliamo utilizzare (PHP, ASP,
JAVA, .NET, PERL, Ruby, etc.. )