[Mailman-Developers] GSoC 2012 - NNTP archive access

Barry Warsaw barry at list.org
Sun Apr 1 21:05:15 CEST 2012


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/mailman-developers/attachments/20120401/22c2617f/attachment.pgp>


More information about the Mailman-Developers mailing list