[Zope] Re: [Zope-dev] Proposed installation changes for review

Jamie Heilman jamie@audible.transient.net
Mon, 10 Mar 2003 16:51:28 -0800


> - Environment variables are no longer used for configuration.

I'll say it one more time.

The roadmap[1] states under the "Simplifying the Zope experience"
section:

    * simple tasks should be simple!

Now, code required to extract a value from the environment:

import os
try: value = sanitize(os.environ.get("SOMETHING", default))
except Unsanitary:
   ...cope...

# where 'sanitize' is in reference to any conversion procedures required
# prior to the use of 'value' by program code

Pretty simple.  Enter ZConfig:
$ du -sk ZConfig
374     ZConfig

374k of work devoted to replacing os.environ.get and its sanitizing
code, and the result is a XML config file.  I'm not saying this all
for naught, but really, it should give you pause.  Just how much have
you really simplified configuration by doing this?

Personally I think the problem of Zope's configuration hassles has
been mis-identified.  ZConfig cleans up and centralizes a maze of
badly strewn out configuration code.  It will extend the lifetime of
the Über-server concept ZServer employs.  It does nothing to prevent
the same mess from happening again, down the road.  I believe a more
lasting approach is to seperate the servers into small individual
programs which only do 1 thing, and do it well.  Then you combine
those servers under a unified mangement framework, connect them
together by using common communication idioms, the idea being--and
follow me here, to use small programs combined together to provide a
larger service.  Sound familiar?

-- 
Jamie Heilman                   http://audible.transient.net/~jamie/
"...thats the metaphorical equivalent of flopping your wedding tackle 
 into a lion's mouth and flicking his lovespuds with a wet towel, pure 
 insanity..."						-Rimmer

[1] http://dev.zope.org/Resources/ZopeRoadmap.html