Posts Tagged ‘sviluppo’

World Plone Day a Macerata, pubblicato il programma

31 marzo 2010

Il prossimo 28 Aprile l’Università di Macerata, da anni felice utilizzatore di Plone per i suoi portali pubblici e non, organizza il World Plone Day locale.

Chiaramente sono felicissimo, tanto che, grazie ad Abstract, ho potuto aiutare i ragazzi di UniMC nell’organizzazione.

Il programma è finalmente pubblico, e lo trovate qui:
http://www.unimc.it/ciem/notizie/world-plone-day-28-aprile-2010-a-unimc

Il pomeriggio sarà dedicato a un open space incentrato sulle tematiche della condivisione e pubblicazione online dell’informazione. Per proporre argomenti o vedere quelli già proposti: http://etherpad.com/wpd-unimc.

Non siete a Macerata, ma volete comunque partecipare?
http://plone.it/diffondi/comunicati/world-plone-day-2010-vieni-a-conoscere-plone

Annunci

Plone Cathedral Sprint, perchè il diavolo è nei dettagli..

19 marzo 2010

I fortunati sprinter si sono goduti la settimana appena passata a Colonia, in Germania, concentrati a migliorare Plone in occasione dello Sprint della Cattedrale.

Tantissimo lavoro è stato fatto, e grazie ad Eric Steele, release manager di Plone 4, per l’occasione volato a Colonia, ne abbiamo le prove!

Non sono state affrontate problematiche di ampio respiro, ma una serie di dettagli, il cui miglioramento può enormemente aumentare l’usabilità di Plone.

Vedere per credere! Iniziamo con il nuovo motore per i commenti, plone.app.discussion, che Timo Stollenwerk sta migliorando sempre di più:

[blip.tv ?posts_id=3385065&dest=-1]

Leggi il seguito di questo post »

Indicizzazione a “componenti”: plone.indexer

5 marzo 2010

Ancora un articolo tecnico, ma stavolta piuttosto breve 🙂
Da ormai molti mesi il buon vecchio Martin Aspeli ha rilasciato un pacchetto chiamato plone.indexer, il cui scopo è semplice e potente: definire delle logiche di indicizzazione da agganciare a content type mirati.

Andiamo sul pratico, tanto per capirci: durante la migrazione in cui transmogrifier è stato protagonista, ho importato degli oggetti che nel nuovo portale hanno subìto una “mutazione genetica”: in particolare hanno aumentato il loro “parco attributi”, presentando alcuni metadati di classificazione in più rispetto all’origine.

Chiaramente durante la migrazione non è stato possibile “transmogrificare” integralmente tutti gli oggetti, per cui alcuni di quelli geneticamente mutati li abbiamo importati senza mutazione, e li useremo come tali.. ma dobbiamo poterli ricercare in modo omogeneo rispetto ai nuovi metadati, e allora come fare?

Leggi il seguito di questo post »

Transmogrifier: una catena di montaggio per generare contenuti

28 febbraio 2010




(immagine da: http://waxinandmilkin.com/post/148087178/velma-by-quickhoney)

Plone 4 è alle porte e alcuni siti potranno essere rapidamente aggiornati con gli script di migrazione rilasciati con Plone (anzi, affrettatevi a provare la migrazione del vostro portale! eventuali problemi segnalati in questa fase potrebbero essere risolti direttamente dai core developer, senza alcun dispendio di energie da parte vostra :)).

