Posts Tagged ‘Zope’

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 »

Annunci

ERP con Plone..

12 febbraio 2010

Fabrizio ha lanciato un ottimo stimolo, anche se ancora da sviluppare: quando usare Plone per risolvere alcune delle funzioni tipiche di un ERP (http://redomino.com/it/labs/blog/fabrizio-reale/plone-erp).

In merito ho qualcosa da dire, ma voglio farlo con calma, non in questo post (tanto per capirci, da tempo ho “in canna” di parlare di Case Management con Plone, che copre una parte delle proposte di Fabrizio… piano piano ;)).

Piuttosto volevo rispondere organicamente al commento di Andrea, che quoto nella sua chiosa:

secondo te Plone può essere usato, oltre alla gestione documentale, anche per la gestione delle attività come emissione fatture, ddt, ordini etc… ?

Quello che io intendo e avere un sistema in cui collaboro alla vita aziendale (CMS puro e semplice), gestisco i servizi con i clienti (trouble ticket), amministro i miei servizi, fatturo ai clienti, emetto ordini ai fornitori, ddt per i tecnici.

Non capisco perché queste operazioni vengano definite da molti sviluppatori Plone come troppo complesse per un CMS, e parlo anche a livello di costi di sviluppo. Scusa ma con PHP queste cose si fanno da anni, a costi decenti e molto inferiori rispetto a soluzioni Plone o JSP.

Be’, ho due cose da dire a riguardo.

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!

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 »

Comunità Plone Italiana: Rinascimento prossimo venturo

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 »

Plone Conference a Budapest!!

29 ottobre 2009

La Plone Conference è partita ieri nel migliore dei modi qui a Budapest!

Buona parte delle lamentele si concentrava sul fatto che nell’edificio che ci ospita facesse troppo caldo 😉

Il programma di quest’anno è molto valido, e piuttosto interessanti sono buona parte delle sessioni!

Date uno sguardo al programma: http://ploneconf2009.org/program/talks.

E date uno sguardo ai talk! sono tutti in streaming, e presto saranno disponibili le versioni finali dei video con le slide: http://mrtopf.de/blog/plone/plone-conference-live-streams

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 »

Tabelle HTML senza scrivere HTML: z3c.table

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 »