Preparation for Plone2

Tim Middleton x at Vex.Net
Tue Jan 20 08:43:59 PST 2004


On Tuesday 20 January 2004 02:23, Gerhard Schmidt wrote:
> Betas. The problem with 2.7 ist the restructured Products dir. Third Party
> Products should go to $INSTANCE_HOME/Products rather then
> $SOFTWARE_HOME/Products. There should be a way to tell Zope-Productports

Yet another little controversy zope 2.7 may bring... where to install those 
third party products. I keep going back and forth on this... 

It seemed ot me cleaner at first to install 3rd party products in an instance 
home (as suggested above), just to make the distinction clear between 
products that are part of zope's base, and add-ons. This assumes a pattern of 
always installing Zope with one "main" instance.

But then what if you have multiple instances you want to share third party 
products? You can't cleanly install multiple 3rd party zope packages into 
different instance homes simultanously from ports. Now you have to choose ... 
either one of the instances or zope's main product directory.

As a (sometimes-with-zope-even) developer, I like to have a bunch of instances 
of Zope handy. Most 3rd party products which are established enough that 
someone has bothered to make a port for them, I want shared, so all instances 
have them available... things such as database adaptors, for example.

So perhaps we need a specific knob for this as well. ZOPEPRODUCTDIR is okay, 
but a little awkward to make someone use to choose between instance Product 
directory a Zope's product directory.

I was looking at your zope-devel port and it seems to create the instance in 
SOFTWARE_HOME. One can change the SZOPEBASEDIR, but one also must change it 
when making an instance or mkzopeinstance.py will not be found; and hence the 
ZOPEBASEDIR is set by that.

Leads to another question. Should the ports Makefile support making instances 
other than the "main" one?

I like the idea of "make instance"... but I think the INSTANCE_HOME should be 
more controllable. perhaps a ZOPE_INSTANCE_HOME knob.... if it is set then 
the third party apps install into its product directory; if not they install 
into zope's software products directory. By default it would not be set and 
would default the instance home to the software home.

While we're at this, lets not forget that some 3rd party zope apps install as 
zclasses that need to be imported via the ZMI (installed to the Import 
subdirectory); and there are a few even which potentially have/are external 
methods and need to go into the Extensions subdirectories (hmm, someone 
should make a port for zshell). So ports need to know where these are as 
well.. and if they should install in an instance home or the software home.

-- 
Tim Middleton | Cain Gang Ltd | But the trouble was that my hysterical fit 
x at veX.net     | www.Vex.Net   | could not go on for ever. --Dost (NFTU)



More information about the freebsd-python mailing list