Strumenti personali
Tu sei qui: Portale Scopri Documentazione Guide Sviluppare contenuti in Zope 3 e Plone 3 Creazione del prodotto
Azioni sul documento

Creazione del prodotto

Creazione del prodotto e sviluppo iniziale
Come sviluppare dei prodotti in Zope 3 utilizzando le FormLib.
Pagina 2 di 5.

Per la creazione iniziale del prodotto verrà usato un piccolo componente del progetto Python Paste. Per il resto di questo tutorial si presume che abbiato installato i prodotti setuptools e easy_install scritti da Phillip J. Eby. Così come il  componente paster insieme al package dei template ZopeSkel. Per le istruzioni su come configurare paster e ZopeSkel, si guardi l'eccellente articolo su ZopeSkel di Daniel Nouri.

Quindi, si parte:

$ paster create -t plone ploneexample.formlib
Selected and implied templates:
ZopeSkel#plone_core A Plone Core project

Variables:
package: ploneexampleformlib
project: ploneexample.formlib
Creating template plone_core
Enter namespace_package (Namespace package) ['plone']: ploneexample
Enter package (The package contained namespace package (like i18n)) ['']: formlib
Enter pythonproducts (Are you making a productsless Zope 2 Product?) [False]: True
Enter version (Version) ['0.1']:
Enter description (One-line description of the package) ['']: A Plone product for demonstrating zope.formlib usage
Enter long_description (Multi-line description (in reST)) ['']:
Enter author (Author name) ['Plone Foundation']: Rocky Burt
Enter author_email (Author email) ['plone-developers@lists.sourceforge.net']: rocky@serverzen.com
Enter keywords (Space-separated keywords/tags) ['']:
Enter url (URL of homepage) ['http://svn.plone.org/svn/plone/plone.i18n']: http://dev.plone.org/collective/browser/examples/ploneexample.formlib
Enter license_name (License name) ['GPL']:
Enter zip_safe (True/False: if the package can be distributed as a .zip file) [False]:
Recursing into +namespace_package+
Creating ./ploneexample.formlib/ploneexample/
Recursing into +package+
Creating ./ploneexample.formlib/ploneexample/formlib/
Copying HISTORY.txt_tmpl to ./ploneexample.formlib/ploneexample/formlib/HISTORY.txt
Copying LICENSE.GPL to ./ploneexample.formlib/ploneexample/formlib/LICENSE.GPL
Copying LICENSE.txt_tmpl to ./ploneexample.formlib/ploneexample/formlib/LICENSE.txt
Copying README.txt_tmpl to ./ploneexample.formlib/ploneexample/formlib/README.txt
Copying __init__.py_tmpl to ./ploneexample.formlib/ploneexample/formlib/__init__.py
Copying configure.zcml to ./ploneexample.formlib/ploneexample/formlib/configure.zcml
Copying version.txt_tmpl to ./ploneexample.formlib/ploneexample/formlib/version.txt
Copying __init__.py_tmpl to ./ploneexample.formlib/ploneexample/__init__.py
Copying setup.cfg to ./ploneexample.formlib/setup.cfg
Copying setup.py_tmpl to ./ploneexample.formlib/setup.py
Running /usr/bin/python2.4 setup.py egg_info


Iniziamo a sviluppare

Dopo questa operazione si dovrebbe ora avere una directory chiamata ploneexample.formlib nella directory corrente. Per le finalità di sviluppo verrà usato setuptools per configurare il progetto ploneexample.formlib nel PYTHONPATH in modo da poterlo rendere disponibile per Zope. Spostarsi nella directory del progetto ploneexample.formlib ed eseguire il seguente comando (ricordando di eseguirlo come sudo se si è in un ambiente UNIX e non si hanno i permessi sufficienti per scrivere nella directory site-packages di python):

$ python2.4 setup.py develop

Ci sarà un output simile al seguente:

[snip output...]
Installed /home/rocky/Documents/developing/projects/ploneexample.formlib
Processing dependencies for ploneexample.formlib==0.1dev

 

Inseriamo il Nuovo Prodotto in Zope 2

Ora che si ha a disposizione un prodotto per Zope 2 pienamente eseguibile, è possibile procedere con la sua configurazione all'interno dell'istanza Zope 2. Finchè Zope e CMF/Plone non verranno aggiornati (Zope 2.10 possiede già le modifiche necessarie), è necessario utilizzare il prodotto pythonproducts per abilitare i prodotti che risiedono all'esterno della directory Products dell'istanza Zope.

Scaricate ed installate pythonproducts seguendo le istruzioni che trovate nel prodotto. Per chi avesse fretta, l'installazione di pythonproducts consiste nel download del sorgente, la sua estrazione in una dir temporanea, e l'esecuzione del comando:

$ python2.4 setup.py install --home $INSTANCE_HOME

Ora è necessario attivare il package ploneexample.formlib quale prodotto Zope 2. Per fare ciò bisogna spostarsi nella directory etc/package-includes dell'istanza Zope 2 e creare un nuovo file chiamato ploneexample.formlib-configure.zcml il cui contenuto deve essere:

<include package="ploneexample.formlib" />

E' possibile ora provare l'instanza Zope 2 per avere la conferma che il nuovo prodotto ploneexample.formlib sia disponibile. Si può fare ciò eseguendo l'istanza Zope normalmente e verificare nella sezione Prodotti nel Pannello di Controllo della ZMI se il prodotto è correttamente installato. Dovrebbe essere visibile una cosa del tipo:

ploneexample.formlib (Installed product ploneexample.formlib)