[net.news] Question on Distribution

darrell@drux3.UUCP (09/16/83)

We are running version 2.10.1 of the netnews software here at AT&T
Information Systems Labs in Denver.  According to the manual page for
postnews you are allowed to enter a distribution which can restrict
the locations to which a news item is submitted.  In Mark Horton's
"How to Read the Network News" it states that you can specify any
newsgroup class you want it distributed to.  I assume that if I post
an article I want distributed to just netnews sites in Colorado there
would have to be a newsgroup class name 'co' (or something similar)
that the Colorado sites would have to subscribe to.  Is this correct?
Would the article still be posted to the groups specified in
newsgroups but limited to only those sites which receive 'co'?  I
haven't been able to find any documentation which gives details on the
distribution line.

Thanks in advance.

Darrell McIntosh, AT&T Information Systems Labs, Denver
{ihnp4|hogpc}!drux3!darrell   (303)538-3212

mark@cbosgd.UUCP (09/17/83)

Distribution works like this:

Whenever netnews has to make a decision about which neighbors to
forward an article to, normally that decision is based on the
newsgroups of the article and some pattern for each neighbor
saying which newsgroups go to that neighbor.  For example, you
might have
	mysys:net,fa,oh,cb::
	cbsys:net,fa,oh,cb::
	ohsys:net,fa,oh::
	njsys:net,fa::
in your sys file.  This means your system "mysys" has three neighbors,
one also in Columbus (for this example, I'll assyme mysys is in Columbus)
called cbsys, one in Cleveland called ohsys, and one in New Jersey.
There are newsgroup classes net and fa that we all know, oh that goes
only within ohio, cb that goes only within Columbus, and local newsgroups
that don't go anywhere.  (Many systems have "net.all" instead of "net",
and so on for other newsgroup classes.  It means almost exactly the
same thing.)

If an article were in
	Newsgroups: net.wanted
it would go to everywhere class "net" goes, e.g. everywhere.  If it were in
	Newsgroups: net.wanted,cb.general
it would still go everywhere, but get read by both subscribers of net.wanted
all over the world, and cb.general here in Columbus.  If it's posted to
	Newsgroups: oh.general
it goes to cbsys and ohsys, but not njsys, and will (presumably)
eventually make it to only Ohio sites, to be read by subscribers
to oh.general.

Now, all Distribution does is provide a substitute for Newsgroups when
the forwarding decision is made.  Thus
	Newsgroups: net.wanted
	Distribution: oh.general
causes the article to be sent to all sites that would get oh.general
(e.g. all Ohio sites) but NOT to the net at large.  However, it is
read by Ohio subscribers to net.wanted, not (necessarily) by the
subscribers of oh.general.

In other words, when inews is trying to decide whether to forward
article A to neighboring system S, the code essentially does

	if A has a Distribution line then
		let D be the contents of the Distribution line
	else
		let D be the contents of the Newsgroups line
	if system S subscribes to any newsgroup in D then
		transmit A to S

Now, there's a subtlety here.  It seems silly (as a user interface
issue) to specify
	Distribution: oh.general
when you really want to just restrict the distribution to Ohio - that
is, why should you have to pick a valid newsgroup matching oh.all?
The answer is you don't have to - nothing checks that the Distribution
is a valid newsgroup.  All it really is is a string that has to match
the pattern in the sys file.  So you can just say
	Distribution: oh
and it works fine, IF your sys file says things like
	ohsys:net,fa,oh::
If your sys file looks like
	ohsys:net.all,fa.all,oh.all::
the string "oh" won't match "oh.all", and it won't get transmitted.

As it turns out, this is the only difference between "foo" and "foo.all"
in a newsgroup pattern - the former matches "foo" and "foo." followed by
anything - the latter requires the dot and something after it.  Since
we're about to create usa and na newsgroup classes, I recommend that
all netnews administrators immediately take the following action.

In your sys file, delete all occurrences of the string ".all".  This
will help out the distribution mechanism, and also makes your sys
file shorter and easier to read and maintain.  While you're at it,
add "na,usa,mod," to the list of classes - na goes to all sites in
North America, usa goes to all sites in the USA, and mod goes everywhere
(same as net and fa).

	Mark Horton

bees@druxy.UUCP (09/19/83)

By the way... according to someone at another colorado site
(of which we have no uucp connections to any of them!), there
is a series of 'co' newsgroups.

Lets get some local uucp connections, Darrell!

Ray Davis   AT&T Information Systems Labs @ Denver   (303)538-3991
                                          {ihnp4|hogpc}!druxy!bees