[Mailman-Developers] "Orignal" MySQL Member Adaptor - 1.71

Barry Warsaw barry at list.org
Fri Sep 26 23:45:58 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sep 26, 2008, at 1:48 PM, kyrian (List) wrote:

> Don't get me wrong here, I want the same as everyone else; excellent  
> quality SQL support integrated into Mailman. (note SQL, not MySQL,  
> as a portable backend system is not used by my original adaptor  
> [it's using the MySQL-specific MYSQLdb?] or I believe your fork of  
> it!?), and I don't mind that you have snarfed my code and extended  
> it in your own way, I'm glad of it. I'd just like a credit that  
> 'real' users might actually read ;-)

Note that Mailman 3 is backed by the Storm ORM <http://storm.canonical.com 
 >.  Storm supports SQLite, MySQL and PostgreSQL out of the box, and  
it is my intent that MM3 should support all three out of the box, with  
either a simple configuration setting or at most a plugin written  
against documented and supported APIs.  All the current tests use  
SQLite since that comes with Python 2.5.

I would welcome developers to download and try the code, and to submit  
branches or patches that improve the compatibility with MySQL or  
PostgreSQL.  I personally have not tried it with either database.

> In order for that to happen, and for either version to be  
> incorporated into Mailman 'proper', an agreement needs to be reached  
> (and I may be out of date here, and one already has) betwen you,  
> perhaps me, and the core mailman developers about how to solve at  
> least the following:

IMO, Mailman 2.2 should not change the pickle-based approach to  
persistency.  I also think we should be careful about changing any  
APIs to the data model that MM2 uses internally.  Mark is an excellent  
programmer and tests the code very well, but I always cringe when I  
think about how few unit tests there are in the MM2.x code base.    
That's another mistake of mine that I'm trying to correct in MM3.

Mailman 3 also uses Zope interfaces heavily, and the code is careful  
to be written against these formal interfaces.  In theory this should  
mean that it doesn't matter whether the data persists in a supported  
database, LDAP, Excel spreadsheet or flat files, with a properly  
written implementation of those interfaces, it should Just Work.  Such  
implementations should be easily hooked into MM3 via its documented  
plugin interface.

I'm soon going to be undertaking a bit of reorganization of the code.   
I want to make it absolutely clear what is core functionality and what  
is add-on.  For example, pickup of email, moderation decisions,  
munging operations, and delivery are all core functionality.  Email  
commands, RESTful admin control, command line operation, web interface  
are all add-ons.  A little bit of reorganization will make that more  
clear, and I intend to release the next alpha once the core is  
functional.

> - The conflict between the old pickle way of doing things of  
> iterating over a get-singular-record method numerous times rather  
> than a grab-multiple-records-and-return-in-the-right-format which is  
> more the way SQL works effectively. Whether that's a rewrite, or  
> some way of overriding the existing methods to implement them  
> better, I don't know. Perhaps I can look into this soon. Any hints  
> from the core guys?

I hope the MM3 APIs are much more efficient for this.

> - The two pages of suggested patches and extra changes to the core  
> of mailman, eg. the CGI's and how everything should be merged  
> together.

I'm not quite sure what you're asking for here.

> - Implementation of getMembersMatching() - You *CAN* do regexps in  
> mysql ;-) Although perhaps that would necessitate use of a mysql  
> version check at instantiation time, or in the ping() function?

Can you explain what this is used for?  In MM3, the core membership  
construct is the 'roster'.  The interesting thing is that a roster is  
just a database query (for the SQL backend), so you could define any  
number of queries to answer various membership questions.

> I note that you are in France (according to whois), which isn't  
> impossibly far from London, where I am, perhaps we can get our heads  
> together on this directly, after all France is the home of  
> Kronenburg, which is a good reason for me to go there. I'm afraid I  
> can't think of any others apart from Mailman and Kronenburg,  
> though ;-)

Aside: I'm going to be in London the last two weeks of October, and  
while it'll be very work focussed, I'd love to arrange a meet-up with  
any UK Mailman hackers.

- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkjdWBYACgkQ2YZpQepbvXG9FQCfWPD5nlkiIju2aUz0MXkUxVxq
QMMAn3awr3PVSosJjgEjRx3qOThi6VgP
=lja4
-----END PGP SIGNATURE-----


More information about the Mailman-Developers mailing list