CMS Open Source: il caso Plone-Zope



Documenti analoghi
CONTENT MANAGEMENT SYSTEM

MANUALE D USO DELLA PIATTAFORMA ITCMS

29 Novembre 2012 Open Source: un opportunità per far evolvere l ICT nelle imprese

Corso Joomla per ATAB

CMS Open Source Evento Open Source Asolo Golf Club - 29 giugno 2005

Capitolo 4 Pianificazione e Sviluppo di Web Part

GUIDA ALL USO DEL PANNELLO DI GESTIONE SITO WEB

NOVITÀ SITI COMMERCIALISTA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Caratteristiche generali

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

E completamente personalizzabile potrete variare colori, i Vs. dati i riferimenti per i contatti, i prodotti in tempo reale.

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Comuninrete sistema integrato per la gestione di siti web ed interscambio di informazioni e servizi.

DESY è un prodotto ideato e sviluppato da

Guida rapida all uso di Moodle per gli studenti

Vincenzo Barone Linux Day - Napoli - 25/10/2008 vincenzo.barone@abstract.it Un pò di cenni su di me: Vincenzo Barone - Napoli, CEO di Abstract open

Cimini Simonelli - Testa

Software per Helpdesk

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Addition X DataNet S.r.l.

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

lem logic enterprise manager

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

