1
Title: Mailman Developer Resources
4
<h3>Developer Exits</h3>
5
<li><a href="http://sourceforge.net/projects/mailman">SourceForge Project Page</a>
6
<li><a href="http://www.zope.org/Members/bwarsaw/MailmanDesignNotes/">Mailman Wiki</a>
7
<li><a href="http://www.zope.org/Members/bwarsaw/MailmanDesignNotes/MailmanThreePointOh">Mailman 3.0 Wiki</a>
8
<li><a href="http://mail.python.org/mailman/listinfo/mailman-developers">mailman-developers list</a>
9
<li><a href="http://demo.iuveno-net.de/iuveno/Products/ZMailman/">ZMailman</a>
11
<h3>Developer Resources</h3>
13
If you're the kind of person who loves to get elbow deep in code,
14
there are lots of opportunities to dig into Mailman. You may want to
15
find a project on our Mailman
16
<a href="todo.html">TODO list</a> or on the
17
<a href="http://www.zope.org/Members/bwarsaw/MailmanDesignNotes/">Mailman
18
design notes wiki</a>. Because Wikis are intended to be
19
collaborative, you're free to contribute to this page in true Wiki
20
fashion. You will also definitely want to subscribe
21
to the <a href="http://mail.python.org/mailman/listinfo/mailman-developers"
22
>mailman-developers</a> mailing list.
24
<h3>SourceForge Project Page</h3>
26
Developers should start with the
27
<a href="http://sourceforge.net/projects/mailman">Mailman project at
28
SourceForge</a>. All patches and bugs should be submitted here so
29
they won't get lost, although it is also requested that you inform the
30
mailman-developers list about your submissions.
34
Some of the Mailman developers also occasionally hang out on the
35
<em>mailman</em> IRC channel at openprojects.net, though attendance
36
has been spotty lately.
42
Now that Mailman 2.1 has been released, I want to start thinking about
44
href="http://www.zope.org/Members/bwarsaw/MailmanDesignNotes/MailmanThreePointOh">Mailman
45
3.0</a>. I intend to use the wiki for most design artifacts, and the
46
mailman-developers mailing list for most discussions. The items that
47
are high on my list (which is by no means complete or definitive)
51
<li><b>Consolidated user database</b> -- A user should have just one
52
account for every mailing list they are members of at a site, and they
53
should be able to manage all their options through this account.
54
It should be possible to integrate these databases with a site's
55
existing user management system to reduce duplication of data and
58
<p><li><b>Unified template system</b> -- Mailman has a somewhat fractured
59
and inconvenient templating system, using both a homegrown HTML object
60
model in Python and coarse templates filled in with data at rendering
61
time. It can be near impossible to change the look and feel of the
62
administration pages, and a small change to the u/i of other pages
63
requires updates in all supported languages. I want to use a
64
templating system like
65
<a href="http://dev.zope.org/Wikis/DevSite/Projects/ZPT/">ZPT</a> or
66
<a href="http://www.mems-exchange.org/software/quixote/">Quixote</a>.
67
Actually, I plan to generalize the web interface so that many different
68
templating systems could be used, although we'll pick one to ship by
71
<p><li><b>A Real Database</b> -- Mailman uses an inefficient persistency
72
system based on Python pickles, and every mailing list has its own
73
pickled state. This has several disadvantages, including poor
74
scalability, difficulty in doing cross-mailing list operations, and
75
the virtual host limitation on list names. Mailman 3.0 will use a
76
real database, perhaps based on
77
<a href="http://www.zope.org/Wikis/ZODB/">ZODB</a> or
78
<a href="http://www.sleepycat.com">BerkeleyDB</a>. Again, the goal is
79
to generalize the interface to the backend database so that others can
80
be used, but choose one and ship it by default.
82
<p><li><b>Component Architecture</b> -- Zope3's
83
<a href="http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/"
84
>component architecture</a> provides some very nice organizational
85
tools and software development methodologies. We'll be adopting many
86
of these for Mailman 3.0, which will allow us to do the kinds of
87
templating and database generalization described above.
90
Stephan Richter has let an effort called
91
<a href="http://demo.iuveno-net.de/iuveno/Products/ZMailman/"
92
>ZMailman</a> for integrating Zope and Mailman. I consider this a
93
proof of concept of some of the ideas outlined above.