This project was implemented in the 2008 Google Summer of Code. This project outline is therefore only of historical interest and you can not apply for this project in future instances of the Google Summer of Code. Please see our ideas page for a current list of GSoC project ideas.
The Mailman program is one of the most commonly used programs for adminstrating mailing lists and is usually the only installed solution on a hosted service.
Mailman is used to maintain list subscriptions where users can self register and un-register. The lists are then used for email either as a normal or moderated email list for automatic distribution. You can also have a closed use list that can only be used by moderators.
Mailman is written in Python while Geeklog is written in PHP but there is presently a Mailman project to develope a set of REST API's
In an email discussion with Bruce Warsaw of the Mailman project, he expressed that the Mailman REST API is an active project. Much of the needed API's are there now and and more work is being planned for both the 2.2 and 3.0 versions as a high priority. He is very interested in pursuing this as a SOC project.
- Develop a set of Mailman wrappers for the REST API's
- Develop a MailMan plugin
- Integrate the subscriber list admin features (add/remove) into the GL member profile
- Mailman password can be sync'ed with GL password
- List Admin Features to manage lists
- Add/Delete List (support for multiple lists)
- List Types: Public, private (GL Groups) and moderated
- Add/Remove Subscribers
- Import in subscribers
- Subscribers can be GL members and non-site members
- Moderate Lists
- Use list to send out newsetters, notifications (mailings)
- Support for HTML and text mailings
- Plugin will use the 1.5 Config Manager API's for online config admin
- Add support for as much control as possible over the pages the user would go to in order to subscribe and un-subscribe. It would be nice to always have site control over the look and feel for all the pages the user would be directed to.
- Support for both automatic registration/un-registration based on email address and authenticated mode that requires an email confirmation.
Level of Difficulty
This project will require someone to spend time understanding how Mailman works as well as how to develop a Geeklog plugin. The student will need to coordinate with the Mailman team or GSOC student assigned to work on the Mailman REST API's.
Due to slow progress on the Mailman side of this project, the resulting plugin is not fully usable at the moment. We intend to pick up work on it again once Mailman's REST API has been completed.