L o. Walter Ambu japs: una soluzione agile (

Una piattaforma LMS open-source: Claroline a cura di G.Cagni (Irre Piemonte)

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Integrazione InfiniteCRM - MailUp

WebDiocesi 2. Nuovo servizio, nuovi strumenti. A cura del Servizio Informatico CEI

GUIDA ALL USO DELL AREA RISERVATA

Il web server Apache Lezione n. 3. Introduzione

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Knowledge Management

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Progetto ittorario Anno scol

Manuale LiveBox APPLICAZIONE IOS.

Creare un sito Multilingua con Joomla 1.6

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

GOW GESTIONE ORDINI WEB

WorkFLow (Gestione del flusso pratiche)

GUIDA UTENTE PRIMA NOTA SEMPLICE

PIATTAFORMA DOCUMENTALE CRG

Capitolo 3 Guida operativa del programma TQ Sistema

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

Sistemi informativi secondo prospettive combinate

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Applicazione: Share - Sistema per la gestione strutturata di documenti

Corso Eclipse. Prerequisiti. 1 Introduzione

Server Galileo.

Software di gestione della stampante

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

19. LA PROGRAMMAZIONE LATO SERVER

Manuale LiveBox WEB ADMIN.

2.1 Installazione e configurazione LMS [4]

SOLUZIONE Web.Orders online

MagiCum S.r.l. Progetto Inno-School

la tua presenza e il tuo BUSINESS ON-LINE

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

Progetto LearnIT PL/08/LLP-LdV/TOI/140001

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Un nuovo modo per fare analisi e generare documenti dinamici

Cosa è un foglio elettronico

L INNOVAZIONE CHE TI SEMPLIFICA LA VITA IL TUO SITO WEB LA GESTIONE DI UN IMPRESA VENDI TRAMITE INTERNET L ARCHIVIO DEI TUOI DOCUMENTI

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Guida Joomla. di: Alessandro Rossi, Flavio Copes

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Presentazione del prodotto

InitZero s.r.l. Via P. Calamandrei, Arezzo

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

VIDEO COMUNICAZIONE VIA WEB: LA NOSTRA SOLUZIONE PER LEZIONI IN AULA VIRTUALE, SEMINARI E RIUNIONI A DISTANZA

IBM Lotus Notes Guida per utenti

Guida rapida all uso di Moodle per gli studenti

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Guida alla registrazione on-line di un DataLogger

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Manuale LiveBox APPLICAZIONE ANDROID.

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Archiviazione ottica documentale

LOWE PIRELLA CORTINA, 21 GENNAIO 2005

MDaemon GroupWare Per offrire agli utenti le funzionalità di condivisione calendario, rubrica e gli altri oggetti di OutLook

Manuale Utente Amministrazione Trasparente GA

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

Dropbox. Quando qualcuno ci invita a condivide con noi una cartella, veniamo avvisati via mail.

Manuale LiveBox APPLICAZIONE WINDOWS PHONE V (465)

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

Guida all uso della piattaforma. portale Weblog & Podcast del MIUR COME UTILIZZARE AL MEGLIO L AMMINISTRAZIONE DEL BLOG

Costruzione di siti web. Il Content Management System Joomla

MANUALE PARCELLA FACILE PLUS INDICE

Gestione documentale. Arxivar datasheet del Pag. 1

Manuale LiveBox WEB ADMIN.

Transcript:

Seminario Università degli Studi di Udine, Polo Scientifico dei Rizzi Martedì 3 luglio 2007, ore 17,00 CMS Open Source: il caso Plone-Zope Fabio Bottega (f.bottega@tecnoteca.it)

CMS open source Slide 2 CMS Open Source: il caso Plone-Zope Partiamo dal titolo Cosa vuol dire Open Source? Cosa vuol dire CMS? Cos è ZOPE? Cos è Plone?

Il software Open Source: introduzione Slide 3 Cosa vuol dire Open Source Principi l utente ha libertà di eseguire il programma per qualsiasi scopo l utente ha la libertà di modificare il programma secondo i propri bisogni (perché questa libertà abbia effetto in pratica è necessario garantire l accesso al codice sorgente del programma) l utente ha la libertà di distribuire copie del programma, gratuitamente o dietro compenso l utente ha la libertà di distribuire versioni modificate del programma, così che la comunità possa fruire dei miglioramenti apportati Storia 1984: formalizzato per la prima volta da Stallman (MIT) 1985: nasce l organizzazione Free Software Fondation Vedi seminario ALSI 11 luglio su tipologie licenze open source

Il software Open Source: punti di forza Slide 4 Vantaggi consente la riduzione dei tempi di sviluppo grazie al coinvolgimento di numeri anche molto elevati di sviluppatori favorisce un test più efficace grazie ai numerosi sviluppatori che partecipano al progetto e grazie alla disponibilità del codice sorgente permette di riusare più facilmente il codice e le esperienze già disponibili rende libero l utente dalla dipendenza dal fornitore contiene i prezzi dei prodotti, non soggetti a contratti-capestro, in genere favoriti da situazioni monopolistiche permette di verificare con la massima trasparenza che nel software non siano nascosti sistemi che violino la privacy degli utilizzatori garantisce la possibilità di personalizzazione del software, a cura dell utente o di strutture terze di servizi salvaguarda gli investimenti garantendo la continuità dei progetti sw

Il software Open Source: modelli di business Slide 5 Dalle licenze ai servizi Il modello di business è economicamente sostenibile: il business si sta spostando radicalmente dalla vendita dei programmi alla vendita dei servizi correlati. Fonti di reddito supporto tecnico: installazione, configurazione e soluzione di problemi personalizzazione: adattamento del software alla specifiche necessità del cliente formazione: istruzione di personale tecnico per il supporto, istruzione degli utenti all utilizzo consulenza: per la scelta del prodotto, per l integrazione con altri sistemi già presenti, ecc vendita di software pacchettizzato (esempio: distribuzioni Linux) sviluppo e vendita di documentazione

Il software Open Source: tipologie di soluzioni Slide 6 Soluzioni infrastrutturali sistemi operativi strumenti per gestire servizi di rete strumenti di supporto alla sicurezza servizi server di posta elettronica database e tools collegati application server sistemi per la reportistica web sistemi di workflow Strumenti sviluppo software linguaggi di programmazione e compilatori sistemi di project management sistemi per la manutenzione del software Soluzioni per il desktop suite per l office automation browser client di posta prodotti per la grafica software scientifico Soluzioni applicative sistemi di groupware CMS ERP, CRM e software gestionale ECommerce Elearning Gestione documenti sistemi GIS Help Desk e Asset Management

CMS - Definizioni Slide 7 Cos è un CMS CMS = Content Management System (sistema per la gestione dei contenuti Un CMS non è necessariamente strumento per la realizzazione di siti web: può gestire contenuti di tipologie specifiche (gestione documenti = DMS), essere riservato a gruppi ristretti di utenti (intranet), operare in ambiente LAN (tecnologia client-server), ecc Un CMS permette di costruire e aggiornare un sito dinamico, anche molto grande, senza necessità di scrivere una riga di HTML e senza conoscere linguaggi di programmazione lato server o progettare un apposito database Un CMS mantiene rigorosamente separati: il codice software la descrizione del layout (con fogli di stile CSS) i contenuti

CMS - Definizioni Slide 8 Cos è un CMS (2) Un CMS tratta tipologie diverse di informazioni: pagine, cartelle, notizie, eventi, link, file, immagini e photogallery, forum, sondaggi, questionari, schede strutturate, mappe cartografiche, elementi multimediali, ecc Un CMS gestisce con attributi e metodi specifici i diversi contenuti informativi (meglio se prevede meccanismi di caricamento di plugin esterni) Un CMS gestisce in modo nativo utenti, ruoli e permessi Un CMS gestisce in modo workflow per la pubblicazione controllata dei contenuti Un CMS comprende due ambienti distinti per le attività di front-office (consultazione informazioni) e di back-office (aggiornamento informazioni) Un CMS consente di tracciare il versioning dei contenuti

CMS - Definizioni Slide 9 Gli utenti di un CMS Visitatori pubblici: consultazione pagine, richiesta informazioni tramite form, acquisti on line, iscrizione newsletter, consultazione FAQ, accesso a forum e sondaggi, ecc Utenti aree riservate: dipendenti dell Ente / Azienda, partner esterni (agenti / fornitori) Redazione: operatori e responsabili dell aggiornamento dei contenuti, ciascuno con il proprio ruolo (ad esempio l operatore inserisce i testi, il capoufficio li verifica e li convalida, il responsabile del sito approva e pubblica i contenuti) Staff tecnico: operatori informatici addetti alla gestione del sistema (verifica prestazioni e continuità servizio, gestione sicurezza, backup dei dati, aggiornamento versioni software)

CMS - Definizioni Slide 10 CMS = + usabilità crea pagine omogenee e rende il sito un ambiente familiare per l utente rende disponibili strumenti di aiuto alla navigazione ( briciole di pane, mappe, navigazione contestuale) consente una facile ricerca dei contenuti all interno del sito mette a disposizione strumenti di interazione (aiuto, contatto) CMS = + accessibilità (WCAG Web Content Accessibility Guidelines 1.0 del W3C-WAI) genera codice valido utilizzando degli strumenti automatici di pulitura di TAG deprecati (es. FONT) aiuta nella creazione di contenuti accessibili (es. obbliga la definizione dell ALT al momento dell inserimento di una immagine) consente la gestione di lingue diverse e la loro selezione automatica

CMS motivazioni all utilizzo Slide 11 Vantaggi del CMS per il portale internet gestisce in modo guidato l inserimento di notizie, comunicazioni, calendario eventi, sondaggi, form di richiesta informazioni integra un motore di ricerca interno per reperire facilmente le informazioni nel sito consente l aggiornamento dei contenuti da personale non tecnico tramite editor web visuali che permettono di scrivere i testi senza conoscere il codice HTML semplifica l inserimento di contenuti multilingua crea dinamicamente l albero di navigazione e la mappa del sito consente periodiche attività di restyling grafico tramite semplici modifiche dei fogli di stile (CSS) aiuta nell ottemperare ai requisiti di usabilità e accessibilità

CMS motivazioni all utilizzo Slide 12 Vantaggi del CMS per il portale intranet fornisce strumenti di comunicazione quali chat, forum, instant messaging, weblog, wiki, bacheche elettroniche consente di pubblicare procedure e modulistica interna comprende funzioni per la gestione di documenti offre supporto al lavoro di gruppo (calendario condiviso, rubrica) aiuta a gestire la disponibilità di risorse interne (auto, attrezzature, sala riunioni)

CMS come scegliere Slide 13 Come scegliere un CMS Aspetti commerciali costi tipologia delle licenze garanzia referenze Aspetti tecnici presenza di un solido framework di sviluppo stabilità garanzia di evoluzione scalabilità portabilità ed adattabilità disponibilità del codice sorgente e di adeguata documentazione disponibilità di assistenza

CMS come scegliere Slide 14 Framework e application server: una marcia in più Molti CMS sono stati sviluppati partendo da un Framework, un robusto set di strumenti e servizi che ne semplifica la costruzione. I vantaggi derivano da una rapida prototipazione, flessibilità e ottimizzazione dei tempi di sviluppo. Alcuni CMS inoltre si basano su una piattaforma ancora più evoluta del Framework: l Application server che mette a disposizione funzionalità di base quali la gestione degli utenti, la sicurezza e la scalabilità. Ne è un esempio PLONE, basato sull Application Server ZOPE

CMS prodotti disponibili (open e non open) Slide 15

ZOPE Slide 16 Cos è ZOPE un ambiente di sviluppo (IDE) interamente web based un ambiente di esercizio (sistema di produzione) un application server un web server una piattaforma di web publishing un database ad oggetti (ZODB) un ambiente arricchito da centinaia di prodotti aggiuntivi (plugin) un application server open source (licenza ZPL)

ZOPE come nasce Slide 17 Un po di storia Nel 1996 l azienda americana Digital Creation realizza uno strumento di sviluppo per il web chiamato Bobo che distribuisce con licenza open source Nel 1997 realizza Principia, una potente e stabile piattaforma di sviluppo per applicazioni web, basata su Bobo e la distribuisce come prodotto proprietario Nonostante l alta qualità, Principia non riesce a trovare una giusta collocazione nel mercato già saturo degli Application Server Nel 1998 la Digital Creation decide la svolta strategica: riunire Bobo, Principia e i moduli del database in un unico prodotto da distribuire con codice aperto Nasce ZOPE che è l acronimo di Z Object Publishing Environment

ZOPE distribuzione open source Slide 18 A quasi dieci anni di distanza si è rivelata la scelta vincente notevole crescita del numero degli utilizzatori del software con aumento del brand nascita di una estesa comunità di sviluppatori che risulta essere un potente strumento di marketing virale garanzia di continuità di sviluppo del software, di mantenimento e di correzione degli errori a costo zero aumento del know how dell azienda la fornitura di servizi di supporto tecnico e la commercializzazione di applicazioni evolute hanno prodotto un alto ritorno economico

ZOPE la comunità degli sviluppatori Slide 19 La comunità la comunità internazionale degli sviluppatori è attiva sul sito http://www.zope.org la comunità italiana si incontra sul sito http:// www.zope.it migliaia di sviluppatori sparsi in tutto il mondo contribuiscono allo sviluppo del progetto, implementando nuovi prodotti (plugin) e partecipando al test delle nuove versioni rilasciate 300 prodotti (plugin) scaricabili dal sito centinaia di aziende hanno scelto ZOPE come ambiente di sviluppo

ZOPE le caratteristiche Slide 20 Le principali caratteristiche di ZOPE possibilità di utilizzo su piattaforme diverse: Windows, Linux, Solaris organizzazione in gerarchie di oggetti, con elementi nativi di tipo folder, document, image, mailhost, ecc operatività completa attraverso un qualsiasi browser ambiente integrato, interfaccia GUI ed estetica omogenea Linguaggi DHTML e TAL per la costruzione dinamica delle pagine web linguaggio Python per la implementazione della logica, delle classi di base dell'applicazione e dei prodotti esterni

ZOPE le caratteristiche Slide 21 Le principali caratteristiche di ZOPE (2) sofisticata gestione interna delle problematiche di sicurezza database object oriented interno (ZODB) export e backup supporto di XML e DOM connettività con i principali database relazionali (PostgreSQL, MySQL, Oracle, SQLServer, DB2, SAP DB, Sybase, ODBC) web server interno e supporto dei principali webserver disponibili supporto nativo protocollo SSL (Secure Sockets Layer) alte prestazioni in configurazione base e disponibilità del modulo Zope Enterprise Option (ZEO) per siti ad alta intensità di traffico sistemi di autenticazione ZODB, LDAP, DB relazionale, ecc protocolli di rete HTTP(S), FTP, WebDAV, SMTP, IMAP, POP, XML- RPC, SOAP

ZOPE i prodotti Slide 22 Prodotti aggiuntivi (plugin) nell ambiente di sviluppo ZOPE sono disponibili centinaia di moduli chiamati prodotti attivabili per rendere disponibili nuove funzionalità i prodotti sono applicazioni esterne sviluppate esponendo una interfaccia standard che garantisce l integrazione nell ambiente base di ZOPE realizzati da aziende terze o sviluppatori indipendenti e rilasciati in forma open source prodotti di sistema: connettori per database, autenticazione, CMS (PLONE ed altri), ecc prodotti applicativi: wiki, forum, commercio elettronico, helpdesk, project management, ecc

ZOPE Zope 3 Slide 23 ZOPE 3 disponibile dal novembre 2006 come evoluzione di ZOPE 2 (quest ultimo rilasciato in versione stabile dal settembre 1999) miglioramenti tecnologici e nella metodologia di utilizzo approccio completamente a componenti integrazione nativa di componenti nati come plugin di ZOPE 2 (localizzazione, Formulator, ecc) mantiene i linguaggi ZPT e DTML linguaggio di configurazione ZCML migrazione agevolata da five, strato software per disporre in ZOPE 2 di alcune delle migliorie di ZOPE 3

ZOPE approfondimenti tecnici Slide 24 Caratteristiche Object Oriented ZOPE è implementato principalmente in linguaggio Python, da cui eredita il completo orientamento agli oggetti Un oggetto di ZOPE ha in genere uno dei seguenti ruoli: contenuto (pagine, folder, documenti, file, link, ecc) presentazione (template di pagina scritti in DTML o TAL) logica (programmazione in linguaggio python) La 'URL' di una risorsa web è un percorso in una gerarchia di folder, la cui struttura viene mappata automaticamente sulla base dell'id dell'oggetto e del metodo richiesto (ad esempio http://www.cmdbuild.org/download/download/edit) Il protocollo HTTP fornisce un modo per inviare messaggi agli oggetti e ricevere le loro risposte. Tramite il criterio di acquisizione un oggetto può acquisire attributi e comportamenti dai propri contenitori (folder precedenti)

ZOPE approfondimenti tecnici Slide 25 Persistenza Gli oggetti ZOPE sono memorizzati nello ZODB (Zope Object DataBase), un database transazionale ad oggetti incluso nel framework Ogni richiesta web è trattata dal database ad oggetti come una transazione separata, consentendo il rollback in caso di errori E' disponibile una funzione di undo multilivello Il framework rende completamente trasparente allo sviluppatore la gestione della persistenza e delle transazioni Grazie alla presenza di interfacce software ben definite il meccanismo di persistenza può facilmente di interagire con DBMS esterni (relazionali, file system, ecc)

ZOPE approfondimenti tecnici Slide 26 L interfaccia utente Per accedere alla ZMI (Zope Management Interface) è sufficiente tramite un browser aprire il sito con suffisso '/manage', oppure tramite il link Zope Management Interface presente nella pagina di default una volta installato ZOPE Le componenti principali dell I/F utente sono: Pannello di controllo comprendente: pulsanti restart / shutdown motore database management product management debug management

ZOPE approfondimenti tecnici Slide 27 L interfaccia utente (2) User Folder (acl_users) per: aggiunta nuovi utenti modifica utenti assegnazione di ruoli Metodi default: index_html standard_html_header standard_html_footer Oggetti default: error_log session_data_manager Menu drop-down per inserimento oggetti: selezionare un oggetto e premere Add personalizzarlo e aggiungere proprietà utilizzarlo come URL del portale

ZOPE approfondimenti tecnici Slide 28 L interfaccia utente (3) Funzioni base applicabili agli oggetti visualizzati: rinomina taglia copia incolla cancella seleziona tutto import / export TAB Find : ricerca di oggetti nel database ricerca base e avanzata

ZOPE approfondimenti tecnici Slide 29 La gestione della sicurezza Autenticazione: gestito tramite folder speiali User folders (anche mappabili su sistemi esterni) accedendo ad una risorsa protetta il sistema richiede all utente di autenticarsi ogni utente è associato a uno o più ruoli Autorizzazione: basata su ruolo / metodo / permesso (sì / no) permessi differenziabili per ogni metodo di ogni singolo tipo di oggetto

ZOPE approfondimenti tecnici Slide 30 Linguaggi di scripting i linguaggi di scripting utilizzati da Zope sono: TAL (Template Attribute Language) nell ambito della tecnologia ZPT (Zope Page Templates) DTML (Document Template Markup Language), meno utilizzato sono linguaggi server-side, eseguiti quindi dal server ZOPE e i risultati della loro esecuzione sono inviati al browser web TAL e DTML consentono di generare pagine in maniera dinamica, tramite inserimento di particolari 'tags' nel codice HTML, convertiti poi in HTML puro da inviare al browser web Zope Page Template si propone di risolvere le problematiche di integrazione tra sviluppatori e designer adottando tre principi base: permettere l'uso approfondito dei normali strumenti di editing far sì che quello che si vede sia molto simile a quello che si ottiene tenere il codice fuori dai template escluso le strutture logiche

ZOPE approfondimenti tecnici Slide 31 Linguaggi di scripting (2) TAL (Template Attribute Language) non infastidisce gli editor wysiwyg, che i designer potranno utilizzare senza troppi problemi anche parallelamente al lavoro degli sviluppatori gli editor wysiwyg non infastidiscono i designer, mostrando l'html valido degli ZPT nella forma che loro si aspettano limite: non si possono creare sottoprocedure e classi o implementare algoritmi complessi (ma la logica deve stare fuori dall'interfaccia ) Esempio ZPT / TAL: <title tal:content= here/title >titolo della pagina</title> Istruzioni TAL più comuni: tal:define, tal:attributes, tal:replace, tal:content, tal:repeat, tal:condition Esempio DTML: <dtml-in oggetto_sequenza> <!-- comandi sui valori della sequenza --> </dtml-in>

PLONE Slide 32 Cos è PLONE il più conosciuto fra tutti i prodotti ZOPE, di cui eredita l ambiente di base un CMS potente e completo per lo sviluppo di portali internet evoluti una ottima soluzione per lo sviluppo di portali intranet e come strumento di groupware per collaborazioni remote un ambiente arricchito da centinaia di prodotti aggiuntivi (plugin) specifici del CMS sviluppati da oltre un centinaio di sviluppatori accreditati uno dei CMS più apprezzati ed utilizzati (600 portali recensiti in http://www.plone.net in 35 nazioni) una soluzione open source (licenza GPL)

PLONE le caratteristiche Slide 33 Le principali caratteristiche di PLONE setup immediato in ambienti Windows, Linux, Mac OS X, Solaris look elegante e pensato per l usabilità disponibile in oltre 35 lingue, incluse arabo ed ebraico editor web con funzioni di formattazione, inserimento immagini e link ridimensionamento automatico delle immagini caricate ricerca full text istantanea, anche su file OO, Word, PDF potente motore di workflow personalizzabile velocità e scalabilità (meccanismi di cache e supporto clustering) accessibilità (pagine compatibili con lo standard US Section 508, e con il rating W3C AA)

PLONE le caratteristiche Slide 34 Le principali caratteristiche di PLONE (2) visibilità elevata in rete (100% XHTML e CSS validi per la gioia dei browser e dei motori di ricerca) interoperabilità (LDAP, SQL, SOAP, WebDAV, sistemi autenticazione) Syndication : PLONE produce automaticamente feed RSS estensibile tramite centinaia di prodotti aggiuntivi a disposizione ed in particolare con Archetypes (vedi nel seguito) supporto in rete, ampia documentazione on-line e cartacea protetto e maturo: PLONE è disponibile da oltre cinque anni, la Plone Foundation (fondazione no-profit gestita dalla comunità) ne detiene e protegge la proprietà intellettuale ed il marchio vincitore di numerosi premi internazionali

PLONE i prodotti Slide 35 Prodotti aggiuntivi (plugin) anche per PLONE sono disponibili centinaia di moduli chiamati prodotti attivabili per rendere disponibili nuove funzionalità specifiche del CMS prodotti di sistema: skin visuali, localizzazione, versioning, supporti di memorizzazione, workflow, archetypes, ecc prodotti applicativi: forum, blog, commercio elettronico, sondaggi, multimedia, photogallery, elearning, calendario, gestione eventi, cartografia GIS, ecc

PLONE approfondimenti tecnici Slide 36 L attivazione di un nuovo portale PLONE dalla ZMI

PLONE approfondimenti tecnici Slide 37 La pagina iniziale di default in un portale PLONE Logo Barra di ricerca Portal tabs breadcrumbs Stato e preferenze Main content Left_slots Right_slots Footer

PLONE approfondimenti tecnici Slide 38 Accesso al back-office

PLONE approfondimenti tecnici Slide 39 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 ruoli utente definiti in PLONE Il Workflow di PLONE include 4 stati di default visibile in revisione pubblicato privato

PLONE approfondimenti tecnici Slide 40 Gli stili quello che vediamo appena creato un nuovo sito Plone è lo stile di default, ma PLONE permette una elevata configurazione del layout per andare ad agire sull aspetto il nostro punto di partenza si trova in: portal_skins/plone_styles i tre file principali sono: base_properties plone.css plonecustom.css ma nessuno dei tre è modificabile ogni metodo, definizione o file di sistema può essere modificato dopo essere stato salvato in un folder particolare: portal_skins/custom ogni file (oggetto) presente in custom ha una priorità maggiore del file originale da cui deriva in questo modo possiamo personalizzare i nostri file/metodi senza andare a modificare l'originale

PLONE approfondimenti tecnici Slide 41 Gli stili (2) sostituire il logo in alto a destra di PLONE è ad esempio una attività estremamente semplice se non abbiamo modificato il nome del logo come definito nel file base_properties, ci basta andare in custom ed inserire, una nuova immagine, con il nostro nuovo logo, che chiameremo logo.jpg qualora invece avessimo già customizzato il file base_properties, modificandogli il logoname, dobbiamo assegnare all'immagine che carichiamo l'id uguale al valore di logoname

PLONE approfondimenti tecnici Slide 42 Tipi di oggetti nel folder portal_types sono contenute le definizioni per tutti gli oggetti al momento disponibili in PLONE è possibile creare un nuovo tipo semplicemente copiandone uno già presente (cambiandogli ovviamente il nome) e modificando poi le sue proprietà in funzione di ciò che vogliamo fargli fare altri tipi di oggetti si aggiungono a quelli base qualora si installino prodotti aggiuntivi

PLONE approfondimenti tecnici Slide 43 Tipi di oggetti (2) Cliccando su un tipo, si accede alla lista delle proprietà Fra le proprietà più interessanti: Icon (icona nella ZMI) Initial view name (azione di default per la visualizzazione iniziale dell oggetto) Implicitly addable (flag tipo aggiungibile al portale) Filter content type (flag oggetto folderish ) Allowed content types (tipologie di oggetti inseribili al suo interno)

PLONE approfondimenti tecnici Slide 44 Tipi di oggetti (3) cliccando sul tab actions entriamo della gestione delle azioni, intese come metodi di visualizzazione definiti per il particolare tipo di oggetto ogni azione può venire modificata agendo sui rispettivi campi, ma si possono anche aggiungere nuove azioni personalizzate

PLONE approfondimenti tecnici Slide 45 Portal tabs La definizione delle azioni generali definite sul nostro portale si trovano nel folder portal_actions qui possiamo modificare le azioni definite per le portal tabs ed aggiungerne di nuove tutte le entry nel cui campo Category è presente il valore portal_tabs corrispondono ai TAB generali del nostro portale volendo ad esempio far sì che il TAB notizie sia visibile solo ad utenti autenticati, basta inserire nel campo Condition il valore python:member

PLONE approfondimenti tecnici Slide 46 Slot per ogni portale può essere definita una qualsiasi combinazione e disposizione degli slots Sono presenti due proprietà 'speciali' assegnabili agli oggetti: left_slots e right_slots sono proprietà speciali in quanto ereditate in visualizzazione essendo gli slot proprietà (attributi) assegnabili ad un oggetto, possiamo vederli e/o modificarli cliccando sul TAB Properties presente nella ZMI della root del nostro portale PLONE

PLONE approfondimenti tecnici Slide 47 La gestione utenti in PLONE utilizza Folder Member Folder ACL User Tool portal_memberdata Tool portal_membership Ogni utente iscritto presenta in Members un folder con id uguale al suo username, che costituisce la sua home acl_users è gestito dal prodotto PlonePAS che consente di assegnare ruoli (predefiniti da ZMI) e configurare gruppi di utenti

PLONE approfondimenti tecnici Slide 48 Portal catalog Gestisce le indicizzazioni degli oggetti nel portale Agendo sul TAB della ZMI possiamo accedere a: catalog: lista degli oggetti indicizzati (è possibile effettuare un refresh, o cliccando sull'oggetto, vedere le informazioni collegate) indexes: indici utilizzati per la catalogazione (è possibile effettuare il refresh e aggiungere nuovi indici per la catalogazione) metadata: scelta degli attributi da indicizzare (è possibile aggiungere nuovi metadata da catalogare) advanced: consente di effettuare un Update catalog per rimuovere oggetti invalidi

PLONE approfondimenti tecnici Slide 49 Gli Archetypes Per creare nuovi tipi di oggetti in PLONE è possibile: scrivere da zero l'intero codice del nuovo prodotto (richiede una buona conoscenza del sistema) scrivere il codice partendo da scheletri predefiniti di prodotti vuoti (richiede una conoscenza leggermente inferiore) utilizzare tools di sviluppo che facilitano l'intera operazione e svolgono una parte del lavoro per noi PLONE ci fornisce uno strumento per sviluppare secondo il terzo punto Lo strumento si chiama Archetypes, che nel suo utilizzo base richiede: la definizione della classe relativa all'oggetto (tipo) che vogliamo creare la definizione degli attributi (proprietà) la definizione delle funzioni della classe (metodi)

PLONE approfondimenti tecnici Slide 50 Gli Archetypes (2) Una volta descritto l oggetto basta aggiungere il nuovo Tipo in Plone Archetypes utilizzerà le informazioni definite per generare automaticamente le pagine di visualizzazione (view) e le form (edit) per la modifica dei contenuti Approccio UML (Unified Modelling Language) descrizione dell oggetto (classi, attributi e metodi) in un editor UML utilizzo dell utility ArchGenXMP.py per la traduzione del file XMI o XSD (XML Schema) nel formato descrittivo previsto da Archetypes importazione del prodotto in Plone tramite pannello di controllo eventuale customizzazione delle pagine TAL di presentazione e di gestione del nuovo Tipo Editor UML open source: ARGOUML (http://argouml.tigris.org) Non è particolarmente sofisticato, ma è sufficiente per il nostro scopo

PLONE approfondimenti tecnici Slide 51 Gli Archetypes (3) Progetto UML File XMI Prodotto Plone Esportazione in formato XMI parsing del file XMI per generare il prodotto Plone Aggiunta e modifica delle pagine di presentazione Copia del prodotto nella directory Product di Zope

PLONE approfondimenti tecnici Slide 52 Strumenti di supporto allo sviluppo Unit test: ZopeTestCase, PloneTestCase Functional test e System test: PloneSelenium verifiche attraversamento codice: CallProfiler bug tracking: PloneCollectorNG Accesso SVN (SubVersion): PloneSVNAccess

PLONE alcuni esempi di siti Slide 53 Comune di Pordenone Comune di Cividale Comune di Tavagnacco ERSA FVG Ippovia Valle Cormor Portale turistico Prov PD

ZOPE e PLONE link utili Slide 54 Alcuni link utili portale della comunità ZOPE: http://www.zope.org sito commerciale ZOPE: http://www.zope.com portale del CMS PLONE: http://www.plone.org portale del network PLONE: http://www.plone.net portale della comunità italiana: http://www.zope.it Riferimenti non ufficiali in italiano (ottenuti da ricerche in rete): ZOPE Book: http://www.linuxtrent.it/members/lele/zopebookit.pdf/file_ view PLONE Book: http://www.unife.it/help/allegati/ebook-ita-plone-book-italiano-2005.pdf slide su Phyton: http://www.sal.disco.unimib.it/corso_python.pdf

Seminario Università degli Studi di Udine, Polo Scientifico dei Rizzi Martedì 3 luglio 2007, ore 17,00 CMS Open Source: il caso Plone-Zope Domande? Fabio Bottega (f.bottega@tecnoteca.it)