last-modified-brainstorming

From Microformats Wiki
Revision as of 19:43, 13 February 2006 by Eron Wright (talk | contribs)
Jump to navigation Jump to search

"Last-modified" Brainstorming

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

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

See datetime-design-pattern.

Issues

  • 2006-02-13 raised by Eron Wright
    1. 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.

Related