<quote who="Barry Warsaw">
While the 2.1 approach is a step in the right direction (I have an experimental BerkeleyDB-based backend checked into the cvs head), there are a few problems with it:
- It is a pretty inefficient interface for some tasks, most notably the admin membership management u/i. To build this u/i it has to load the entire user database into memory, even to display just a chunk of 30 addresses.
I sort of suspected this when I first started hacking on it, but wanted to get my hands dirty before saying anything about it. Would you want backends to provide iterators? I guess it's a moot point considering what you say next:
- The design is still list-centric. While I believe you could implement a backend that unifies the user database (e.g. barry@zope.com on list1 has the same user profile as barry@zope.com on list2), I want to make this much more evident in the interface designs. I want to invert the focus of Mailman from being list-centric to being user-centric.
*yes!* :-) That would provide so many plusses both for users and the code. It would be a really good change, one I've been thinking about here and there whilst doing the LDAP backend. It would definitely make integration with different backends easier.
One thing I'm working on at the moment is list abstraction, so you can store all of the list information in different formats (I'm primarily interested in LDAP at the moment. With a few changes, there is the potential for dynamic membership too (ie. "the members of this list are found via this LDAP query").
I can't do all of this within the scope of my current contract, so if anyone's interested in LDAP integration, seriously scalable backends, or paying someone to help with the changes Barry describes above, please get in touch. :-)
I wonder if we can start talking about how to get the community to take over more of the maintenance of the 2.1 branch so that I can start concentrating on the 3.0 work? Trying to do both in my spare time is difficult.
That's possibly a good entry point for me, though I'm not too familiar with the rest of the codebase (beyond lists/members, backends, etc). I'm also pretty swamped with GNOME stuff too. But we'll see. :-)
Thanks,
- Jeff
-- linux.conf.au 2004: Adelaide, Australia http://lca2004.linux.org.au/
"When you're running, you want to run as far as you can, and you can't run further than Australia." - Jacek Koman