On Jan 19, 2008, at 1:39 PM, Dieter Maurer wrote:
Tres Seaver wrote at 2008-1-18 21:06 -0500:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
David Bear wrote:
I'm doing my first zeo setup, and suddenly I'm not sure about my products directory. Do I put all products in a products directory of the zeo server or in each zope instance?
Normally the ZEO server doesn't need to have access to the products, which are "application code". The only exception is for products which define classes having application-level conflict resolution: in such cases, the ZEO server must be able to import the product (or else the conflict resolution code is not consulted).
As an additional note:
Zope uses Python import magic to make packages available in "INSTANCE_HOME/Products" as additional products in the "Products" package.
If some of these products need application specific conflict resolution, the ZEO server needs to activate this import magic -- by importing Zope's "App.FindHomes".
An patch to runzeo that allows INSTANCE_HOME Products to be put on the path (but does not require Zope's App.FindHomes is here): https://bugs.launchpad.net/zope2/+bug/143770 Using this patch, you can create a Products directory in your ZEO's instance home and put products in there to service conflict resolution while still keeping SOFTWARE_HOME products on the path. Importing App.FindHomes might be a better way to do this. - C