Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 42473 invoked from network); 3 Jul 2005 02:47:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Jul 2005 02:47:08 -0000 Received: (qmail 15810 invoked by uid 500); 3 Jul 2005 02:47:05 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 15761 invoked by uid 500); 3 Jul 2005 02:47:05 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 15748 invoked by uid 99); 3 Jul 2005 02:47:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jul 2005 19:47:05 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [81.56.215.125] (HELO mail.bulix.org) (81.56.215.125) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jul 2005 19:47:06 -0700 Received: from natulte.net ([213.41.159.176] helo=skikda.appart.bulix.org) by frog with smtp (Exim 4.51) id 1DouVV-0007xe-1g for dev@httpd.apache.org; Sun, 03 Jul 2005 04:46:57 +0200 Received: by skikda.appart.bulix.org (sSMTP sendmail emulation); Sun, 3 Jul 2005 04:46:56 +0200 Date: Sun, 3 Jul 2005 04:46:56 +0200 From: Maxime Petazzoni To: dev@httpd.apache.org Subject: mod_mbox development plan Message-ID: <20050703024246.GA5743@bulix.org> Reply-To: maxime.petazzoni@bulix.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Wb5NtZlyOqqy58h0" Content-Disposition: inline User-Agent: Mutt/1.5.9i X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Wb5NtZlyOqqy58h0 Content-Type: multipart/mixed; boundary="TD8GDToEDw0WLGOL" Content-Disposition: inline --TD8GDToEDw0WLGOL Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline 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. --TD8GDToEDw0WLGOL Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename=STATUS Apache httpd-mbox STATUS: -*-text-*- Last modified at [$Date: 2004-11-25 22:54:03 +0100 (Thu, 25 Nov 2004) $] Release history: 0.2 : currently under development [SoC] 0.1 : released July 17, 2001 Release showstoppers: * S/MIME support needs to be implemented in order to handle all kinds of emails correctly. * Funky charsets in From: header should be parsed, converted and displayed correctly. * AJAX browsing interface Other known issues / ToDo: * Documentation - For developpers : internals - For admins : setup and update - For users : usage, interface description, ... Wish list: * Better integration with httpd-2.0 build system. * Interface internationalization (in XSLT) * Better XML semantics ? --TD8GDToEDw0WLGOL-- --Wb5NtZlyOqqy58h0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFCx1Ge7KsOe4Pmrg0RAn4cAJ9ojQ4XlqCFpbYDTf/o/3feNMEGswCfR9YZ NoivtiVdblocZ0NeVozLtcI= =5XUM -----END PGP SIGNATURE----- --Wb5NtZlyOqqy58h0--