Zopeskel 3.x

Finalmente con la versione 3.0b3, rilasciata a maggio 2012, ZopeSkel apre la strada ad una serie di utili opportunità di sviluppo e personalizzazione.

Al principio era Zope e creare un prodotto personalizzato era un incubo  per molti. La struttura dei prodotti su filesystem è troppo complessa per potersi ricordare a memoria quelle meccaniche e noiose operazioni da intraprendere prima di iniziare a sviluppare qualcosa di utile.

La soluzione, come spesso avviene, arriva da Plone e quindi fu ZopeSkel, un utility che consente di creare automaticamente lo scheletro dei prodotti aggiuntivi e non solo.

ZopeSkel ha infatti permesso di rendere lo sviluppo di prodotti Plone un piacere e diffondere alcune best practice che vanno dalla realizzazione del buildout alla creazione di pacchetti per il tema, archetypes, pas plugins ecc. Consiglio la lettura di un vecchio articolo di Maurizio per approfondire le basi di ZopeSkel.

Siamo così arrivati ad ottobre 2011 quando finalmente si aprono nuovi orizzonti sul fronte ZopeSkel; ormai il buildout è una pratica consolidata anche fuori da Zope, python non può più fare a meno degli eggs, i framework web python si diffondono ed aumentano di numero e Zope e Plone non sono dei casi isolati con le loro  specifiche necessità.

ZopeSkel diventa una necessità per molti, dallo sviluppatore Python puro allo sviluppatore Django, Pyramid e checchessia. Dalla versione 3 finalmente ZopeSkel smette di essere un monolite (che a noi piacciono solo come manufatti archeologici o neri parellelepipediformi circondati da scimmie antropomorfe) ed ecco che esce in versione alpha con una parola d'ordine modularità!

I template disponibili vengono tolti dal core, divisi in differenti eggs sotto il namespace templer e nascono i seguenti pacchetti da cui il nuovo ZopeSkel dipende:

  • templer.core contenente la base di tutto e i template per creare egg python
  • templer.buildout contenente i template per zc.buildout
  • templer.zope contenente i template specifici per Zope
  • templer.plone contenente i template per Plone

La strada è ancora lunga per diventare un prodotto usabile ma è già tracciata la direzione.

I layout dei prodotti per Zope e Plone assumono forme più moderne ed includono più recenti best practice a discapito degli spesso comodi local commands, dobbiamo infatti aspettare fino Maggio 2012 affinché ZopeSkel includa nuovamente la possibiltà di avere comandi aggiuntivi a seconda del template utilizzato.

Ma non sono solo questi i vantaggi della modularità di ZopeSkel; la nuova nuova struttura ci consente di sviluppare facilmente dei layout personalizzati a seconda delle nostre necessità.

Ecco quindi che noi di Abstract abbiamo creato una serie di template che soddisfano le specifiche necessità dei nostri progetti. Il pacchetto è attualmente in sviluppo e ve ne parlerò successivamente.

Installazione

L'installazione di ZopeSkel a livello di sistema è ormai una pratica scoraggiata e per questo motivo è consigliabile installarlo in un virtualenv dedicato con una piccola configurazione di zc.buildout:

parts =
...
zopeskel

[zopeskel]
recipe = zc.recipe.egg
eggs =
PasteScript
ZopeSkel

L'esecuzione di questo buildout produrrà uno script nella cartella bin chiamato zopeskel che potremo utilizzare a nostro piacimento.

Per avere la lista dei template disponibili possiamo usare:

zopeskel --list

Per creare un nuovo scheletro possiamo invece lanciare il comando in questa forma:

zopeskel <template_name> <package_name>

Ulteriori informazioni

Share this on

Share |

On same topics

Commenti

comments powered by Disqus