[Zope-dev] [ANN] pythonproducts 1.0alpha1 released
    Rocky Burt 
    rocky.burt at adaptivewave.com
       
    Mon Feb 27 07:23:27 EST 2006
    
    
  
Hi all,
I've now made available the first public release of pythonproducts.
pythonproducts
==============
Description
  A mechanism to construct Zope 2 products as regular python 
  packages.  This enables a python package to be deployed as a 
  Zope 2 product using a similar strategy as Zope 3.
Author/Maintainer
  `Rocky Burt <rocky at serverzen.com>`__
Latest Release
  `1.0alpha1
<http://dev.serverzen.com/site/projects/pythonproducts/releases/pythonproducts-1-0alpha1-tar.gz/download>`__
License
  BSD-style, see LICENSE.txt for details
Source Control
  http://codespeak.net/svn/z3/pythonproducts/
 
Requirements
  - Python 2.3.5 or higher in 2.3.x series
  - Zope 2.8.4 or higher in 2.8.x series
  - Five 1.2 or higher
Installing
  Uses regular python distutils for installation.  Simply run::
  
    ./setup.py install --home /some/path/to/zope_instance_home
Usage
  Once pythonproducts has been installed, the standard practise 
  of installing a python package as a Zope 2 product is as 
  follows:
  
    1. edit (or create it if it doesn't exist already) 
       ``$YOUR_PKG_SOURCE/configure.zcml`` and add the line 
       ``<five:registerPackage package="." initialize=".initialize" />``
    2. copy your python package to ``$INSTANCE_HOME/lib/python``
    3. create a ZCML "slug" by creating the file 
       ``
$INSTANCE_HOME/etc/package-includes/yourpackage-configure.zcml`` and
       populating it with ``<configure package="yourpackage" />``
Explanation of Usage
  Step 1: Your python package needs to register itself as a 
  Zope 2 product.  This is accomplished by using the new
  ``registerPackage`` directive.  This directive takes a 
  (required) "package" attribute which declares any python 
  package as a Zope 2 product (with "." meaning this package).  
  Another (optional) attribute is the 'initialize' attribute.  
  If this attribute is defined, a function with that name 
  will be invoked in a traditional Zope 2 style with a 
  ProductContext instance as the sole argument.
  
  Step 2: Your python package needs to exist *somewhere* on 
  PYTHONPATH.  With Zope 2.8, $INSTANCE_HOME/lib/python is 
  added to the PYTHONPATH so copying your python package 
  there ensures its somewhere in PYTHONPATH.  But really your 
  python package could be copied to any directory that exists 
  on PYTHONPATH (ie /usr/lib/python2.3/site-packages).
  
  Step 3: The standard way of registering a package with Zope 3 is 
  to create a ZCML "slug" in the $INSTANCE_HOME/etc/package-includes
  directory.  This file can be called anything as long as it ends 
  with "-configure.zcml".
 
-- 
Rocky Burt
AdaptiveWave - Consulting, Training, and Content Management as a Service
http://www.adaptivewave.com
Content Management Made Simple
    
    
More information about the Zope-Dev
mailing list