ݺߣ

ݺߣShare a Scribd company logo
II MODULO – Come gestire ?
Cos’è un CMS e come sceglierlo

        Andrea Brugnolo
      andrea@beesolution.it
Un po’ di storia
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.
II modulo – come gestire
Poi arrivarono i CMS
II modulo – come gestire
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.
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.
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à.
Content Management System - CMS
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
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
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.
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.”
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.
II modulo – come gestire
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
II modulo – come gestire
Come scegliere la piattaforma piu’
  adatta alle nostre esigenze ?
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
II modulo – come gestire
II modulo – come gestire
II modulo – come gestire
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.
II modulo – come gestire
II modulo – come gestire
II modulo – come gestire
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.
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.
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.
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!
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!
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.
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.
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.. )
II modulo – come gestire
Link utili
• http://www.opensourcecms.com/
• http://www.html.it/cms/

More Related Content

II modulo – come gestire

  • 1. II MODULO – Come gestire ? Cos’è un CMS e come sceglierlo Andrea Brugnolo andrea@beesolution.it
  • 2. Un po’ di storia
  • 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
  • 19. Come scegliere la piattaforma piu’ adatta alle nostre esigenze ?
  • 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.. )