10 Dicembre 2009
Perchè Plone non viene riconosciuto come un valido sistema di gestione documentale out-of-the-box?
Vari potrebbero essere i motivi, ma eccone un paio su tutti:
- i file binari dei documenti da gestire vanno ad ingrossare il DB a oggetti che supporta Plone (lo ZODB di Zope);
- la tecnologia di indexing e searching viene percepita come non sufficiente a rispondere ad esigenze di livello enterprise (per capirci, migliaia di documenti di tipo office).
Bene: è ora di cambiare idea!!!
Plone 4 (attualmente in fase alpha avanzata) è alle porte con una serie di novità stimolanti!
Il database a oggetti supporta i blob (Binary Large Object) nativamente da oltre due anni, che significa che molte installazioni “importanti” stanno gestendo i file binari delegando al DB il loro immagazzinamento su file system, in modo affidabile, efficiente e trasparente rispetto all’applicazione.
E’ ora di prendere profitto, e Plone 4 adotta nativamente questa tecnologia. Grazie al pacchetto plone.app.blob, infatti, il plip 7822 [http://dev.plone.org/plone/ticket/7822] è stato integrato con successo nel bundle di installazione standard dalla prima versione alfa di Plone 4.
Col nuovo Plone, creando un oggetto di tipo file nel sito, il corrispondente file binario caricato in ZODB verrà generato nella cartella che ospita i blob.

Ecco come appare il blob repository gestito dallo ZODB.
Come si vede dallo screenshot, ZODB genera una struttura di cartelle usando l’id dell’oggetto e della transizione corrispondente al nostro upload e vi carica il file. Chiaramente questo comporta una innumerevole serie di vantaggi rispetto ai precedenti approcci, tutti operati al livello applicativo, ma sopratutto si può apprezzare il fatto che tale funzionalità, molto ricercata nelle precedenti versioni, è ora disponibile nativamente in Plone.
Per quanto riguarda la tecnologia di indexing e searching, la soluzione si chiama collective.solr, ma il succo lo rimando ad una prossima puntata.
Pubblicato su Plone | Lascia un commento »
Tags: advocacy, cms, Document Management, Plone, strumenti
18 Novembre 2009
Spesso nel costruire le nostre viste (template ZPT puri vecchia maniera, o browser view in stile Zope 3) abbiamo bisogno di richiamare informazioni dal contesto, o servizi di Plone come il portal_catalog o il portal_membership.
Un modo di farlo è quello “spontaneo” di richiamarli esattamente dove ci servono usando i meccanismi di base, tipicamente l’acquisizione di Zope 2. Efficace, ma piuttosto inefficiente! Anche perchè frequentemente coincide con il dover usare espressioni python nel template.
Le seguenti sono scorciatoie funzionanti, ma piuttosto da evitare:
<div tal:define="catalog here/portal_catalog">...</div>
<div tal:define="parent_title python:here.aq_inner.aq_parent.Title()>titolo</div>
Leggi il seguito di questo post »
Pubblicato su Plone | 3 Commenti »
Tags: Plone, sviluppo, Zope
10 Novembre 2009
La Settima Plone Conference mondiale (http://ploneconf2009.org) si è chiusa da ormai dieci giorni, ma ancora le fanno eco i numerosissimi ringraziamenti all’organizzazione, rivolti a Balasz Ree in testa.
Budapest è stata a tutti gli effetti la splendida cornice di un evento energizzante e carico di spunti per tutti coloro che si occupano di Plone.

Thanks to MrTopf: http://www.flickr.com/photos/mrtopf/4074083883
Leggi il seguito di questo post »
Pubblicato su Plone | 3 Commenti »
Tags: advocacy, cms, Plone, Inspiration, Comunicazione
4 Novembre 2009
Budapest è stata un’esperienza indimenticabile!
Peccato per chi non c’era.
Come sempre, tra le cose che rendono per me indimenticabile un tale evento c’è stata l’opportunità di incontrare moltissimi appassionati con cui condividere idee ed esperienze in modo divertente e non limitato all’ambito tecnico.
Durante il terzo giorno di Conference abbiamo sperimentato un nuovo modo di condividere i propri interessi, completamente aperto, in cui ciascuno poteva proporre i propri argomenti e discuterli con chiunque fosse interessato.
Io ho suggerito il mio: “facciamo il punto sulla comunità Plone italiana”.
Leggi il seguito di questo post »
Pubblicato su Comunicazione, Plone | Lascia un commento »
Tags: advocacy, cms, Comunicazione, marketing, Plone, Zope
18 Settembre 2009
La mia form “esemplificativa” è costituita da tre campi, questa interfaccia ne descrive lo schema:
from zope.interface import Interface
from zope import schema
class IUserIdentification(Interface):
field1 = schema.TextLine(title = u"First Field")
field2 = schema.TextLine(title = u"Second Field", required = False)
field3 = schema.TextLine(title = u"Third Field", required = False)
La mia esigenza: il secondo e terzo campo (field2, field3) risultano obbligatori solo se il primo campo (field1) è valorizzato.
Leggi il seguito di questo post »
Pubblicato su Plone, Zope | Lascia un commento »
Tags: Plone, sviluppo, Zope
9 Settembre 2009
Richiesta tipica di estensione per Plone: inviare notifiche mail a revisori, creatori dei contenuti, manager in caso di nuovo documento, cambio di stato del documento, modifica del documento.
Plone sa rispondere al 90% della richiesta con il suo Content Rules Engine [vedi http://plone.org/documentation/how-to/content-rules/ per sapere di che si tratta!].
Tuttavia tra le possibilità di base manca un modo sufficientemente flessibile di costruire le mail che vengono spedite.
collective.contentrules.mail [http://pypi.python.org/pypi/collective.contentrules.mail] è la risposta a tale esigenza! Offre infatti la possibilità di costruire le mail usando espressioni dipendenti dal contesto (chi scatena la transizione, chi è il proprietario del contenuto da notificare, etc.).
Leggi il seguito di questo post »
Pubblicato su Plone | Lascia un commento »
Tags: Plone, sviluppo
28 Agosto 2009
Magari qualcuno non è troppo convinto di aver bisogno di una libreria python per costruire e gestire tabelle HTML, ma quando è uscito il pacchetto plone.z3ctable mi sono ricordato della possibilità che offre z3c.table.
All’inizio pensavo fosse una cosa complessa e tutto sommato inutile (posso fare tutto quel che serve in una browser view, giusto?
), ma uno sguardo alla documentazione mi ha convinto a provarlo.
Cosa offre il pacchetto in sintesi:
- tabella e colonne sono classi python
- colonne sono adapter (possono comparire/scomparire/cambiare in base al context, alla request, all’interfaccia della tabella)
- non c’è una skin di base, ma in modo banale si possono associare classi CSS a qualsiasi tag della tabella
- i record sono calcolati in modo automatico a fronte di oggetti che presentano l’interfaccia IContainer (cartelle) ma anche su un contesto di puri dati (una lista di dizionari, ad esempio)
- gestione del batch per la navigazione di tabelle con molte righe
- separazione tra rendering della tabella e del batch
Leggi il seguito di questo post »
Pubblicato su Plone, Zope | 4 Commenti »
Tags: advocacy, Plone, strumenti, sviluppo, Zope
5 Agosto 2009
La Plone Conference 2009 viene organizzata dal 28 al 30 Ottobre a Budapest, facile da raggiungere per noi italiani, e tutto sommato a buon mercato..
Alla Conference ci sono sempre una marea di spunti interessanti per chi si occupa di Plone, quest’anno ancora di più! I piatti forti saranno le nuove release di Plone, l’imminente versione 4 e la rivoluzionaria versione 5, insieme alle loro tecnologie emergenti, Dexterity e Deco su tutte.
Inoltre una delle tre giornate sarà strutturata come Open Space: chiunque potrà proporre il suo tema e sviscerarlo con gli altri interessati.
Leggi il seguito di questo post »
Pubblicato su Comunicazione, Plone | 3 Commenti »
Tags: advocacy, cms, marketing, Plone, sprint
6 Luglio 2009
Il web NON è la televisione, non bisogna essere ricchi imprenditori per permettersi di dire cose interessanti. Tuttavia le statistiche parlano chiaro: solo una minima percentuale degli utenti del web contribuiscono a loro volta ad incrementarne i contenuti!
Questo vale se si parla di blog, di wikipedia o anche di twitter, la chat globale selettiva del momento. Poco male, se quanto non pubblicato appartiene alla sfera del ludico e del personale, ma molto male se chi ha informazioni interessanti se le tiene per sé!
Tanto peggio per chi si occupa di tecnologie aperte: in ambito “chiuso” a volte si vive reinventando la ruota, ma nel caso di buon open source, meno si disperdono le energie e meglio è per tutti! Chiunque dispone di informazioni utili derivanti dal suo lavoro dovrebbe cercare di trasmetterle!
Leggi il seguito di questo post »
Pubblicato su Comunicazione, KM | Lascia un commento »
Tags: advocacy, cms, Comunicazione, Inspiration, Knowledge Management, web