Abstract
a child element of atom:entry
atom:modified is an objective machine readable date which MUST appear in atom:entry, and contains the last datetime the entry was modified in any way.
Status
Open
Supporters
Rationale
-
atom:updated only changes when there are "significant" changes in the entry content, as determined by the publisher's editorial policies
-
atom:modified can be used to signal that entry content or children has changed, without having to parse and compare all such content and children
-
atom:modified is particularly helpful for detecting changes in entry content when all such content is located elsewhere and would require separate retrieval (as in PaceSimpleFeedFormat)
Proposal
Add a sub-section section 5 (atom:entry), near any other 'date' sections with the following:
=== 5.x "atom:modified" Element === The "atom:modified" element is a Date Construct indicating the most recent date and time when any change was made to the entry. Unlike atom:updated this would include minor adjustments like spelling and grammatical corrections, content reformatting, etc. It would also include insertion or removal of name-spaced child elements or extensions. The content of this element MUST conform to the specifications of the Date Construct defined in section 3.3. atom:entry elements MUST contain exactly one atom:modified element. atom:modified MUST be updated in value whenever any change in any child element of atom:entry occurs, including content and extensions. The value of atom:modified SHOULD be the objective current date/time of the change. Publishers MAY change the value of this element over time. Publishers SHOULD NOT change the value of atom:modified when no changes in the entry have occurred (eg. when re-serialising or re-exporting the entry).
Impacts
-
atom:modified does not detract from atom:updated. Rather, it reinforces it.
Notes
-
atom:updated has the stated purpose of "indicating the most recent date and time when a change was made to the entry which the publisher wishes to bring to the attention of subscribers". atom:modified, by providing a place for putting the modified date of an entry, reinforces that semantic.
-
atom:modified is for the benefit of software implementations such that they can readily detect those entries which have changed, and thus trigger re-parsing and synchronising with locally cached versions of the entry. This is easier than re-parsing and comparing every element.
-
atom:modified may also be communicated to the end user
-
what to do if atom:modified is a future date? should the spec say that aggregators treat atom:modified as if it were time.now()
Common use cases that can't be done with atom:updated alone
Choosing latest entry from multiple feeds: http://www.imc.org/atom-syntax/mail-archive/msg10894.html
Single feed for project documentation: http://www.imc.org/atom-syntax/mail-archive/msg10931.html
Bob's description of the entry equivalence forced by atom:updated alone
This implies that if I find multiple versions of an entry, I should ignore all but the *first* instance of an entry found with any particular atom:updated value. I should not be concerned with identifying the "latest" version since any version that shares the same atom:updated value is equivalent in the opinion of the publisher. The opinion of the publisher is paramount in these issues.
http://www.imc.org/atom-syntax/mail-archive/msg10930.html