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

Lennart Regebro lennart@torped.se
Thu, 28 Mar 2002 08:33:51 +0100


From: "R. David Murray" <bitz@bitdance.com>
> On Wed, 27 Mar 2002, Lennart Regebro wrote:
> > 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.

Regedit is not a configuration tool. Regedit is a tool used to edit the
storage of application configuration data. What it should be compared with
is vi/emacs or whatever you use to edit a text-based configuration file.
Editing magick numbers in regedit is not one bit easier then typing in code
in a text file.

I like the registry, but the reason I like it is because it is one
standardized place to put application configuration data. If it was made up
of a bunch of standardized textfiles the benefits would be the same.

> I think the "don't touch that configuration file" style of configuration
> is rare outside of Microsoft and end-user X apps.

Unfortunately, yes.

> And personally,
> I *much* prefer that situation to an all-GUI world, even wearing
> just my admin hat and not my programmer's hat.

Well, you *have* a programmers hat. That makes you different from most site
admins.

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

I understand that. And I guess it could be created that way. However, it is
not just a question of text or GUI. It's also a question about what it does
and how complicated it is. In this case, what is accomplished is to "turn
on" applications. The amount of actual data in the confoguration file is
akin to one bit per product, namely "on" or "off". To switch this bit, a
whole row of code has to be entered.
The complexity of what is accomplished is not matched in any way by the
complexity of what you have to do to accomplish it. That just doesn't make
any sense. The only practical effect of it is that you will mistype the
configuration statements and have to restart the server again.

If the configuration would in any way be even half-complex, containing
different parts and maybe having some type of internal structure with
subdivisions or so, then I much easier see the point of having text based
configuration files. But  in this case it is just a case of listing a set of
products to enable them.