[Zope3-dev] Re: [Zope-dev] Pluggins vs Application Definition

Philipp von Weitershausen philipp at weitershausen.de
Wed Feb 15 07:20:39 EST 2006


Chris Withers wrote:
> [aside... hmmm, crossposting, maybe time to merge zope-dev and
> zope3-dev? most stuff seems to be relevent to both nowadays]

+10

You know, I once had a proposal..... Uh, never mind :)

>> In Zope 3, we went with a more explicit installation mechanism,
>> in which people had to explicitly cause a package's ZCML files to be
>> loaded for it to be used.  We added a mechanism to make this easier,
>> by simply dropping a file into a special directory, package-includes,
>> so an installer wouldn't have to fool with pointy brackets.
> 
> 
> Personally, I hate package-includes. It creates a load of mess in a
> folder that is likely to need to have new tools written to look after it
> in the future :-/
> 
> I'd really like to just see lines getting includes in site.zcml.

We had that once. We got rid of it because it made deployment harder.
With slugs you can just drop in an extra file without having to change
one. That makes automated installation easy.

> There is precedent for this, very good precedent in fact.
> Think of httpd.conf, and the module include lines at the top.
> I'm all for supporting having squillions of files all over the place,
> but I'd really like to see the default be one file, as with Apache.

Heh, that's actually a funny example because Debian has actually been
using modular config files for quite some time now (not only for
Apache). Especially module includes, module configurations and virtual
sites all rest in individual config files. Small tools (a2enmod,
a2ensite) help manage the files, though manual management isn't too hard
either.

So, seems like not only are we the first ones to come up with a setup
like that, it's also used by a large

> Also, I wish there was some way to have a .zcml that is in the
> _software_ home, not the package home, that inlcuded all the "standard"
> bits so that when I upgrade my zope version, I don't have to worry about
> juggling all those files and wondering which ones are out of date and
> which ones have "new" versions...

You should "know" which ones you want in your instance anyways. I rather
have a very, very slim "standard" set of packages and make everything
else optional than provide everything else by default.

If the software home ZCML file (which essentially is
zope.app/configure.zcml) includes too much, it's a pain to disable
things you don't like. It's trivial with package-includes.

>> If application users are not technically
>>   sophisticated, or, more importantly, not technically interested,
>>   they peobably would prefer to just drop something into a special
>>   directory and be done with it.
> 
> Yup, /products, /plugins, etc, everything from Photoshop to Zope 2 has
> this concept ;-)

It's been giving us a lot of pain in Zope 2. I don't think anyone
seriously wants to go back. We *can* have a standardized location (by
convention), e.g. $INSTANCE_HOME/lib/python, but let's not make it a
mandatory one.

Philipp


More information about the Zope3-dev mailing list