6.13.1. Syntax and Semantics The Replaces and Supersedes headers specify articles to be cancelled on arrival of this one. The content syntax makes use of syntax defined in [MESSFOR]. Replaces-content = msg-id *( CFWS msg-id ) Replaces-header-parameter = Usage-token "=" Usage-value ; for USENET-header-parameters see 4.1 Usage-token = [CFWS] "usage" [CFWS] Usage-value = [CFWS] ("replace" / "revise" / "repost" ) [CFWS] Supersedes-content = msg-id NOTE: There is no "c" in "Supersedes". [I could be persuaded of a better token than "usage". I did wonder about "disposition". Observe that "usage" is also now used also in message/news-transmission.] If an article contains a Replaces header, then the old articles mentioned SHOULD simply be deleted by the serving agent, as in a cancel message (7.5), and the new article inserted into the system as any other new article would be. A Replaces-header-parameter is only meaningful when it occurs within a Replaces-content. If its Usage-value is "revise" or "repost" (or if the Replaces-header-parameter is absent, then by default) reading agents SHOULD NOT show the article as an "unread" article unless the replaced article(s) were themselves all unread, except when the reader has configured his reading agent otherwise. Moreover, if a Usage-value is "revise" or "repost", serving agents that generate a local Xref header MUST then include additional "revise" or "repost" information as set out in section 6.14. NOTE: A replacement with "usage=replace" is intended to be used in the case of an article that is sufficiently different from its predecessors that it is advisable for readers to see it again. A replacement with "usage=revise" is intended to be used in the case of a minor change, unworthy of being brought to the attention of a reader who has already read one of its predecessors. A replacement with "usage=repost" is intended to be used in the case of an article identical to the one replaced (but possibly being reposted because the earlier one had likely expired). NOTE: A reader who elects to ignore all the articles available in a newsgroup (perhaps on the occasion of accessing that newsgroup for the first time) will likely have them all marked as "already read", unless the reading agent provides a distinct mark such as "never offered". This could lead to a later replacement with "revise" or "repost" for one of those articles being missed. The Supersedes header is obsolescent, is provided only for compatibility with existing software, and may be removed entirely in some future version of this standard. Its meaning is the same as that of a corresponding Replaces header with its Replaces-header-parameter set to "usage=replace", and whenever a Supersedes header is provided a matching Replaces header SHOULD be provided as well. Observe that the Supersedes header makes provision for only a single msg-id. Until the Replaces header has become widely implemented, software SHOULD generate Replaces headers with only one msg-id, and cancel control messages SHOULD be issued if needed for further identifiers. Moreover, until that time, any article containing a Replaces header SHOULD contain also a Supersedes header (or alternatively be accompanied by a Control cancel message) for that same msg-id, to ensure that older systems still at least remove the predecessor. When a message contains both a Replaces and a Supersedes header they MUST be for the same msg-id. Furthermore, to resolve any doubt, the Replaces header shall be deemed to take priority. Whatever security or authentication mechanisms are required for a Control cancel message MUST also be required for an article with a Replaces or Supersedes header. In the absence or failure of such checks, the article SHOULD be discarded, or at most stored as an ordinary article. [We can write something more constructive in here as soon as the situation with regard to cancel-locks and signed headers has been clarified.][< Prev] [TOC] [ Next >]
Newer | Older |
---|---|
News Article Format July 2001 News Article Format April 2001 |