I started to setup the environment for working with mailman3 for the Google Summer of Code.
First I set up this blog, for keeping all interested people up to date with the ongoing development during this summer. I will post a weekly status report about recent changes.
About the project
The plan for this summer is to enhance the possibilities of the mailman archive. Currently mails are stored in a mbox file on the file system and some simple and static web pages are generated. Reading the archive is not very comfortable and it is not easily possible to reply on single messages from the archive.
One feature, that is requested by many users, is the ability to access the archives of a mailing list with an NNTP client. The public mailing list achiever GMANE already has such a feature, but it requires to have a public mailing list and the archive is world wide available. It would be an great possibility to read the archives with a personal client and to have features like threading or a search function. It should also be possible to reply to archived messages the same way as if you received the message directly as a mail.
Another feature, that should be possible with an NNTP access, would be the synchronization. Some mailman servers could sync their messages over the NNTP protocol. Maybe this would make a few setup across different sites with a single link in between.
First I would like to create a NNTP server. There is a NNTP module in twisted (see twisted.news.nntp), but sadly the module is not very good documented and should be tested whether it works for this purpose.
After the basic function of the NNTP server is ensured, it should be coupled with mailman. Therefor the mails have to be stored to be accessible from the server. Currently every module generating an archive (currently it is only one module) saves the mails on there own. This should be changed. It would not be great to store each mail twice (once for the web archive, once for the NNTP server) or even more.
For private mailing list it should be possible to access the archive with an username and a password. The first implementation will be simply using the data, that is already available. So each user, that want to read the archive have to register like any other user, but maybe want to disable the email delivery. Later maybe it should be possible to create NNTP only accounts.
If it is possible to read mails from the archive using NNTP, the next step would be to enable the posting via the NNTP server. It should be possible to send the messages via NNTP to mailman.
For public lists that do not require authorization to access the archives, messages posted via NNTP should get into the moderation queue. There are some ideas for addition rules, that could be implemented later. Additionally to that anonymous delivery, it should be possible for the users to authenticate themselves using the existing user data (like accessing archives of private lists).
The last step during this summer could be the implementation of the synchronization between multiple servers using the NNTP protocol.
Okay. The list of tasks is long and I will keep you up to date. The next days you could expect an article about the installation of mailman 3 for documentation. Anyway, next week I will present some progress working on the tasks.