Abstract
This proposal introduces atom:modified as an additional Date construct to be used in entries.
Status
Draft
Author: DavidPowell
Rationale
This proposal has been written to support PaceAllowDuplicateIdsWithModified, which provides a way for publishers and re-publishers to emit multiple revisions of an entry in a feed, while still allowing consumers to locate the latest revision.
atom:modified, in this proposal, may only be used on atom:entry, not atom:feed. Requiring an additional Date construct at feed level does not seem very useful.
Proposal
Insert section 4.2.x:
4.2.x The "atom:modified" Element The "atom:modified" element is a Date construct indicating the most recent instant in time when an entry was modified. Publishers MUST change the value of this field when any data represented in the entry has changed.
Add the bullet point to section 4.1.2:
o atom:entry elements MUST contain exactly one atom:modified element.
Impacts
In addition to the rationale, there are other benefits of requiring atom:modified:
-
atom:modified allows feed state to be reconstructed from several Atom Feed Documents without requiring knowledge of protocol specific information such as the Last-Modified date of each Feed Document.
-
When instances of the same entry are read from multiple trusted sources, atom:modified can indicate which is the latest revision.
-
As a small performance enhancement, processors can avoid reprocessing data if the atom:modified value of an entry has not changed. For example, user-agents that use a database to store parsed entries, need not update the database.
The negative impacts of this proposal are limited to the overhead of transmitting an additional element. Any publisher capable of producing the mandatory atom:updated field should be capable of producing atom:modified.
Notes
This proposal is based on draft-ietf-atompub-format-08.txt.