Fully Zope-based Mailman Version

Hello everyone,
I just had a look into Mailman again. The API seems to be very clear, even though I could not find any UML diagrams anywhere. However I found out that porting Mailman to Zope (as a Python Product) might be a very simple task. Due to the nature of the project, the implementation phase could be setup in a couple of independent steps:
- Convert the HTML screens to Zope DTML and connect the functionality to Mailman.
- Move storage of list and user info to the ZODB
- Move archives to the ZODB.
- Create a nice installer that can bind the latest Mailman release with Zope.
I think a first alpha release could be produced in about 40-60 hours and the full-fledged Mailman Distribution beta in about 1.5 man-month (270 hours).
In fact most of the API would not even need to change, since we just need to insert our modified API at specific places, such as database connectivity and saving processes.
Later we could even provide a Mailman UserFolder and search functionality for the archive. For people that do not think that the ZODB is up to handling large archives, DBObjects could be used for transparent R2O mapping from PostGreSQL (or any other RDB).
The reason I write is, because I wanted to know whether someone would be interested in helping with this project, that would start after mid-December... Help can be offered in terms of programming or financial support of course.
Regards, Stephan
-- Stephan Richter CBU - Physics and Chemistry Student Web2k - Web Design/Development & Technical Project Management

- Convert the HTML screens to Zope DTML and connect the functionality to Mailman.
Okay, I just wrote a proof of concept by simulating the admin intro screen and it works just fine. The most amount of work will come from the HTML page translations into DTML.
If you want to know how to setup and run Mailman for Zope, please send me an E-mail privately.
Regards, Stephan
-- Stephan Richter CBU - Physics and Chemistry Student Web2k - Web Design/Development & Technical Project Management

Stephan Richter wrote:
- Convert the HTML screens to Zope DTML and connect the functionality to Mailman.
Okay, I just wrote a proof of concept by simulating the admin intro screen and it works just fine. The most amount of work will come from the HTML page translations into DTML.
Can I suggest you use ZPT rather than DTML and make your life easier in the long run?
cheers,
Chris

At 03:55 PM 12/2/2001 +0000, Chris Withers wrote:
Stephan Richter wrote:
- Convert the HTML screens to Zope DTML and connect the functionality to Mailman.
Okay, I just wrote a proof of concept by simulating the admin intro screen and it works just fine. The most amount of work will come from the HTML page translations into DTML.
Can I suggest you use ZPT rather than DTML and make your life easier in the long run?
I haven't looked at ZPT at all yet, simply because I did not have to and usually my DTML is minimal, since I develop all logical features in Python in anyway. However, now that it becomes Zope Core Component that might be a possible choice. How do you think will ZPT be better (other than that DTML is not the future)? I just installed ZPT on the Mailman-Zope installation. I would like someone on the mailing list to convert the manage_admin.dtml script to manage_admin_zpt (I created the bare script already) inside this Zope Installation. I will give you the necessary access once you reply.
Mmmh, actually, if you (anyone) is willing to work on it, what the heck, I give you FTP access (the restriction is that I have to know you from previous discussions) to the Zope Tree/Products as well, so you can start making some progress there as well.
I will not have much time until exams are over, so I do not want to kill the momentum I seem to have generated (seeing my personal Inbox). I welcome everyone to help with the coding and will do my best to support you.
Regards, Stephan
-- Stephan Richter CBU - Physics and Chemistry Student Web2k - Web Design/Development & Technical Project Management

At 11:21 AM 12/2/2001 -0600, Stephan Richter wrote:
Mmmh, actually, if you (anyone) is willing to work on it, what the heck, I give you FTP access (the restriction is that I have to know you from previous discussions) to the Zope Tree/Products as well, so you can start making some progress there as well.
Cool, eight (8) people have now already access to my little development installation. Could this be a way of Extreme Programming remotely over the net? Well, I am certainly open for the test drive!
Mmh, of course problems can arise in terms cancelling each others work, but if you work with versioning and CVS (for the Python Code maybe), you should be able to avoid that (assuming that everyone creates their own username, once they are in). It is certainly not made for a long-term condition, but I believe it will be great to address the most obvious initial issues. Once they are solved a design can be made with some "Getting Started" instructions and everyone can develop on their local machine. But I would still keep the test-Zope up and running, so people can check-in and test their latest advancements and there will be always a place where the latest functional code is publicly viewable and executable. Security is of course another issue, this is why I limited the access a little bit. But I think one must calculate with some of the security risks in order to increase development performance.
That's it for now. If you want to be part of this little experiment, E-mail me and I give you the info you need.
Regards, Stephan
-- Stephan Richter CBU - Physics and Chemistry Student Web2k - Web Design/Development & Technical Project Management

[I've changed the CC's to zmailman and mailman-developers, leaving zope-dev out of this for now. -BAW]
There's been a lot of traffic about this over the weekend, so my responses may be a bit fractured. Let me start with two things: first, way cool Stephan! Thanks for putting together this list and doing the prototyping.
Second, for now, let's talk about Mailman 2.1 and beyond. What would be neat is if a Mailman3 played nicely with a Zope3. Given where each project is headed, I think that's entirely doable.
"SR" == Stephan Richter <srichter@cbu.edu> writes:
SR> I just had a look into Mailman again. The API seems to be very
SR> clear, even though I could not find any UML diagrams
SR> anywhere.
Nope, there are no UML diagrams, or any internals documentation except for the source. And even that has gone through a lot of changes for MM2.1, hopefully to make things cleaner, and to provide interfaces in many cases (although not everywhere).
SR> 1. Convert the HTML screens to Zope DTML and connect the
SR> functionality to Mailman. 2. Move storage of list and user
SR> info to the ZODB 3. Move archives to the ZODB. 4. Create a
SR> nice installer that can bind the latest Mailman release with
SR> Zope.
All but the last have long been goals of mine. Not to /require/ Zope for Mailman, but to enable an easy integration of them. I think MM2.1 should make things easier, because of the membership API and other APIs.
More to follow...
-Barry

On Tuesday 04 December 2001 15:16, you wrote:
Second, for now, let's talk about Mailman 2.1 and beyond. What would be neat is if a Mailman3 played nicely with a Zope3. Given where each project is headed, I think that's entirely doable.
Playing nice is a great ideal, but I hope it never becomes a dependent relationship.

"PB" == Phil Barnett <midnight@the-oasis.net> writes:
>> Second, for now, let's talk about Mailman 2.1 and beyond. What
>> would be neat is if a Mailman3 played nicely with a
>> Zope3. Given where each project is headed, I think that's
>> entirely doable.
PB> Playing nice is a great ideal, but I hope it never becomes a
PB> dependent relationship.
No, it won't. But I suspect that the bulk of the work to get them to easily integrate will translate to other people who want to integrate Mailman with their own backend systems.
it's-all-about-the-api's-ly y'rs, -Barry

On Wed, 5 Dec 2001, Barry A. Warsaw wrote:
No, it won't. But I suspect that the bulk of the work to get them to easily integrate will translate to other people who want to integrate Mailman with their own backend systems.
<Wave> (php and mysql here)
it's-all-about-the-api's-ly y'rs,
Yep :-)
-Dale
participants (5)
-
barry@zope.com
-
Chris Withers
-
Dale Newfield
-
Phil Barnett
-
Stephan Richter