[Zope3-dev] Discussion: Configuration vs. Configuration

Guido van Rossum guido@python.org
Tue, 22 Apr 2003 13:18:08 -0400


For services and other things that live in ++etc++site, there are two
different concepts that are currently both called "configuration".

One is what *I* would call configuration: for example, the
ErrorLogging service has a "control panel" where you can configure how
many exceptions to keep and several other options.  The explanatory
text at the top of the page even uses the word "configure".  Many
other objects also have such configurations, e.g. caches, database
adapters, and the text index.

The other form of configuration is of course the "configuration
manager".  E.g. /++etc++site/default/ConfigurationManager/.  What is
configured here is the "external usage" of a service, utility, cache,
db connection, and so on.  Exactly what the configuration parameters
are here depends on what kind of object, but at minimum there's the
"activation state" (Active, Registered or Unregistered) and often a
permission; sometimes also a name and/or an interface, and/or a
component path.

The problem as I see it is that many object support both types of
configuration, so there is plenty of opportunity for confusion
(e.g. in documentation, and when talking about configuring these
objects).

I fear that it is going to be difficult to document things if we stick
with using "configuration" for both concepts.  Personally, I can't
help thinking of the former kind as configuration (the concept is not
unique to Zope), so I'm looking for a different word to use for the
latter -- but I'm open to other solutions.

--Guido van Rossum (home page: http://www.python.org/~guido/)