On 2/14/07, Paul Querna <[EMAIL PROTECTED]> wrote:

- Rewrite how Brigades, Buckets and filters work.  Possibly replace them
with other models. I haven't been able to personally consolidate my
thoughts on how to 'fix' filters, but I am sure we can plenty of long
threads about it :-)

I think a big part of this should be documenting how filters are
supposed to interact with the rest of the system.  Right now it seems
to be very much a "well, I looked at this other module and did what it
did", and it's quite easy to start depending on behavior in the system
that isn't actually documented to work that way.

- Build a cleaner configuration system, enabling runtime
reconfiguration. Today's system basically requires a complete restart of
everything to change configurations.  I would like to move to an
internal DOM like representation of the configuration, but preserve the
current file format as the 'default'. (Modules could easily write an XML
config file format, or pull from LDAP).

This seems like a rather invasive change.  Virtually every module
currently caches configuration info into global variables.  Are we
expecting these modules to dynamically query the core config system
whenever they want to access this sort of information?  What will the
performance implications of this sort of thing be?

- Experiment with embedding scripting languages or something like
Varnish'es VCL if and where it makes sense. (Cache Rules, Rewrite Rules,
Require Rules, and the like).

This seems like a Good Idea (tm).

- Promote and include a external-process communication method in the
core.  This could be used to communicate with PHP, a JVM, Ruby or many
other things that do not wish to be run inside a highly-threaded and
async core.  The place for large dynamic languages is not in the core
'data router' process. Choices include AJP, FastCGI, or just HTTP.  We
should optionally include a process management framework, to spawn these
as needed, to make configuration for server administrators easier.

+1

-garrett

Reply via email to