Nick Kew wrote:

But before that, we need a vision of where we're going,
and how to get there without breaking what we've got.

 * server_conf goes away.  Modules have zero or more "conf" sections,
   essentially today's misnamed dir_conf, which are initialized and
   merged as they are today.  Either using simple-wrappers or custom.

 * we lose nothing, any module can rerun the conf merge conditionally
   (see mod_proxy today, or method, or the new <if implementation).

 * modules may pre-merge things to optimize them.  E.g. mod_vhost will
   pre-merge all of our <VirtualHosts > such that there is no run time
   penalty for vhosts.

 * particular merges should remain, as they are today, as a modular
   assemblage of features.  If your server will never serve files, there
   is no reason to compile in mod_filesystem e.g. <Files and <Dir mergers.
   No mod_vhost?  Then no <VirtualHost support.

 *** there must be sufficient hooks so that a lua, perl or m4 wrapper
     can participate in parsing the config.  TBD if that exists today.

I don't see any such vision in this discussion.

Go back to my post from last night.  Not saying there's agreement, just
some vision.

I know folks are thinking "wow, I want to put my favorite [Lua] language
parser into httpd core!"  Well that's fine for some users, but at the
very same time, you have a huge crowd of perl users, mod_macro users, etc.

Based on httpd's design, you are SUPPOSED to be able to plug whichever
wrapper you like into the core.  Overloading the core is taking httpd
into an entirely different direction.  Just look at the effort we've
already expended is splitting cache from proxy, auth components from
one another, proxy capabilities from one monolithic module.

For that matter, plug in an XML syntax parser.  We aren't quite there
because we don't have the concept of named-arguments.  Fix that across
the entire spectrum of modules.  E.g. instead of TAKE2, we have some
tuple for alias such as (TAKE2, "uri-path", "file-path", NULL) which
will facilitate more deliberate parsers and conf authoring.  And that
is without breaking today's syntax.

Bill

Reply via email to