UserPreferences

PaceSupersede


Abstract

This pace tries to hash out some of the ideas around modifying and superseding entries in Atom, and also tries to draw a line between the two actions.

Status

Open

Conflicting Paces

Rationale

This pace introduces two new terms to Atom: minor and major updates.

Minor updates

A minor update is a small typographical change in an entry. Such a change will only result in a fresh "atom:modified" date, but will not change "atom:issued". A minor update will typically not revoke the entry to be positioned at the top in a feed, if a feed is chronologically ordered. A minor update is just editorial, and will not do much to the entry but make it a better read due to typographical errata's and such.

Major updates

A major update is a change that adds something new to an entry. It is not a typographical errata or other minor changes, but a big change such as a new paragraph, a new section, etc. A major update does not overwrite the entry it is an update of, but instead results in a new entry (with a new "atom:id") being created that supersedes the old entry.

Use cases for atom:supersede

A Wiki

A Wiki is a good use case for atom:supersedes. Whenever a change is made to a Wiki page, the associated Atom entry is superseded with a new entry. The new entry has a new atom:id, and contains an atom:supersedes element which references the atom:id of the previous version of the Wiki page.

Each Atom entry for that distinct Wiki page will contain a <link rel="alternate" type="text/html" href="http://example.com/wiki/WikiName" />, however, which at all time points to the most current Wiki page version. If each sub-version of the Wiki page can be referenced directly, then that URI should be the "alternate" URI of the entries.

In the HTML of the Wiki page, you will find a <link rel="alternate" type="application/atom+xml" href="http://example.com/WikiName-00-01.atom" /> that is a reference to the latest Atom entry associated with this Wiki page.

Archive export

If you have a CMS that supports versioning, and ever want to export the entries from it, you could use Atom with the atom:supersedes element to indicate each change that has ever occurred to a given entry. Without atom:supersedes, you would just have a random set of entries with the same atom:id and no system to "nest up" what order the modifications has been performed in.

Proposal

Add the following section to 4.13 The atom:entry Element:

4.13.x "atom:supersedes" Element

The "atom:supersedes" Element is an element that refers to the value an atom:id element. atom:supersedes further indicates that the atom:entry that is associated with the referenced atom:id element is to be considered obsolete, or no longer valid.

atom:entry MAY contain an atom:supersedes element, but MUST NOT contain more than one.

atom:supersedes is a mechanism to alert of a major change to an entry. A major update is a change that adds something new to an entry. It is not a typographical errata or other minor changes, but a big change such as a new paragraph, a new section, etc.

Impacts

This pace impacts how Atom CMS's are allowed to work. A minor update may result in a change to "atom:modified", while a major update will result in a new entry being created, where the entry being created supersedes the old entry.

Notes


CategoryProposals