Re: Goals and next steps?
[email protected] (Barry A. Warsaw) Tue, 4 Dec 2001 16:09:31 -0500
| Newsgroups | gmane.comp.web.zope.zmailman |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "FWH" == Fred Wilson Horch <[email protected]> writes: FWH> Possible Goal A: Quick and dirty Zmailman hack? The goal FWH> would be just to get Mailman 2.0.8 and Zope 2.3.3 to work FWH> together. To achieve this goal we could download the code FWH> for Mailman 2.0.8, study its API, and write a few DTML FWH> screens that replace the CGI part of Mailman. We would not FWH> plan to continue to support or improve Zmailman after we got FWH> it working. That would be interesting as a proof of concept. The API that Mailman expects from its cgi isn't well defined. Essentially you can think of that as the set of attributes on the MailList object. In Mailman 2.1, these are embodied in the Mailman/Gui/*.py classes. Things are still fluid too, until Mailman 2.1 enters beta. We're better off on the membership front because there, I /have/ defined an API. Look at Mailman/MemberAdaptor.py for the interface, and Mailman/OldStyleMemberships.py for an implementation that retains the existing list-independent membership approach. I believe it would be quite easy to write a ZopeMemberships.py class that implemented the MemberAdaptor interface by storing all membership information in Zope/ZODB. Using MM2.1's list extension mechanism, you could then move lists to Zope independently. Also, because you're using ZODB, you should be able to utilize a centralized member database so all the lists share the same membership information. I.e. change your password in one place, change them everywhere! Note that there will still be parts of MM2.1 that think each list's member data is independent of other lists. My intention is to clean that up for MM3, but there's a lot of backwards compatibility that has to be dealt with in order to merge existing list member databases. FWH> Possible Goal B: Fork Zmailman? The goal would be to take FWH> some version of Mailman and fork from the main Mailman FWH> project. We'd work on our fork independently of the other FWH> Mailman hackers, with the goal of continuing to support and FWH> improve Zmailman. I'd /really/ /really/ like to avoid that, for a raft of reasons. I don't see any reason why we can't put all this work (eventually) in the Mailman core. While I don't want to /require/ Zope to run Mailman, I do want to make it trivial to integrate the two, and I firmly believe that if we design the interfaces correctly, anything we produce in this effort will help others wanting to integrate Mailman with their own web and database management systems. FWH> Possible Goal C: Improve Mailman? For some of us that's not just a goal, it's a way of life. Or maybe it's a punishment for a previous life as a mass marketer. I dunno. FWH> The goal would be to add Zope support to Mailman. We'd work FWH> with the other Mailman hackers. It would make the most sense FWH> to branch from the Mailman CVS, either the latest Mailman FWH> 2.0.x release or the new Mailman 2.1 beta. Of course, maybe FWH> the other Mailman hackers don't want to add Zope support to FWH> Mailman, in which case we won't be able to achieve this goal. The "other Mailman hackers" absolutely do want to make this work! :) However, since I'm frantically trying to find the time to finish up Mailman 2.1, I don't think it's feasible to add this stuff to MM2.1, even though I highly encourage all prototyping to be done against the 2.1 code base. Should it become worthwhile, I can create a Mailman3 branch in cvs. [While I was writing this, Stephan called me up. We had an excellent conversation -- Thanks, Stephan! -BAW] FWH> With either goal B or C we need to decide which version(s) of FWH> Zope we're aiming for now. EcoAccess runs Python 1.5.2, so FWH> anything which forces us into Python 2.x would not be our top FWH> choice. We run Zope 2.3.3 and Mailman 2.0.8 because they do FWH> not require Python 2.x. Does Mailman 2.1 require Python 2.x? Yes. Right now, Python 2.0 or better but it's also likely that Python 2.1 or better will be required. Python 2.2 support is still up in the air at the moment, but it will be supported in Mailman 2.1 (just not required). FWH> It would be great if we could aim for a Zope product that FWH> works with Zope 2.3.3 or better and Python 1.5.2 or better. That limits you to Mailman 2.0.x then, which is too bad, because a lot of this will be so much easier in Mailman 2.1. -Barry