Revision 4 as of 2006-06-21 14:24:17

Clear message

Ethan Fremen has been accepted by Google to work on the Web UI for mailman in 2006. The project will port mailman's web interface to one implemented in Kid in order to improve the I and enable better handling of i18n.

Status June 21, 2006

After realizing how utterly horked the current templating situation is, I've started redoing the templates as xhtml/kid.

  • There's a mismash of MM- pseudo tags, python str/dict replacement.
  • Many pages are generated by a sort of proto-dom.
  • All the pages are these mid-90's tag soup, with UPPER CASE TAGs

Plan / Observations

Plan

  • Use web standards, kid and mod_python to deliver a superior HTTP user experience.

Observations

Existing templating situation

  • There's a mismash of MM- pseudo tags and python str/dict replacement for variable substitutions.
  • Many pages are generated by a sort of proto-dom.
  • All the pages are mid-90's tag soup, with upper case and lower case tags and invalid html attributes.
  • Many pieces of code generate strings with html markup. This breaks the first law of templating, an

 

Timeline

  • May 23 - 28: Convert Mailman interface to use Kid, retaining all functionality as-is.
  • May 29 - June 9: Change i18n approach to one that leverages gettext.
  • June 12 - 16: Write templates to provide a navigation interface for archive browsing. Write templates to provide an RSS/Atom feed for mailing lists.
  • June 19 - 23: Polish documentation for interface changes and deliver mid-term release.
  • June 26 - 30: Provide consistent navigation throughout the Mailman interface, working from the navigation templates built for the archives. Enhance the Administrator's user listing to allow for bulk modification and to highlight users that have been set nomail.
  • July 3 - 14: Change the mailman 'options' from being a set of Text:Action pairs presented in a two-column table to one that uses the available space more effectively to present the most important options to the user. Don't display options not available to the user.

  • July 17 - 21: Collapse pages, e.g the default admin/listinfo pages, that should be the same page.
  • July 24 - 31: Separate pages into pieces that can comfortably be embedded into non-Mailman pages. Add kupu/tinyMCE page-editing, easy support for stylesheet changes, site and list specific themes.
  • August 1 - 4: Update documentation to reflect changes.
  • August 7 - 11: Integrate any revision suggestions and make a second release.
  • August 14 - 21: Accommodate schedule slippage and add additional documentation / release / integration / upgrade code as necessary.