httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxime Petazzoni <maxime.petazz...@bulix.org>
Subject mod_mbox development plan
Date Sun, 03 Jul 2005 02:46:56 GMT
Hi,

As you probably already know, a couple of students will be working on
ASF projects during the summer within Google's Summer Of Code
program. I have the chance to being one of the few selected for this
adventure, and I will be working on improving mod_mbox's interface.

Members of the mod_mbox development mailing list (mbox-dev@httpd) have
recently decided to shutdown the list and fall back to this one in
order to have a larger audience for comments and ideas. Today, I would
like to take advantage of this new audience and write a RFC for what
we could call a "development plan" for mod_mbox.

First, let's do a quick state of the art. The last version of mod_mbox
is httpd-mbox 0.1, released July 17, 2001 (according to project's
STATUS file). It's currently set up and serving ASF mailing lists
archives at http://mail-archives.apache.org/mod_mbox/ . mod_mbox only
serves archives for *one* mailing list : the "lists list" page is not
auto-generated.

The output generated by mod_mbox is very simple : basic XHTML 1.0
(non-validating), no Css stylesheet. It's neither user-friendly, nor
very usable.

The main goal of my SoC project is to enhance mod_mbox's interface by
using newer web development techniques and/or technologies, while
avoiding any noticeable slowdowns.

The first thing that has to be done is, of course, get rid of the hard
coded HTML and switch to something more flexible. Two main solutions
are available :

 - a template system such as ClearSilver
 - XML + XSLT

Since I already have a good knowledge of XML and XSLT, I chose these
technologies for mod_mbox's output. Making the necessary changes to
mod_mbox was a good introduction to it's source code, and I already
sent the resulting patch (also featuring email obfuscation).

The DTD is not yet written for mod_mbox's XML output format because
what has currently been done may need changes (I'm far from being an
expert in XML data semantics).

XML output brings about another question : where should the XSL
transformation be done ? Two solutions are available :

 - server side processing with mod_transform. No slowdown thanks to
the XSLT caching feature. This solution has two main drawbacks :

   * The client receives HTML code instead of XML, which will make
additional features such as dynamic interface (with AJAX) difficult or
impossible to implement (since we don't know what the DOM tree will
look like after the XSL transformation, we can't implement DOM dynamic
updates)

   * mod_transform is not part of the HTTPd project yet. It needs to
be compiled, installed and setup separately. Using server side
processing would bring a dependency to an "unofficial" 3rd party
module.

 - client side processing : just give the XML output and the XSLT to
the client's browser, and let it manage the transformation itself. On
the one hand, this solution allows nice (and wanted) features that
AJAX could provide ; on the other hand, it requires an XSLT capable
browser (Gecko-based).

In the light of the above, I personally prefer the client-side
processing solution. Anyway, I've tested and now know how to set up
both of these solutions.

The XML output is a good start, but it's not enough to make mod_mbox's
interface good enough : we need more interactivity, especially when
browsing mail threads. The AJAX (Asynchronous Javascript and XML)
development technique is an interesting solution to this need. By
providing a quick, neat and dynamic interface, it can make the archive
browsing more user-friendly.

I'm currently making some AJAX experiments (I've never used it before,
but I'm here to learn :) in order to figure out what it can do for
mod_mbox and how. I'm working on an interface mockup that I'll soon
submit for review, too.

There are some other things I'm planning (or willing) to do on
mod_mbox. I've attached my local and up-to-date STATUS file for
additional information.

Connection closed by brain.localdomain. That's all for tonight ! Ideas
and/or comments are welcome.

Regards,
- Maxime Petazzoni

-- 
Maxime Petazzoni (http://www.bulix.org)
 -- gone crazy, back soon. leave message.

Mime
View raw message