You have Products under the same grouping as the main zope source. This makes it difficult for different instances to run different products, or different versions of the same product. My current layout (which is inferior to what you propose in every other respect) has two product directories: LIBDIR/ZopeProducts : storing all zope products. ETCDIR/Products: contains symlinks into ZopeProducts for each product that this instance should use I think Extensions need to be in the ETCDIR too On Mon, 05 Nov 2001 15:33:20 -0500, Behrens Matt - Grand Rapids <Matt.Behrens@Kohler.Com> wrote:
BINDIR zopectl zopeinst
LIBEXECDIR pcgi-wrapper
LIBDIR zope (eveything from lib/python) Products Extensions [1] ZServer [1] inst [1] utilities [1]
ETCDIR zope access inituser instances [2]
VARDIR zope INSTANCE [2] db [3] Data.fs (et al.) run [4] *.pid gadfly [3] [5]
[1] I am not sure if putting these folders here clashes with anything. Extensions, especially, I am worried about.
[2] Instances should be named and built by 'zopeinst', which takes care of reasonably secure default permissions. The 'instances' file would list these along with start parameters and flags that zopectl understands; zopectl could be used to shutdown/startup zope instances in system startup/shutdown scripts this way.
[3] These directories should be readable and writable only by the user who runs Zope.
[4] This directory, if Zope is started as root, should be writable only by root.
[5] Other instance-specific files such as Zope.cgi would live here. start/stop duties would be taken over by zopectl.
The top level directories (BINDIR, LIBEXECDIR, LIBDIR, ETCDIR, VARDIR) would be configured at install time but would probably default to /usr/local/bin, /usr/local/libexec (or sbin for non-BSDers), /usr/local/lib, /usr/local/etc, /usr/local/var.
I'm really looking for compatibility issues that anyone has or any suggestions for improvement. I plan to make a proposal out of this eventually. Please make sure you cc me at home (matt@zigg.com) on replies.
Toby Dickenson tdickenson@geminidataloggers.com