[Python-Dev] comp.lang.python.announce

Markus Fleck fleck@triton.informatik.uni-bonn.de
Thu, 20 Apr 2000 09:02:33 +0200 (MET DST)


Barry A. Warsaw:
> What it sounds like Markus is proposing is that the official Usenet
> moderator address would be a mailing list.  It would be a closed
> mailing list whose members are approved moderators, with a shared
> Mailman alias.  Any message posted there would be held for approval,
> and once approved, it would be injected directly into Usenet, with the
> appropriate magic header.

Exactly. (In fact, each approved message could be both posted to Usenet and
forwarded to the subscription-based shadow mailing list at the same time.)

> I think I know what I'd need to add to Mailman to support this, though
> it'll be a little tricky.  I need to know exactly how approved messages
> should be posted to Usenet.  Does someone have a URL reference to this
> procedure, or is it easy enough to explain?

Basically, you need two headers:

 Newsgroups: comp.lang.python.announce
 Approved: python-announce@python.org

The field contents of the "Approved:" header are in fact never checked for
validity; it only has to be non-empty for the message to be successfully
posted to a moderated newsgroup. (BTW, posting to the "alt.hackers"
newsgroup actually relies on posters inserting "Approved: whatever" headers
on their own, because "alt.hackers" is a moderated newsgroup without a
moderator. You need to "hack" the Usenet moderation mechanism to be able to
post there. :-)

Because of the simplicity of this mechanism, no cross-posting to another
moderated newsgroup should occur when posting an approved message to Usenet;
e.g. if someone cross-posts to comp.lang.python, comp.lang.python.announce,
comp.os.linux.misc and comp.os.linux.announce, the posting will go to the
moderation e-mail address of the first moderated newsgroup in the
"Newsgroups:" header supplied by the author's Usenet posting agent. (I.e.,
in this case, clpa@starship.skyport.net, if the header enumerates newsgroups
in the above-mentioned order, "c.l.py,c.l.py.a,c.o.l.a,c.o.l.m".) Ideally,
the moderators (or moderation software) of this first moderated newsgroup
should split the posting up accordingly:

  a) remove names of newsgroups that we want to handle ourselves (e.g.
     c.l.py.a, possibly also c.l.py if cross-posted), and re-post the otherwise
     unchanged message to Usenet with only a changed "Newsgroups:" header
     (Headers: "Newsgroups: c.o.l.a,c.o.l.m" / no "Approved:" header added)
     -> this is necessary for the message to ever reach c.o.l.a and c.o.l.m
     -> the message will get forwarded by the Usenet server software
        to the moderation address of c.o.l.a, which is the first moderated
        newsgroup in the remaining list of newsgroups

  c) approve (or reject) posting to c.l.py.a and/or c.l.py
     (Headers: "Newsgroups: c.l.py.a" or "Newsgroups: c.l.py.a,c.l.py" or
     "Newsgroups: c.l.py" / an "Approved: python-announce@python.org" header
     may always be added, but is only necessary if also posting to c.l.py.a)
     According to the c.l.py.a posting guidelines, a "Followup-To:" header,
     will be added, if it doesn't exist yet, pointing to c.l.py for
     follow-up messages ("Follow-Up: c.l.py").

While a) may always happen automatically, prior to moderation, and needs to
be custom-tailored for our c.l.py.a/c.l.py use case, the moderation software
for b), i.e. Mailman, should allow moderators to adjust the "Newsgroups:"
header while approving a message. It might also be nice to have an
"X-Original-Newsgroups:" line in Mailman with a copy of the original
"Newsgroups:" line.

Regarding headers, usually e-mail will allow and forward almost any
non-standard header field (a feature that is used to preserve the
"Newsgroups:" header even when forwarding a posting to an e-mail address),
but the Usenet server software may not accept all kinds of headers, so that
just before posting, only known "standard" header fields should be
preserved; any "X-*:" headers, for example, might be candidates for removal
prior to posting, because some Usenet servers return strange errors when a
message is posted that contains certain special "X-*:" headers. OTOH, AFAIK,
the posting agent should generate and add a unique "Message-ID:" header for
each Usenet posting itself. But if you have a Usenet forwarding agent
already running, much of this should be implemented there already.

Okay, now some links to resources and FAQs on that subject:

  Moderated Newsgroups FAQ
  http://www.swcp.com/~dmckeon/mod-faq.html

  USENET Moderators Archive
  http://www.landfield.com/moderators/

  NetNews Moderators Handbook - 5.2.1 Approved: Line
  http://www.landfield.com/usenet/moderators/handbook/mod05.html#5.2.1

Please e-mail me if you have any further questions.

Yours,
Markus.