Introduzione al CMS
a cura del dott. Ventre Antonello
Pagine statiche e dinamiche
Pagine Statiche

Html
Non cambiano nel tempo
Ogni modifica richiede una riscrittura di codice
Pagine Dinamiche

ASP, Java, PHP, etc…
Subiscono cambiamenti nel tempo
Non richiede una riscrittura di codice
Sistemi di CMS
WEB Content Management System (CMS)

Sistema per la gestione dinamica di contenuti
informativi (articoli, rubriche, notizie, faq, etc) da
pubblicare su siti e portali web senza richiedere
l'intervento di personale con particolari competenze
informatiche, offrendo ai gestori strumenti semplici e
veloci per l'inserimento e la modifica dei contenuti.
Sistemi di CMS
WEB Content Management System (CMS)



Contenuti editoriali, grafica e impaginazione svincolati
modifiche apportate immediatamente disponibili
Nel caso specifico di pubblicazioni web, l'autore è
completamente svincolato da qualsiasi problematica
relativa alla formattazione dei contenuti secondo lo
stile grafico previsto dal sito
Perché un CMS?
Mantiene separato il codice di
programmazione, la grafica e i contenuti
questo significa che su ognuno di questi tre
elementi possono intervenire persone diverse
con competenze specifiche



il grafico web realizza l’interfaccia grafica del sito
il programmatore informatico configura e
personalizza la struttura del sistema integrando il
materiale grafico e realizzando eventuali template
l’azienda o l’ente committente provvede a gestire i
contenuti
Perché un CMS?
Con un CMS viene tenuta distinta l’attività di
sviluppo del sito dall’attività di mantenimento
del sito


Prima fase : a cura della società informatica che
realizza il progetto (il contenitore con tutti gli
automatismi necessari).
Seconda fase : a cura dell’organizzazione
committente che inserisce e aggiorna le
informazioni del sito (il contenuto).
Perché un CMS?
Valorizza la natura comunicativa del sito
Utilizza i template grafici
Consente di aggiornare il sito via web
Utilizza gli editor visuali
Crea in automatico la navigazione e la mappa
del sito
Gestisce le fasi del lavoro (workflow)
Gestisce gli utenti
Perché un CMS?
Ha il motore di ricerca integrato
Gestisce il sito in lingue diverse
Dispone di moduli e componenti aggiuntivi
Integra e supporta funzionalità evolute
È scalabile
Aiuta a creare e mantenere siti accessibili
Supporta il lavoro collaborativo
Elementi di un CMS
Il Content Manager
Contenuto
Metadati
La pubblicazione
Il target
Architettura di un CMS
Acquisizione e memorizzazione




Creazione
Acquisizione
Conversione
Aggregazione
La gestione




Memorizzazione
Selezione
Sicurezza/amministrazione
Work Flow
La pubblicazione
Approval Routes
Zope
Zope
Zope è il leader di mercato degli Application
Server Open Source.
Mette a disposizione una architettura ad oggetti che
permette di costruire portali Web potenti, modulari, dinamici
ed in grado di offrire ottime prestazioni nella navigazione
del sito.
Zope
Strumento di sviluppo e di Web publishing
dinamico
scritto per lo più in Python, che incorpora un server Web
e un database object oriented.
Separa il livello dei dati dai livelli della logica


Livello dati, archiviati in genere nel proprio database o in
database relazionali esterni.
Livelli della logica, scritta con metodi Python, e della
presentazione, realizzata con un Html arricchito denominato
Dtml (o recentemente con il linguaggio di templateTAL).
Amministrazione da browser Web
Zope
Principali caratteristiche di ZOPE:






possibilità di utilizzo su piattaforme diverse: Windows,
Linux, Solaris, Hpux
organizzazione in gerarchie di oggetti, con elementi
nativi di tipo folder, documents, images, mailhost, etc
sofisticata gestione interna delle problematiche di
sicurezza
operatività completa attraverso un qualsiasi browser
linguaggi DHTML e TAL per la costruzione dinamica
delle pagine Web
linguaggio Python per la implementazione delle classi
di base dell'applicazione
Zope
Principali caratteristiche di ZOPE:







Supporto di XML (anche per chiamate remote RPC)
Interfaccia GUI ed estetica omogenea
Database object oriented interno (ZODB)
Connettività con i principali database relazionali
Web server interno e supporto dei principali
WebServer presenti sul mercato
Supporto nativo protocollo di SSL (Secure Sockets
Layer)
Alte prestazioni in configurazione base e disponibilità
del modulo Zope Enterprise Option per siti ad
altissima intensità di traffico.
Zope
Caratteristiche tecniche






Linguaggio di sviluppo: C (core), Python (Applicazioni)
Database supportati: ZODB (Database OO nativo
interno), Database relazionali esterni (mysql, postgres,
sybase etc...)
Sistemi operativi supportati: Tutti i sistemi Unix,
Windows
Web Server: ZServer (Web Server nativo interno), Apache
1.3.x via PCGI o FastCGI
Requisiti client: browser internet
Requisiti server: Apache (opzionale) con pcgi-wrapper
attivo oppure con modulo FastCGI abilitato, MySQL o altro
database esterno prescelto
PLONE
PLONE
Plone è un prodotto di Zope.
E’ un Content Management System Open
Source completo.
E' ideale come server intranet, come sistema di
publishing e come strumento di groupware per
collaborazioni remote.
E' un CMS versatile che può essere utilizzato in
diverse situazioni permettendo la creazione
veloce ed organica di siti e portali dinamici ed
evoluti.
PLONE
Possiede in modo nativo un motore di workflow,
la gestione della sicurezza e degli utenti, una
serie di oggetti per la gestione di contenuti già
configurati (notizie, documenti, eventi, ecc.) e il
supporto multilingua.
Plone inoltre segue attentamente gli standard di
usabilità e accessibilità.
Le pagine di Plone sono compatibili con il rating
W3C AA in materia di accessibilità e fanno uso
di standard web come XHTML e CSS.
PLONE
Principali caratteristiche di Plone :









editing remoto,
elevata personalizzazione,
funzionalità per la collaborazione,
facilità di configurazione e amministrazione,
gestione utenti,
workflow,
riutilizzo del codice, oggetti modulari,
indicizzazione contenuti e funzioni di ricerca,
supporto database relazionali esterni.
PLONE
Caratteristiche tecniche






Linguaggio di sviluppo: Python
Database supportati: Database relazionali (mysql,
postgres, sybase etc...)
Sistemi operativi supportati: Linux, Windows, Mac
OS X, Solaris e BSD
Web Server: Zope, Apache 1.3.x via PCGI o FastCGI
Requisiti client: browser internet
Requisiti server: Zope
20. Autenticazione e autorizzazione
L'account degli utenti viene gestito tramite particolari folders,
chiamati User Folders
Quando viene richiesto l'accesso ad una risorsa protetta il sistema
chiede all'utente di autenticarsi.
Una volta autenticato, il processo di assegnazione dei permessi è
suddiviso in 2 livelli intermedi:
- ruoli (roles)
- permessi (permissions)
I 2 livelli sono collegati dalle politiche di sicurezza (security
policies), che definiscono chi può fare cosa.
© ecnoteca srl 2004
21. Gestione della sicurezza
La gestione della sicurezza di Zope si basa su tre concetti fondamentali:
 ruoli
 permessi
 politiche di sicurezza
© Tecnoteca srl 2004
34. Combinazione ZOPE/PLONE
Orientamento agli oggetti
Database
Ricerca integrata
Multipiattaforma
Copie personalizzate degli script
Workflow
Scalabilità
Efficace ed elegante ambiente per la navigazione
Facilità nella creazione di documenti strutturati anche complessi
© Tecnoteca srl 2004
35. Installazione di PLONE
PLONE è liberamente scaricabile da http://plone.org/downloads/
Nel caso di installazione su Windows possiamo evidenziare 2 metodi:
• codice eseguibile
• codice sorgente
Lanciando l’installazione da eseguibile, verranno installate, fra le altre, le
seguenti componenti base:
• Zope
• CMF
• Python
© Tecnoteca srl 2004
37. La pagina iniziale
Logo
Ridimensionamento testo
Barra di ricerca
Portal tabs
breadcrumbs
Stato e preferenze
Main content
Left_slots
Right_slots
Footer
© Tecnoteca srl 2004
38. Accesso al sito
Le classi di utenti che possono accedere al sito sono le seguenti:
• Anonymous
• Utente Registrato (Member)
Per poter modificare i contenuti, un utente deve registrarsi.
© Tecnoteca srl 2004
40. Il controllo del Workflow
Ogni oggetto può assumere diversi stati durante il suo ciclo di vita.
Lo stato di un oggetto determina se sia accessibile o meno dai vari tipi di
utente definiti da Plone.
Il Workflow di Plone include 4 stati di default
 Visibile
 In Revisione
 Pubblicato
 Privato
