Linux Day 2007 - Plone e Zope 3: dietro le quinte

Click here to load reader

  • date post

    22-Dec-2021
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Linux Day 2007 - Plone e Zope 3: dietro le quinte

Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
1 of 7 3-11-2007 12:56
Linux Day 2007 - Plone e Zope 3: dietro le quinte La nuova versione di Plone include nuove funzionalità e nuovi prodotti. L’introduzione di Zope 3 permette di portare plone al livello dei migliori framework applicativi. Un’overview sul cms, sulle sue estensioni e sulla comunità. Massimo Azzolini
Zope 3 Zope 3 separa nettamente i contenuti dalla logica applicativa e dalla presentazione
Zope 3 e la prima versione di Zope completamente basata su una architettura a componenti
Cosa e stato introdotto interfacce
adattatori
testing, (demo)
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
2 of 7 3-11-2007 12:56
Zope 3 - interfacce Il concetto di “interfaccia„ e del tutto simile a quello di interfaccia in un altro linguaggio ad oggetti:
Zope 3 - Adapter - generale Un adattatore e un componente che "converte" un oggetto con una certa interfaccia (o un set di interfacce) in qualcos'altro.
Supponiamo di voler incastrare i due solidi di prima nel foro quadrato (ricordi di bambino...)
Zope3 mi permette di scrivere due adattatori da ICubo e ICilindo a IForoQuadrato
Con Zope2 occorreva spesso fornire metodi speciali alle classi del cubo e del cilindro.
class ICilindro(Interface): """ questa interfaccia rappresenta un cilindro """
class ICubo(Interface): """ questa interfaccia rappresenta un cubo """
class IForoQuadrato(Interface): """ questa interfaccia rappresenta un foro di forma quadrata"""
def inserisciOggetto(): """ fa passare un un oggetto nel foro """
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
3 of 7 3-11-2007 12:56
Zope 3 - Adapter - cubo2quadrato
Zope 3 - Adapter - cilindro2quadrato
Zope 3 - Adapter - usiamolo!
Zope 3 - View Le view sono un tipo particolare di adapter:
adattano il componente che stiamo guardando alle esigenze dell'utente.
estendono il componente con caratteristiche di presentazione fornendo “visioni” differenti delle stesse informazioni
Esempio: Cerchiamo in un sito Plone la frase “ajax” e ...
class Cubo2quadrato(object): implements(IForoQuadrato) adapts(ICubo) def inserisciOggetto(): """ non devo fare nulla: si incastra! """
class Cilindro2quadrato(object): implements(IForoQuadrato) adapts(ICilindro) def inserisciOggetto(): """ questo metodo rende deformabile il cilindro fino a comprimerlo e a farlo passare attraverso il foro """
per ottenere l'oggetto adattato: obj_adattato = IforoQuadrato(obj_da_adattare) """ il sistema si preoccupa di cercare l'adapter giusto """ obj_adattato.inserisciOggetto()
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
4 of 7 3-11-2007 12:56
Zope 3 - view Si ottiene un elenco in XHTML...
Zope 3 - view ... ma e anche disponibile la versione RSS delle stesse info
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
5 of 7 3-11-2007 12:56
Zope 3 - view ... ma si puo avere anche una versione google map!
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
6 of 7 3-11-2007 12:56
Zope 3 – Il modello degli eventi Componenti possono informare altri componenti che “qualcosa” e successo
Un Evento e un componente che definisce questo “qualcosa”.
Zope 3 – Il modello degli eventi Il meccanismo e semplice
Il componente A notifica che l'evento E e avvenuto:
Il componente B sottoscrive un suo metodo ad essere avvertito quando E accade:
Zope 3 – Zope Configuration Markup Language Zope3 utilizza un sistema di configurazione basato su XML per la registrazione dei componenti.
Il vantaggio e quello di separare la parte di configurazione dalla parte di implementazione.
Diventa piu semplice abilitare e disabilitare componenti senza modificare il codice python.
View, Adapter, Subscribers vengono gestiti in questo modo
OK, ho finito! Avete domande?
notify(EventRaised(obj))
Linux Day 2007 - Plone e Zope 3: dietro le quinte http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
7 of 7 3-11-2007 12:56
I miei riferimenti:
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
1 of 5 3-11-2007 12:54
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS La nuova versione di Plone include nuove funzionalità e nuovi prodotti. L’introduzione di Zope 3 permette di portare plone al livello dei migliori framework applicativi. Un’overview sul cms, sulle sue estensioni e sulla comunità. Imolug partecipa allo sviluppo di bersabea: un tool per creare network in plone. Massimo Azzolini
Prima di partire, facciamo un punto
Di cosa parliamo in quest'oretta?
Focus sulle informazioni – lo strumento e al servizio delle idee, non il viceversa
Parliamo di comunita – open knowledge, open development, open minds...
Parliamo di architetture – flessibili, riusabili, solide
Parliamo di software – Plone3 – Zope3 – KSS
Perche mi interesso a Plone? Mi chiedono che le info siano gestite velocemente
Condivido! Credo che la conoscenza debba muoversi rapida dapersona a persona, da organizzazione a organizzazione
Strumenti adattabili
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
2 of 5 3-11-2007 12:54
Gli strumenti che ho scelto nel tempo 1992 - 1995 - HTML + CGI
C'erano forse alternative?
2003 - oggi - Zope e Plone –
Open! Community! CMS moderno e completo
Domani:
Parliamo di comunita
Parliamo di comunita La comunita Plone sono gli “sprinter„
La comunita Plone sono gli “zopisti„ e i “pythonisti„ (in senso lato)
La comunita Plone sono le aziende: italiane e internazionali
La comunita Plone sono gli utilizzatori finali
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
3 of 5 3-11-2007 12:54
E come si interagisce con la comunita? Direttamente agli eventi regionali
Chat - irc.freenode.net
Mailing list
http://www.nabble.com/Plone-f6741.html (plone-users)
http://www.nabble.com/Plone---Italy-f21728.html (plone-italia)
Conferenze mondiali
La comunita guida lo sviluppo Le esigenze nascono dalla comunita e sono raccolte dal core degli sviluppatori (framework team):
PLIP – PLone Improvement Proposal
Un paio di esempi?
KSS – Kinetic Style Sheet
CMFEdition – Versioning e staging
La release 3.0 - 1/4 Versioning
Modifiche in linea con Ajax
Live Search per tutti i tipi di file e contenuti
Rules!
Portlet
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
4 of 5 3-11-2007 12:54
La release 3.0 - 2/4 Controllo di Integrita automatico
Working copy
Collaborazione e condivisione ancora piu facile
La release 3.0 - 3/4 Ancora migliorato il motore di workflow (Placeful Workflow)
Autenticazione del back-end modulare (LDAP, OpenID)
Collection: AKA Smart Folder
“Modalità presentazione” dei contenuti
Supporto del protocollo Sitemap
Markdown
Textile
Linux Day 2007 - Plone e Zope 3: L'evoluzione del CMS http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
5 of 5 3-11-2007 12:54
Sono solo proposte allo stato attuale!
Better media file handling (Video, audio)
Expanded Document Management capabilities
Composite Pages
Ship Plone with support for the most common auth setups (LDAP, Radius, NTLM)
Improved email framework (incoming email handling)
Non ho finito continua...
1 of 4 3-11-2007 12:55
Linux Day 2007 - Plone e Zope 3: Le estensioni Plone 3, come anche i suoi predecessori arriva assieme a 600+ prodotti. Massimo Azzolini
KSS sugli scudi KSS
Perche ve lo racconto?
Separa notevolmente la parte di design dalla parte di sviluppo
Al designer, non serve conoscere Javascript ne tantomento ajax
E' estremamente semplice e veloce utilizzare KSS per trasformare un portale tradizionale in uno “web 2.0”
E' comunque accessibile
E' built-in in Plone 3!
KSS – lo spirito del progetto KSS si basa su due capisaldi:
Sintassi CSS-like: tutti i designer di portali la conoscono
Python per la parte server: se sviluppi in Zope/Plone, python lo conosci...
KSS e una libreria javascript che che utilizza AJAX
KSS include e permette l'inclusione di librerie 3rd_party (script.aculo.us, mochikit, ecc.)
KSS, potenzialmente, puo essere utilizzato con un framework differente da Zope/Plone
Linux Day 2007 - Plone e Zope 3: Le estensioni http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
2 of 4 3-11-2007 12:55
KSS: design
Linux Day 2007 - Plone e Zope 3: Le estensioni http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
3 of 4 3-11-2007 12:55
Altri prodotti Plone4Artist: multimedia e calendaring!
PloneGov: prodotti per la P.A.
PloneSurvey: un tool di sondaggi di alto profilo, estendibile. Tradotto recentemente dal Comune di Arezzo.
PloneBooking: prenotazioni on line. Workflow specializzati.
Content Panel: per creare il layout delle sotto aree.
Altri prodotti Plone.relations: relazioni arbitrarie tra persone, contenuti, sistemi. Si può creare dall'organigramma al social network, dai miei preferiti al desktop personalizzato. Manca l'interfaccia... ovviamente
Membrane: tutto si può autenticare! Un dipendente, un dirigente, un lavoratore esterno, un cittadino, un ufficio... ognuno è “fatto” in modo diverso, non ha solo “accessi” diversi.
Plone Article (e MultiPA): per creare pagine composite in stile giornalistico.
Altri prodotti FileStorage: per salvare tutti i contenuti documentali su un file system e non nel database.
PloneGazette: la newsletter
PloneBoard: il forum
SignupSheet: per le iscrizioni ad eventi/seminari ecc. Include funzionalità di questionario pre-iscrizione.
def saveField(self, fieldname, value, templateId, macro): """ This method saves the current value to the field. and returns the rendered view macro."""
Linux Day 2007 - Plone e Zope 3: Le estensioni http://localhost:8088/Plone/linux-day-2007/linux-day-2007-plone-...
4 of 4 3-11-2007 12:55
Vari prodotti per le “discussion” sui contenuti
Altri prodotti Quills, EasyBlog e altri: il blog in plone
TagCloud e EasyRating per migliorare l'accesso alle informazioni
Poi e PloneCollectorNG: sistemi di ticketing di diverso livello di personalizzazione
SmartPrintNG: il contenuto Plone esportato in PDF, ODF, DOCX, RTF e WML
Altri prodotti GetPaid: il sistema di commercio elettronico.
Integrazioni con GoogleMap (ne esistono di vari tipi)
PressRoom: per la rassegna stampa
LinguaPlone: per il supporto alle traduzioni.
Ok, ancora un attimo di pazienza continua...