You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by fi...@apache.org on 2007/04/17 02:30:45 UTC
svn commit: r529457 - /httpd/sandbox/amsterdam/ROADMAP
Author: fielding
Date: Mon Apr 16 17:30:43 2007
New Revision: 529457
URL: http://svn.apache.org/viewvc?view=rev&rev=529457
Log:
organize discussion by category
Modified:
httpd/sandbox/amsterdam/ROADMAP
Modified: httpd/sandbox/amsterdam/ROADMAP
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/ROADMAP?view=diff&rev=529457&r1=529456&r2=529457
==============================================================================
--- httpd/sandbox/amsterdam/ROADMAP (original)
+++ httpd/sandbox/amsterdam/ROADMAP Mon Apr 16 17:30:43 2007
@@ -1,49 +1,81 @@
-APACHE AMSTERDAMN ROADMAP: -*-text-*-
+APACHE AMSTERDAM ROADMAP: -*-text-*-
+
+ApacheCon HACKATHON:
+
+ * Let's get one or two tables together at 10am Tuesday, May 1
ROADMAP DISCUSSION POINTS:
- (Please place new entries at the bottom)
- * Async IO Core, including a generic Event Loop, allowing modules and
- protocols to register new events and when to be notified.
+Configuration
+ * Build a cleaner configuration system based on an Object Model,
+ rather than a file/specific directives.
- * Use Serf (and its Bucket system) as the starting point for making
- filters, buckets and brigades work with the Async Core.
- <http://code.google.com/p/serf/>
+ * Investigate using small scripting languages for complicated user
+ configurable things, including Caching Rules, Rewrite Rules, and
+ AAA/Require Rules. Look at Varnish's VCL or lighttpd's mod_magnet
+ for interesting examples:
+ <http://phk.freebsd.dk/pubs/varnish_tech.pdf>
+ <http://trac.lighttpd.net/trac/wiki/Docs:ModMagnet>
+ * Stick with NCSA syntax, or change to a
+ - properties style of syntax?
+ - XML syntax?
+ - something else?
- * Break the 1:1 mapping of a worker to a single request.
+ * How about a simple configuration template mechanism, like:
+ T.generic: {
+ host.name: $host
+ host.admin: webmaster@$host
+ host.root: /home/customers/$host/www/
+ ...
+ }
+
+ myhost = T.generic[$host = "myhost.com"]
+
+
+Parent Startup
- * Investigate using Syslets for functions like stat():
- <http://lkml.org/lkml/2007/2/13/142>
+Parent-Worker Coordination (MPM)
* Refactor MPMs to split platform specific needs from the process
and thread models. A reasonable goal is to have one thread model
that runs on both unix and winnt.
+ * Provide a generic IPC or Scoreboard mechanism with an easy to use API
+ for modules and the core.
+
+ * Break the 1:1 mapping of a worker to a single request.
+
+
+Worker Front-end
* Include support for Waka, once an RFC/more details are available.
+ * Make the http protocol a module, decoupled from the core.
+
- * Build a cleaner configuration system based on an Object Model,
- rather than a file/specific directives.
+Worker Middle-end
+ * Async IO Core, including a generic Event Loop, allowing modules and
+ protocols to register new events and when to be notified.
- * Investigate using small scripting languages for complicated user
- configurable things, including Caching Rules, Rewrite Rules, and
- AAA/Require Rules. Look at Varnish's VCL or lighttpd's mod_magnet
- for interesting examples:
- <http://phk.freebsd.dk/pubs/varnish_tech.pdf>
- <http://trac.lighttpd.net/trac/wiki/Docs:ModMagnet>
+ * Use Serf (and its Bucket system) as the starting point for making
+ filters, buckets and brigades work with the Async Core.
+ <http://code.google.com/p/serf/>
+Worker Back-end
+
+ * Investigate using Syslets for functions like stat():
+ <http://lkml.org/lkml/2007/2/13/142>
+
* Investigate providing a higher level module API, which hides the
complexity of an async core. Basically, a 'simple world view' for those
that want to write a simple generator.
-
* 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
@@ -51,13 +83,9 @@
to spawn these as needed, to make configuration for server administrators
easier.
+ * VFS-like layer so things like Subversion/mod_dav don't have to fake
+ out the core handlers.
- * Provide a generic IPC or Scoreboard mechanism with an easy to use API
- for modules and the core.
-
-
- * Make the http protocol a module, decoupled from the core.
+Platform Portability
- * VFS-like layer so things like Subversion/mod_dav don't have to fake
- out the core handlers.