UserPreferences

PaceMinimalEntryVersioning


Abstract

This pace outlines a module or extension that is capable of handling versions of entries over and above the current core model that presumes that new entries with the same <id> [typically] replace earlier versions. The only change to the current specification, thus why it is "minimal", is that it emphasizes that a feed, index, or archive may contain more than one entry instance with the same <id>, and that consumers may choose to present or record only the latest instance with the same <id>.

Status

Open

Authors: KenMacLeod, AsbjornUlsberg, ArveBersvendsen

Alternate proposals:

Rationale

There are two views of what an entry is ([WWW]from Norm Walsh):

The current Atom model (format-01), as well as RSS 1.0 and RSS 2.0, is the latter.

([WWW]from Ken MacLeod):

Therefore, this Pace proposes using an Atom module or extension to provide versioning that layers over the core model of a stream of entries with the same <id> that are different instances or versions of the same entry.

Although the FeedValidator currently indicates that a feed with multiple entries with the same <id> is invalid, the format-01 spec does not have an assertion for that, although it does say clearly that "same <id> is same entry". This proposal clarifies the assertion that should be being tested.

  <feed>
    <entry>
      <id>urn:myentry</id>
      <version:id>urn:myentry:2</version:id>
      <modified>2004-07-31</modified>
      <content>Hello There</content>
    </entry>
    <entry>
      <id>urn:myentry</id>
      <version:id>urn:myentry:1</version:id>
      <modified>2004-07-30</modified>
      <content>Hello</content>
    </entry>
  </feed>

Proposal

In Section 5.5, atom:id Element, add:

This Pace is consistent with PaceBasicAtomID.

Impacts

Consumers must recognize multiple entries with the same ID within the same feed instance and properly process them (such as picking the latest).

Notes

For some reason, the modeling of versions seems also to be tightly bound to concurrent date discussions,

and URIs,


CategoryProposals