[NNTP] LISTGROUP

Matthias Andree matthias.andree at gmx.de
Thu Mar 24 02:49:31 PST 2005


>> Will the current article number (pointer) be set to the first article in
>> the group, as GROUP demands, or will it be set to the first article in
>> the range? I'm inclined to suggest the latter.

Russ Allbery <rra at stanford.edu> writes:

> After thinking about this for a moment, I have no strong opinion, except
> to say that if we want it to be range-dependent, we need to hammer out
> exactly what implication that has if there are no articles in the
> specified range.

I'd suggest to invalidate the "current article number" as would be the
case for an empty group.

Setting the "current article number" to the first article in the range
is more obvious and seems to be less astonishing than to the frist
article in the group (possibly outside the range).

successful "LISTGROUP example.group 4-7" w/ setting the current article
to 2 is ugly.

> Man, I hope it won't be another 19 years.  I don't intend to disappear
> after we publish; I expect to take a short break and then start looking at
> gathering information about what's implemented to prepare for advancing to
> draft standard status.

I'll probably have to look into NNTPv2 and adjust leafnode-2 to
implement it. Lack of spare time has prevented that so far, and
leafnode-2 is a spare time project.

"Clive D.W. Feather" <clive at demon.net> writes:

> And other questions, such as what are the effects of NEXT and LAST if they
> would take the current article number out of the range?

I'd say that range does not constrain NEXT and LAST, the client will be
given an article number it can check.

> I can live with the following:
>
> * A range can only be provided if the group name is provided.

I think we agree here to keep the syntax simple, although using an
extensible syntax like this (ABNF) could generally work without
ambiguities (brackets not being allowed in newsgroup names), too.

listgroup-command = "LISTGROUP" [WS newsgroup-name] [ "[" "RANGE=" range "]" ]

examples would be

LISTGROUP
LISTGROUP examp.le
LISTGROUP [RANGE=1234-]
LISTGROUP examp.le [RANGE=1234-3333]

Obviously, missing newsgroup name would mean "currently selected
newsgroup", missing range would mean "full range" and missing upper
article number in the range would mean "until highest present article
number in the group".

RANGE= could then later be extended to form some "parameter = value"
syntax - but this complicates the parser and may not be desirable at
this time.

> * The range acts as a filter on the returned results of the LISTGROUP
>   command, but does not affect the server state.
>
> In other words, it's a way to reduce the size of the response by discarding
> unwanted material, but that's all.

I'd want to set the current article number to the lowest number in the
range, if any, or invalid, otherwise, for reasons given above,
otherwise, I concur with your goal:

> I am strongly against anything that tries to push the envelope beyond that.


> Can I suggest that GROUP with no arguments should be permitted? This would
> improve the commonality between the two commands (to all intents and
> purposes, LISTGROUP is already GROUP with more output).

Fine with me.

Russ Allbery <rra at stanford.edu> writes:

> Clive D W Feather <clive at demon.net> writes:
>
>> Can I suggest that GROUP with no arguments should be permitted? This
>> would improve the commonality between the two commands (to all intents
>> and purposes, LISTGROUP is already GROUP with more output).
>
> Hurm.  I can see your point, but this also feels like a path down a
> slippery slope to me.  Maybe what this is telling us is that adding
> features to LISTGROUP is leading into more complexity than we should be
> dealing with at this stage.

I'm fine with postponing this now that I see how complex this is really
getting.

-- 
Matthias Andree



More information about the ietf-nntp mailing list