Replace the atom:modified, atom:issued, and atom:created dates with a single date element.
The following were primary factors considered in the production of this proposal:
What the Echo-that-was project should be about is picking the stuff that's already been proven to work and be interoperable, and writing it down in a clean, clear way,
As an aggregator author, the screwed up nature of identifiers is one of my biggest problems with RSS. In fact, that and the optionality of a date field.
<pubDate> is an optional sub-element of <item>. Its value is a date, indicating when the item will become available.
<pubDate> is an optional sub-element of <item>. Its value is a date, indicating when the item was published. If it's a date in the future, aggregators may choose to not display the item until that date.
Definition: A date associated with an event in the life cycle of the resource.
Comment: Typically, Date will be associated with the creation or availability of the resource.
Sections 5.6 "atom:modified" Element, 5.7 "atom:issued" Element, and 5.8 "atom:created" Element would all be replaced with a single section describing an "atom:d" Element:
The "atom:d" element's content conveys a date associated with an event in the life cycle of the entry. Typically, atom:d will be associated with the creation or availability of the resource.
atom:entry elements MUST contain exactly one atom:d element. The content of this element MUST conform to the Date and Time format defined in RFC 3339.
Publishers MAY change the value of this element over time. Consumers MAY chose to sort based on this value. Consumers MAY chose not to display entries containing atom:d elements until the date specified.
A weblog author creates and makes available a post containing a description of a particularly difficult problem that he is trying to solve. The post occurs on noon on a Tuesday:
<atom:d>2004-08-03T12:00:00-04:00</atom:d>The following Thursday, after receiving a number of suggestions, the author choses to update the weblog post, both to reflect the ultimate solution, and to stop the flow of suggestions. The atom:d element is updated to the new date in the hopes that consumers will sort this entry back to the top causing people who might have read the original entry to notice the update. Finally, the dcterms extesion module is used to capture the original availability date:
<atom:d>2004-08-11T15:27:35-04:00</atom:d> <dcterms:available>2004-08-03T12:00:00-04:00</dcterms:available>Note: dcterms defines created, valid, available, issued, modified, accepted, copyrighted, and submitted, but defines each in terms of W3CDTF. Both W3CDTF and RFC 3339 are profiles or subsets of ISO 8601, and in general RFC 3339 is a subset of W3CDTF. Therefore, producers which chose to follow the example above are not affected, but consumers will need to be aware that the dates they find in dcterms MAY be of a lesser precision (e.g., "2004" is a valid W3CDTF date). When elements from the dcterms extension module are present in an Atom feed they SHOULD be expressed using the smaller RFC 3339 profile.
Publishers will need to select one primary date for every entry, instead of three. If there is a desire to continue to include the remaining dates in the entry, the dcterms module may be used.
The date defined in this proposal requires a timezone. That may need to be revisited.
RFC 3339 section 5.6 contains the following which we should consider limiting, for purposes of interoperability:
This date/time format may be used in some environments or contexts that distinguish between the upper- and lower-case letters 'A'-'Z' and 'a'-'z' (e.g. XML). Specifications that use this format in such environments MAY further limit the date/time syntax so that the letters 'T' and 'Z' used in the date/time syntax must always be upper case. Applications that generate this format SHOULD use upper case letters.
NOTE: ISO 8601 defines date and time separated by "T". Applications using this syntax may choose, for the sake of readability, to specify a full-date and full-time separated by (say) a space character.