last-modified-brainstorming: Difference between revisions
 (Proposal (strawman))  | 
				 (link overview, hAtom)  | 
				||
| (12 intermediate revisions by 8 users not shown) | |||
| Line 1: | Line 1: | ||
= "Last-modified" Brainstorming =  | = "Last-modified" Brainstorming =  | ||
Towards the development of a [[last-modified]] microformat.  | |||
== Purpose ==	 	  | == Purpose ==	 	  | ||
To specify the date   | To specify the date of publication and the date of modification of a web page (or a part thereof) in a way that is both readable for humans and machines.  | ||
== Authors ==  | == Authors ==  | ||
* [[User:RobertBachmann|Robert Bachmann]]  | * [[User:RobertBachmann|Robert Bachmann]]  | ||
* [[User:RyanKing|Ryan King]]  | |||
== Semantics ==  | |||
Since both Atom and HTTP define the last-modified date (or its equivalent) as a "user-defined" value, this microformat should have the same semantics. In other words, the value should represent the last instance that the resource was changed in a way deemed significant to the publisher/author, which is not neccessarily the same as a file-system modified date-time. --RyanKing  | |||
== Possible class names ==  | == Possible class names ==  | ||
===   | === Class name considerations ===  | ||
*   | ==== Class names for the date of publication ====  | ||
**   | * “date”: Dublin Core  | ||
**   | * “published”: Atom  | ||
* “dtpublished”: As suggested by Paul Bryson for [[hatom|hAtom]]. See http://microformats.org/discuss/mail/microformats-discuss/2005-December/002520.html  | |||
==== Class names for the date of the last modification ====  | |||
* “last-modified”: “Last-Modified” used by HTTP 1.0 and 1.1, hCalendar  | |||
* “modified”: Dublin Core   | |||
* “updated”: Atom 1.0 syndication specification  | |||
=== Different class name for page specific and item specific dates? ===  | === Different class name for page specific and item specific dates? ===  | ||
For example “page-last-modified” is used to indicate the last modification date of a page and “last-  | For example “page-last-modified” is used to indicate the last modification date of a page and “last-modified” for the last modification date of a specific item*.  | ||
for the last   | However, this seems to be not a good idea. Other microformats leave it to the parser to pick the scope of the element, e.g. [[rel-tag]].  | ||
See http://microformats.org/discuss/mail/microformats-discuss/2005-August/000726.html for a related discussion.  | |||
<nowiki>*</nowiki> This specific item is marked-up with a microformat, e.g: a microformat to describe blog posts may use “last-modified” to indicate when a blog post was last modified.  | |||
== Possible date formats ==  | == Possible date formats ==  | ||
See [[datetime-design-pattern]].  | |||
== Issues ==  | |||
* 2006-02-13 raised by [http://microformats.org/wiki/User:Eron_Wright Eron Wright]  | |||
*# ''Last-modified dates are unsuitable as version numbers.  As the HTTP 1.1 spec mentions, dates lack fidelity and are difficult to generate for dynamic content.  A better solution is to use an opaque string, as HTTP does with the ETag header.  Indeed, If-Modified-Since is deprecated.''  | |||
<!-- -->  | |||
<span id="proposal"> </span>  | |||
= Proposal (strawman) =  | = Proposal (2nd, strawman) =  | ||
== Purpose ==  | == Purpose ==  | ||
==   | Many web pages (and parts thereof) state their publication and/or modification date in a human readable way. This proposed microformat specifies how this can be done in a fashion that is both human- and machine-readable.  | ||
The date is enclosed by <code><abbr class="  | |||
The   | === Specifying the date of publication ===  | ||
The date of publication is enclosed by <code><abbr class="date-published<sup>[[#footnote1|1]]</sup>" title="''Date in ISO format''">''Date in arbitrary format''</abbr></code>, e.g:  | |||
<code><p>Published on <abbr class="date-published<sup>[[#footnote1|1]]</sup>" title="2005-12-29T14:39:12+0100">Thursday, December 29, 2005 02:39:12 a.m.</abbr>.</p></code>.  | |||
=== Specifying the date of modification ===  | |||
The date of modification is enclosed by <code><abbr class="date-modified<sup>[[#footnote1|1]]</sup>" title="''Date in ISO format''">''Date in arbitary format''</abbr></code>, e.g:  | |||
<code><p>Last modified on <abbr class="date-modified<sup>[[#footnote1|1]]</sup>" title="2005-12-29T14:39:12+0100">Thursday, December 29, 2005 02:39:12 a.m.</abbr>.</p></code>.  | |||
If no date of modification is present the parsers MAY use the date of publication as the date of the last modification.  | |||
==== <del> and <ins> ====  | |||
Authors MAY also use <code><del></code> and <code><ins></code> to denote the date of  | |||
modification, e.g:  | |||
<code><del class="date-modified<sup>[[#footnote1|1]]</sup>" datetime="2005-12-29T14:39:12+0100">wrong words</del></code>.  | |||
The class value "date-modified<sup>[[#footnote1|1]]</sup>" is implied for every <code><del></code> and <code><ins></code>  | |||
element which has a <code>datetime</code> attribute.  | |||
=== Multiple dates in a page (or a part thereof) ===  | |||
If multiple dates of publication are present on a page (or a part thereof)  | |||
the ''youngest'' date SHOULD be interpreted as the date of publication.  | |||
If multiple dates of modification are present on a page (or a part thereof)  | |||
the ''oldest'' date SHOULD be interpreted as the date of modification.  | |||
<sup id="footnote1">1</sup> This class name is just a placeholder which will be replaced once we know a suitable name.  | |||
== Related ==  | == Related ==  | ||
* ←[[last-modified-formats]]  | * ←[[last-modified-formats]]  | ||
* [[hAtom]]  | |||
* [[datetime-design-pattern]]  | * [[datetime-design-pattern]]  | ||
Latest revision as of 19:11, 4 February 2011
"Last-modified" Brainstorming
Towards the development of a last-modified microformat.
Purpose
To specify the date of publication and the date of modification of a web page (or a part thereof) in a way that is both readable for humans and machines.
Authors
Semantics
Since both Atom and HTTP define the last-modified date (or its equivalent) as a "user-defined" value, this microformat should have the same semantics. In other words, the value should represent the last instance that the resource was changed in a way deemed significant to the publisher/author, which is not neccessarily the same as a file-system modified date-time. --RyanKing
Possible class names
Class name considerations
Class names for the date of publication
- “date”: Dublin Core
 - “published”: Atom
 - “dtpublished”: As suggested by Paul Bryson for hAtom. See http://microformats.org/discuss/mail/microformats-discuss/2005-December/002520.html
 
Class names for the date of the last modification
- “last-modified”: “Last-Modified” used by HTTP 1.0 and 1.1, hCalendar
 - “modified”: Dublin Core
 - “updated”: Atom 1.0 syndication specification
 
Different class name for page specific and item specific dates?
For example “page-last-modified” is used to indicate the last modification date of a page and “last-modified” for the last modification date of a specific item*. However, this seems to be not a good idea. Other microformats leave it to the parser to pick the scope of the element, e.g. rel-tag.
See http://microformats.org/discuss/mail/microformats-discuss/2005-August/000726.html for a related discussion.
* This specific item is marked-up with a microformat, e.g: a microformat to describe blog posts may use “last-modified” to indicate when a blog post was last modified.
Possible date formats
Issues
- 2006-02-13 raised by Eron Wright
- Last-modified dates are unsuitable as version numbers. As the HTTP 1.1 spec mentions, dates lack fidelity and are difficult to generate for dynamic content. A better solution is to use an opaque string, as HTTP does with the ETag header. Indeed, If-Modified-Since is deprecated.
 
 
Proposal (2nd, strawman)
Purpose
Many web pages (and parts thereof) state their publication and/or modification date in a human readable way. This proposed microformat specifies how this can be done in a fashion that is both human- and machine-readable.
Specifying the date of publication
The date of publication is enclosed by <abbr class="date-published1" title="Date in ISO format">Date in arbitrary format</abbr>, e.g:
<p>Published on <abbr class="date-published1" title="2005-12-29T14:39:12+0100">Thursday, December 29, 2005 02:39:12 a.m.</abbr>.</p>.
Specifying the date of modification
The date of modification is enclosed by <abbr class="date-modified1" title="Date in ISO format">Date in arbitary format</abbr>, e.g:
<p>Last modified on <abbr class="date-modified1" title="2005-12-29T14:39:12+0100">Thursday, December 29, 2005 02:39:12 a.m.</abbr>.</p>.
If no date of modification is present the parsers MAY use the date of publication as the date of the last modification.
<del> and <ins>
Authors MAY also use <del> and <ins> to denote the date of
modification, e.g:
<del class="date-modified1" datetime="2005-12-29T14:39:12+0100">wrong words</del>.
The class value "date-modified1" is implied for every <del> and <ins>
element which has a datetime attribute.
Multiple dates in a page (or a part thereof)
If multiple dates of publication are present on a page (or a part thereof) the youngest date SHOULD be interpreted as the date of publication.
If multiple dates of modification are present on a page (or a part thereof) the oldest date SHOULD be interpreted as the date of modification.
1 This class name is just a placeholder which will be replaced once we know a suitable name.