In altre situazioni, dove la versione di partenza di Plone è troppo vecchia, o dove sono state operate delle personalizzazioni spinte, gli script di migrazione (cfr. http://plone.org/documentation/faq/upgrade-plone) di Plone non basteranno.. cosa fare?

Transmogrifier (http://pypi.python.org/pypi/collective.transmogrifier) potrebbe essere la risposta più corretta e “divertente“… 😀

Per capire di che si tratta immaginate una catena di montaggio, in cui entrano dei pezzi che lungo la catena vengono trasformati fino ad ottenere il prodotto finito. Se ci state pensando, è esatto: sebbene sia nato per importare contenuti in Plone, nessuno impedisce di usarlo come modulo python puro per quello che ci serve. Di fatto in questo articolo annoto alcune considerazioni relative alla migrazione di contenuti da un vecchio sito Plone ad uno di nuova generazione.

Leggi il seguito di questo post »

ZopeSkel e lo sviluppo di pacchetti Plone

4 febbraio 2010

OK, dopo diversi post lisci lisci torno a qualcosa di piuttosto tecnico: ZopeSkel è da poco uscito in versione 2.15, e, sebbene non si tratti di una major release, il changelog riporta un bel po’ di novità.

Prima di tutto: che cavolo è ZopeSkel?!

Si tratta di uno strumento piuttosto irrinunciabile per chi sviluppa estensioni Plone nel 2010. Perciò se lo usate non avete bisogno di ulteriori chiarimenti. Se invece non lo state usando, fareste bene a chiedervi “perchè?!”.

Dall’help di ZopeSkel:

This script allows you to create basic skeletons for plone and zope products and buildouts based on best-practice templates.

Leggi il seguito di questo post »

Simposio Plone e Sprint a Sorrento!

1 febbraio 2010

Sono lieto di invitare tutti quelli che conosco (e che non conosco) a Sorrento per la settimana del 26 – 30 Maggio prossimi: Abstract organizza le cinque giornate ploniste di Sorrento, e sono sicuro che non ve le vorrete perdere!

Si inizia con il Simposio vero e proprio, che vede una quota di partecipazione piuttosto bassa per la splendida cornice in cui si svolge: due giorni di talk (26 – 27 Maggio) in cui si parlerà di Plone, dei casi di suo utilizzo reale, del suo futuro. I migliori relatori del mondo Plone europeo saranno presenti: potremo scambiare con loro le nostre idee e fare tutte le domande che ci passano per la testa.

Si chiude in bellezza con tre giorni di Sprint (28 – 30 Maggio: Iscriviti!), un ottimo modo per mettere mano al codice, ma anche per conoscere gli altri sviluppatori, per approfondire problematiche che ci stanno a cuore e, perchè no, per divertirsi!! Chi ha già partecipato non vorrà mancare, e chi non ha ancora avuto occasione, non si lasci scappare questa!

Approfitto per ricordare che allo sprint non c’e’ spazio solo per super tecnici, chiunque è ben accetto: c’è sempre qualcuno disponibile a dare spiegazioni, a far vedere come si fanno le cose, a discutere sugli argomenti che più ci stanno a cuore; inoltre è un modo perfetto per sperimentare nei giusti tempi le tecniche agili di extreme development e management in una situazione reale, applicandole allo sviluppo, ma anche al testing e alla documentazione.

Insomma, ci vediamo a Sorrento!

Quale strumento per costruire il nostro CMS? Django vs. Plone

7 gennaio 2010

Da qualche anno Plone è il fulcro del mio lavoro quotidiano, e da qualche tempo sono in incursione nel mondo di Django sulla scia del successo che sta ottenendo.

Django (http://www.djangoproject.com/) è un web framework scritto in Python nato nel 2005 dal team di sviluppo web di una compagnia editoriale del Kansas, che ha accettato le richieste dei suoi tecnici di rilasciare le loro librerie con licenza open source.

Python (http://python.org) offre moltissime librerie per lo sviluppo di applicazioni web, e in tale categoria Django si è conquistato una sua posizione di eccellenza. Tuttavia, da plonista incallito, non mi era semplice comprenderne i motivi e le prerogative.
Per questo nelle ultime settimane ho iniziato a dedicare ritagli di tempo allo studio di Django e del suo ecosistema.

In questo post annoto una serie di considerazioni da usare in ordine sparso, confrontando Plone con Django da vari punti di vista, e spesso dicendo cose ovvie (o forse non troppo).

Prima cosa ovvia: confrontare Plone con Django non ha molto senso! 🙂

Leggi il seguito di questo post »

Usare le viste standard di Plone ed evitare di pagare il dazio

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 »

Validazione Multicampo con z3c.form 2.1

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 »

Notifiche mail in Plone? collective.contentrules.mail

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 »