[Web-SIG] [Proposal] "website" and first-level conf

Chris Withers chris at simplistix.co.uk
Thu Mar 8 10:36:48 CET 2007

Jim Fulton wrote:
> Having everything in one folder is great for development.  It isn't so 
> good for deployment, at least not on Unix. 

Can you explain why? I do a lot of unix deployment, and the thought of a 
buildout that sprays files all over the system, even if they are in 
standard unix-y location scares me a lot...

> (I can think of lots of 
> reasons why it wouldn't be great on Wndows either.)  

I'm interested to hear these too since all the microsoft apps I know of 
tend to have a "one folder" model...

> For example, site 
> administrators like to keep log files together and separate from other 
> files.

As a site admin myself, I like to keep log files together, but on a 
per-project basis, I think it's a personal preference thing...

> Even if things are all together, there's really no point in having 
> separate subdirectories, typically containing only one or 2 files, 

Yep, you've persuaded me on that :-)

> 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. 

Indeed. Again, I prefer to have all non-standard-library modules and 
packages in the instance home, so different versions don't interfere 
with each other. Yes, this pattern is probably most suited to 
development environment, but being able to svn the whole instance and 
just check that out on the production servers is something I personally 
find very poweful.

> 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.

Agreed, I care less about the folders than I thought ;-)
Although if pressed I think I'd still prefer them than not...

> I'm not sure if you are referring to more than scripts.  I agree that we 
> shouldn't have put utility scripts in instances. 

No, it's the utility scripts that I think are a nightmare waiting to 
happen the first time one of them changes as part of a Zope upgrade.

> 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. 

Exactly :-)

> This is what I do in my latest Zope 3 
> buildout recipes.

Are those recipes available anywhere?

> 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.

I don't agree with either of these at the moment. What's the reasoning 
for wanting to spray files from one project all over the filesystem?

> 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.

Yep, now that's something I strongly agree with :-)



Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk

More information about the Web-SIG mailing list