Hi,
I would like to participate at the google summer of code this year for mailman. While reading through the ideas in the wiki, the NNTP archive access look very interesting.
I took part in the gsoc last year for vlc, developing a c library for accessing a sony minidisc player from linux. This year vlc unfortunately got rejected from google.
What are the next steps you would propose. I unfortunately not up to date with the development of mailman 3. But I am a little bit familiar with the mailman 2 source code.
Thanks, Alexander
On Mar 27, 2012, at 09:09 PM, Alexander Sulfrian wrote:
What are the next steps you would propose. I unfortunately not up to date with the development of mailman 3. But I am a little bit familiar with the mailman 2 source code.
MM3 will be a better platform to build something like the NNTP access on. The question in my mind is whether this should be done as part of the various independent (but related) archiver projects, or whether it should be done as a separate "archiver".
In mm3, there's an API for feeding posted messages to an IArchiver, but this is quite flexible. I could imagine that something on the other end of this vended messages via NNTP instead of HTTP. The one key difference is that you'd like to be able to post to the mailing list through NNTP, with probably some additional posting rules (e.g. if you're not a member, but we "know" you, or you've been approved for posting a few times, your message wouldn't get held for moderator approval).
If I was doing this, I'd probably looks seriously at Twisted as the basis for implementing the NNTP side of things. I haven't looked in quite a while, but at the time, it had great support for NNTP server-side.
Cheers, -Barry
Hi,
On Tue Mar 27 22:52:04 CEST 2012, Barry Warsaw wrote:
On Mar 27, 2012, at 09:09 PM, Alexander Sulfrian wrote:
What are the next steps you would propose. I unfortunately not up to date with the development of mailman 3. But I am a little bit familiar with the mailman 2 source code.
MM3 will be a better platform to build something like the NNTP access on. The question in my mind is whether this should be done as part of the various independent (but related) archiver projects, or whether it should be done as a separate "archiver".
there is a second question connected with that: Should the messages be kept in an additional storage for NNTP access or should the default archiver be responsible for storage and should be extended with methods for accessing specific messages?
In mm3, there's an API for feeding posted messages to an IArchiver, but this is quite flexible. I could imagine that something on the other end of this vended messages via NNTP instead of HTTP.
This would be the scenario if implementing the NNTP access in a new archiver, separated from the other.
The one key difference is that you'd like to be able to post to the mailing list through NNTP, with probably some additional posting rules (e.g. if you're not a member, but we "know" you, or you've been approved for posting a few times, your message wouldn't get held for moderator approval).
If it should be possible to post messages over the NNTP transport, that does not match the classic design of an archiver. I do not know, whether there is an API to post messages, but eventually it would be better to implement the NNTP archive as external module, that could maybe even run on a separate server.
If I was doing this, I'd probably looks seriously at Twisted as the basis for implementing the NNTP side of things. I haven't looked in quite a while, but at the time, it had great support for NNTP server-side.
Yes, twisted should be the right choice. There is a twisted module for implementing a NNTPServer[1], but it is not very well documented. But even if it is not working, it should not be hard to implement it. The NNTP commands described in RFC3977[2] do not look very complicated.
Additional to that, there is also the question, whether it should be possible to sync a few mailman server over the NNTP protocol. That would be a possibility to do clustering for load balancing or something like that.
Cheers, -Barry
Thanks, Alex
[1] http://twistedmatrix.com/documents/current/api/twisted.news.nntp.NNTPServer.... [2] http://tools.ietf.org/html/rfc3977
BTW, the NNTP queue runner has now been ported to Mailman 3. You will need to re-run bin/buildout though, to pick up the new dependency on the mock library.
On Apr 01, 2012, at 04:08 PM, Alexander Sulfrian wrote:
MM3 will be a better platform to build something like the NNTP access on. The question in my mind is whether this should be done as part of the various independent (but related) archiver projects, or whether it should be done as a separate "archiver".
there is a second question connected with that: Should the messages be kept in an additional storage for NNTP access or should the default archiver be responsible for storage and should be extended with methods for accessing specific messages?
This is a good, but larger question. I've always thought that Mailman will require a "message store" as defined in the IMessageStore interface. What might make sense is to have a single implementation that satisfies the IArchiver and IMessageStore (and possibly other interfaces), but with a single on-disk storage. This could in fact be the thing that backs the prototype archiver.
In mm3, there's an API for feeding posted messages to an IArchiver, but this is quite flexible. I could imagine that something on the other end of this vended messages via NNTP instead of HTTP.
This would be the scenario if implementing the NNTP access in a new archiver, separated from the other.
With the above, you probably wouldn't need this except as you say, if it is a separate archiver.
The one key difference is that you'd like to be able to post to the mailing list through NNTP, with probably some additional posting rules (e.g. if you're not a member, but we "know" you, or you've been approved for posting a few times, your message wouldn't get held for moderator approval).
If it should be possible to post messages over the NNTP transport, that does not match the classic design of an archiver. I do not know, whether there is an API to post messages, but eventually it would be better to implement the NNTP archive as external module, that could maybe even run on a separate server.
Yes, now that the NNTPRunner is functional, it should be possible to set this up as posting to an NNTP service that a site could run, independent of Mailman.
If I was doing this, I'd probably looks seriously at Twisted as the basis for implementing the NNTP side of things. I haven't looked in quite a while, but at the time, it had great support for NNTP server-side.
Yes, twisted should be the right choice. There is a twisted module for implementing a NNTPServer[1], but it is not very well documented. But even if it is not working, it should not be hard to implement it. The NNTP commands described in RFC3977[2] do not look very complicated.
Additional to that, there is also the question, whether it should be possible to sync a few mailman server over the NNTP protocol. That would be a possibility to do clustering for load balancing or something like that.
That's a pretty cool idea, actually. Something fun to explore for 3.1 perhaps.
-Barry
participants (2)
-
Alexander Sulfrian
-
Barry Warsaw