On Mar 6, 2007, at 2:56 PM, Chris Withers wrote: > Jim Fulton wrote: >> On Mar 3, 2007, at 11:27 PM, Chad Whitacre wrote: >> ... >>> Now, Jim: it looks like Zope still uses a Unix-y userland for >>> INSTANCE_HOME, yes? >> Yes, but I hate it. At Zope Corporation, We're moving away from >> it for a number of reasons. > > I actually like it a lot, still, and I haven't heard compelling > arguments, for me, for other things... > > The big plus point for me is that everything needed for one > deployment is in one folder.
Having everything in one folder is great for development. It isn't so good for deployment, at least not on Unix. (I can think of lots of reasons why it wouldn't be great on Wndows either.) For example, site administrators like to keep log files together and separate from other files. Even if things are all together, there's really no point in having separate subdirectories, typically containing only one or 2 files, within the instance. In a development instance, I'd much rather have a single directory containing the few needed files directly. The only exception to this for me would be to have a subdirectory for Python modules, if you have instance specific Python modules. Having to look in subdirectories for configuration and log files is just a pain. ... >> For development, it adds structure that isn't needed. A Zope >> instance really only needs a few files. Trying to minic some >> notional unix layout just adds pointless structure. > > It's kindof self documenting though: > > /etc -> config > /bin -> scripts > /var -> data > /log -> logs > > I like that consistency, regardless of its origins... Bit without these, you have something like: zope.conf zopectl runzope debugzope scriptzope Data.fs zope.log It is pretty clear that zope.conf is a configuration file, zope.log is a log file, and that Data.fs. On Unix, It's pretty clear that the others are scripts, because they're executable and, on Windows, they should have .bat or .exe suffxes. >> The traditional complex Zope instance file layout lead to the use >> of an instance "skeleton" to deal with all of the files, which >> led, in turn, to a copy and hack style of configuration >> customization that is inflexible and encourages cruft. > > I think the Zope 3 skeletons went the wrong way. The skeletons > work, but where they only contain config that's specific to that > instance. Zope 3's notions of putting python scripts (and non- > trivial ones at that!) and the like into the instance home made me > shudder... I'm not sure if you are referring to more than scripts. I agree that we shouldn't have put utility scripts in instances. I would argue that only the ctl script should go in instances. The runzope, scriptzope, and debugzope scripts could be completely generic and invoked by an instance specific ctl script. This is what I do in my latest Zope 3 buildout recipes. Otherwise, Zope 2 and Zope 3 skeletons look pretty similar to me. >> For production deployments, we (Zope Corporation) install files >> into the *real* Unix tree where site administrators want them. > > Not everyone runs on unix. Having a standard layout that fits into > a folder works cross platform to a large extent. Only for a particular definition of "works". No experienced Unix administrator would say it works on Unix. I suspect that a professional Windows server adminstrator would have similar concerns. ... My original point was not to advocate a particular layout but to point out that different layouts will be needed in different situations and that mandating a particular layout was likely to cause problems. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org _______________________________________________ Web-SIG mailing list Web-SIG@python.org Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com