Hi, As promised, here comes a description of my plans on mod_mbox new user interface.
First of all, it is very important that mod_mbox works with all browsers (in the idea of "Best viewed with all browsers"). This is why I will distinguish two modes : - the classic, Javascript-less interface - the JS-powered AJAX browser. The homepage of a mailing list archive will display the list of available mailboxes (as it does now), and for each mailbox, it will propose something like this : July 2005 Browse (242 messages) (or browse by date, author or thread) Each of the three bottom links (date, author, thread) are links to the simple interface. This line may be displayed smaller than the "main" link. There is not much to say about the classic interface. It's a kind of compatibility mode, and it will works exactly as the current version of mod_mbox : browse by date, author and thread, viewing individual message once at a time, etc. URIs for this mode are (base: /YYYYMM.mbox/) : /date /thread /author /<message_id> All these URIs reply with XHTML contents (or whatever output format we choose). The browser will be very different. After you've choosed the mailbox you want to browse, it will load a very simple XHTML page with an onLoad Javascript function, located at /YYYYMM.mbox/browser. This function will make a first request to grab the mailboxes list and display it in a sidebar on the left. Each mailbox has is linked to its corresponding browsing interface, and the current one is highlighted. Then, it will make another request to grab the message list, and display it in the main part of the page, in the default sort format : threads. +---------------+ +------------------------------------------------+ | Box list | | Message list Threads | Authors | Date | +---------------+ +------------------+------------------+----------+ | Jul 2005 242 | | Maxime Petazzoni | mod_mbox | Jun 26th | |*Jun 2005**561*| | Paul Querna | Re: mod_mbox | Jun 27th | | May 2005 478 | | In the message list box header, links for changing message list sort order. These links do not make any request to the server, the Javascript will do the job. When the user clicks on a message, the message list collapse to a ten lines message context, and a new box appears under the message list to display the mail. Mail contents are fetched by a Javascript request. The current message is highlighted in the message list. In the message view box header, links for next and previous message (in current sort order), and a 'X' to "close" the message, and re-expand the message list. This features requires some "backend" URIs that mod_mbox must handle. These URIs will be answered with XML contents. They will be (still based on: /YYYYMM.mbox/) : - Box list : /ajax/boxlist Reply : <mailboxes> <mbox year="2005" month="07" msgs="242" /> <mbox year="2005" month="06" msgs="561" /> <!-- the rest ... --> </mailboxes> The year split I added recently will be deleted since it's not a good XML structuration. - Message list : /ajax/msglist Reply : <messages> <thread> <mail id="..." linked="0"> <from>[EMAIL PROTECTED]</from> <strfrom> Maxime Petazzoni <[EMAIL PROTECTED]> </strfrom> <subject>mod_mbox</subject> <date>Sun, 26 Jun 2005 17:42:42</date> </mail> <thread> <mail id="..." linked="1"> ... </mail> </thread> </thread> </messages> The linked parameter is set to 0 if the message comes from another mailbox, but the replies are in the current one. In this example, the current mailbox could be July 2005, and the second mail replies to a mail from June 2005. - Message : /ajax/<message_id> <mail> <from>[EMAIL PROTECTED]</from> <strfrom> Maxime Petazzoni <[EMAIL PROTECTED]> </strfrom> <subject>mod_mbox</subject> <date>Sun, 26 Jun 2005 17:42:42</date> <smime> <smime id="1"> <attach id="1" type="text/plain" name="Message" /> <attach id="2" type="text/plain" name="mod_mbox.patch" /> </smine> <attach id="2" type="application/pgp-signature" name="OpenPGP Signature" /> </attachments> <contents> Hi, This is a signed S/MIME mail with an attached patch ! - Sam </contents> </mail> Well, I think that's all I need to say on the browser. I know this may not be perfect, so feel free to comment and criticize, especially the XML replies. - Sam -- Maxime Petazzoni (http://www.bulix.org) -- gone crazy, back soon. leave message.
signature.asc
Description: Digital signature