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