[Mailman-Developers] templating, search, and stuff...

David Jeske jeske@chat.net
Fri, 5 Apr 2002 10:10:53 -0800


On Fri, Apr 05, 2002 at 10:19:09AM -0500, Barry A. Warsaw wrote:
> >>>>> "DJ" == David Jeske <jeske@chat.net> writes:
> 
>     DJ> Also, in fishing through the TODO list, I notice that adding
>     DJ> some kind of templating system is still on there.
> 
> Improving the templating system (for MM3) is more than just picking
> one and going with it.  The real issue is that folks want to put all
> kinds of web skins on Mailman, to integrate them into their own way of
> managing their sites.  

First off, it's no skin off my back, I don't run or administer
mailman, I just interact with them on several mailing lists so I'm
happy to help out.

However, if you look at Clearsilver, you'll find that it was designed
to handle exactly this kind of skinning. We used it for cobranding and
OEM deals back at eGroups. While integrating into Yahoo, we ran the
old eGroups version of the UI in Japanese for six months while running
every other language in the new "Yahoo UI", on the same codebase. It
really excels at this. The majority of the "skinning" of the UI to the
Yahoo look and feel took one engineer less than 10 days.

> Some people don't care about the integration, and for them we can
> pick a Good One and use that as the default.  But they've got to be
> able to chuck it, design their own web interface, and integrate it
> easily into Mailman.  For that we need APIs, a clean architecture,
> and component-like system.

If you read my paper on "dataset driven templating", you'll find that
this is exactly what Clearsilver provides, in an extremely fast and
easy to use package. There are other template systems that do this
also, but for integrating with Python, Clearsilver is the fastest and
most mature way to go.

http://www.clearsilver.net/docs/apples_to_oranges.hdf
http://www.clearsilver.net/docs/man_templates.hdf

The "dataset" (like a simpler form of XML) is your API. It sits
between the application logic and the page template, and allows you to
easily skin the application.

There are some advantages to using XML/XSLT instead, namely because
you can write an XML schema and typecheck the XML output. However,
considering Mailman is written in Python, I figure you all understand
the development ease gained by using an untyped system over a typed
one for small-ish projects like this.

Anyhow, I'm not here to get into an off-topic templating thread. I
just saw that Mailman still didn't have templates and I figured I'd
offer up some assistance.

-- 
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net