You are here: Home / Documentation / How To's / How to Install 3.1 products in 3.0

How to Install 3.1 products in 3.0

by nguyen — published Aug 28, 2008 09:05 PM, last modified Aug 16, 2016 10:50 AM
from Joel Kleier (MIO), addendum by Nathan Van Gheem

For anyone who is currently running a Plone 3.0 server that was installed using the unified installer you may have noticed that there is no buildout.cfg file for your instance. There are a number of cool products that have come out since the 3.1 release that use the new egg packaging system instead of the "old" way of doing products. Some products offer two versions, one in an egg and one as a standard product, but others do not. For those who are only available in an egg you can follow the instructions below that our server admin, Joel, has put together. It should be noted that we ran these changes on a 3.0 server that had been upgraded to 3.1.2, however, the upgrade did not add a buildout.cfg.


1. Download the product (which has the in it's directory)

2. Run the easy_install program that relates to the version of python that the (in our case) zeo cluster/zope server uses.

The command, as I used it, looked something like:

/path/to/python/directory/bin/easy_install --prefix=/path/to/python/directory/ /path/to/downloaded/product/folder/

The above command created a folder with "-py2.4.egg" (or something similar) on the end of the name of the product, and the folder was installed into the "site-packages" folder somewhere within the python directory. It also adds a line to the easy-install.pth file found in the site-packages directory.

The easy_install script also downloads requirements from pypi -- some of which broke our particular configuration. Once the dowloaded eggs were removed from both the site-packages directory and the easy-install.pth 
file, everything worked fine and the particular packages we were trying to use seemed to run without a hitch.

3. We had to get the *-configure.zcml file and place it into the, for us, zeo client's "etc/package-includes" folder

All the file contains is

<include package="webcouturier.dropdownmenu" file="configure.zcml" />

which seems to be the name of the configuration zcml file that egg's seem to have and the name of the product.

4. Restart the client, and everything seemed to work

-- Joel Kleier

Nathan's Addendum

Nathan Van Gheem wrote:

This is the process that describes how to do it:

most notably,

To create a ZCML slug for an add-on Product:
Navigate to your Zope instance's etc/package-includes folder.
Create a file called "nameofyourproduct-configure.zcml"
Put the following line of code in that file:
<include package="name.of.product" file="configure.zcml" />