[Zope3-dev] How does Zope.Configuration work?

Tim Hoffman timhoffman@cams.wa.gov.au
Thu, 28 Mar 2002 17:00:27 +0800


Myroslav Opyr wrote:

> R. David Murray wrote:
>
>> On Wed, 27 Mar 2002, Lennart Regebro wrote:
>>
>>> Well, I'd say that Apaches configuration is dangerously close to 
>>> programming
>>> to. :-)
>>> It's darn hard to configure Apache, and to use that as a benchmark 
>>> is not a
>>> good idea.
>>>
>> Well, I refuse to use Microsoft's GUIs (such as regedit) as a benchmark.
>> I think the "don't touch that configuration file" style of configuration
>> is rare outside of Microsoft and end-user X apps.  And personally,
>> I *much* prefer that situation to an all-GUI world, even wearing
>> just my admin hat and not my programmer's hat.  But I'm willing to let
>> others build and use the GUIs, as long as I can see and hack the *real*
>> configuration in the configuration files <grin>.
>>
> Well, Micro$oft' mistake was limiting to GUI in administrative tasks 
> (far not everything can be done with CL)... But we can gather best 
> people from both world offering plain-text (xml) zcml and GUI 
> (probably web-based first). Something like comfort matters too. 
> Meaning that default behavior can be configured too. I'll try to 
> explain in couple of words.
>
> Let's say I have dozen of Zope instances running. All they share one 
> ZopeProducts directory. Lennart Regebro suggested them to pick 
> Products which were dropped into that folder by default. Magnus Heino 
> and Tim Hoffman wanted to pick them even without restart. All ideas 
> are just perfect but far not all cases. I'd like to have per-instance 
> behavior.
> \

Actually I would like to clarify my position ;-)

I wouldn't want the products to necessarily initialised automatically. 
ie I don't mind having  to tell the server
to enable a product explicitly, just that I wouldn't want to have to do 
a  server to restart just to enable the product.

ie At startup the server finds all of the products in said directory. 
Each Zope instance would possibly have a status
for each product ie enabled true/false, if a new product is added you 
would tell the instance to
refresh it's list of available products, and at that point the admin 
could explicitly enable the new product.
(This way you can disable products too, without having to delete them ;-)

I would imagine that each instance may also want to have potentially 
different instance specific properties
for each product. ie taking from Zope 2 world, External Image in 
CMFOptions could have a default cache path
 in the zcml file, well this wouldn't be very good for each instance, 
instead each product in each instance
would have specific instance properties (thinking about it, it would 
probably best to have a external image
tool in each instance which locates the cache directory)

better stop now I am rambling.


Just my 2c worth

Tim




>
> For example I have one production site runnung and I am concerned with 
> stablility and security issues. I wouldn't want it to just catch and 
> run everything from ZopeProducts... It's default behavior wouldb: 
> "notice dropped products but wait for site admin to activate them"
>
> Another is my test-pad or development instance. Security and 
> reliability does not matter there. They could pick up products and 
> load them immediately. The same with Product' zcml files.
>
> Thus default behavior should be configurable and only default values 
> for defaults ;) would be preset (even them could differ in zope-3.0 
> and zope-3.0-devel ;)
>
> Myroslav