© Tecnoteca srl 2004
41. Ruoli degli utenti
Plone usa i ruoli per definire cosa possono fare e vedere i diversi utenti.
La sicurezza viene tenuta quindi sotto controllo in ogni momento
I ruoli definiti in una installazione di default di Plone includono:
 Anonimo (Anonymous)
 Collaboratore (Member)
 Possessore (Owner)
 Revisore (Reviewer)
 Manager
© Tecnoteca srl 2004
42. Le “content tabs”
Le content tabs sono metodi/azioni definite nel contesto in cui ci troviamo.
Ogni oggetto ha le proprie tabs di default, altre se ne possono aggiungere.
Alcune sono “hidden”, ma comunque accessibili in funzione dei privilegi
dell’utente.
Le principali tabs (azioni) sono:
 contenuti (contents)
 visualizza (view)
 modifica (edit)
 visualizza contenuti (folder listing)
 proprietà (properties)
 stato (state)
© Tecnoteca srl 2004
43. Cenni alla barra di stato
La barra di stato è composta da:
 utente (user)
 cartella personale (my folder)
 preferenze personali (my preferences)
 ripristina (undo)
 esci (exit)
 configurazione di Plone (Plone setup)
(accessibile solo al Manager)
© Tecnoteca srl 2004
69. GESTIONE DEGLI UTENTI
La gestione degli utenti di Plone viene attuata tramite i seguenti Folders e Tools:
 Folder Member
 Folder acl_users
 Tool portal_memberdata
 Tool portal_membership
Ogni utente iscritto presenta in Members un folder con id uguale al suo username.
Tale folder è la sua home.
acl_users è gestito dal prodotto “Group User Folder” (GRUF).
Qui possono venire assegnati ruoli e configurati gruppi degli utenti iscritti.
© Tecnoteca srl 2004
70. GESTIONE DEGLI UTENTI: Note sul folder “Members”
Di default qualunque utente può accedere al sito e diventare un Member.
Si può voler eliminare questa modalità.
Questo può essere fatto andando in
“Security” sulla ZMI della home del nostro
portale e modificare “add portal members”
deselezionando l'acquire e selezionandolo
solo per il Manager.
Come risultato si ottiene che ad un Anonymous non apparirà più l'opzione di join.
© Tecnoteca srl 2004
116. Plone e l’accessibilità
Plone aderisce agli standard web del Consorzio W3C
Rispetta la sintassi XHTML
Si basa su un CSS valido
E’ conforme alle Linee Guida WCAG 1.0 sviluppate dal Consorzio W3C/WAI
Presenta un layout senza tabelle
Utilizza fogli di stile per Stampa, Presentazione e Portatili (cellulari e palm)
E’ supportato da tutti i browser
© Tecnoteca srl 2004
117. Documentazione e risorse disponibili
pag.1
www.zope.org
il sito della comunità internazionale di ZOPE
www.zope.it
il sito della comunità italiana di ZOPE
zdp.zope.org/
Zope Documentation Project
www.zopemag.com
una autorevole newsletter su ZOPE
www.zope.org/Resources/ZopePowered
elenco di siti realizzati in Zope
www.python.org
Python
© Tecnoteca srl 2004
118. Documentazione e risorse disponibili pag.2
www.plone.org
il sito della comunità internazionale di Plone
http://zope.it/Members/lallo/plone/pbithtml/index_html
Plone Book in versione italiana
http://plone.org/about/sites
elenco di siti realizzati in Plone
http://sourceforge.net/projects/plone
il progetto Plone presso SourceForge(tm)
© Tecnoteca srl 2004
Scarica

Ricerca