last-modified-brainstorming: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(Add atom updated terminology)
(link overview, hAtom)
 
(11 intermediate revisions by 7 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 when the logical content of a page was last modfied in a visible form which is also machine-readable.
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 ==


=== General class name considerations ===
=== Class name considerations ===
* “last-modified”
==== Class names for the date of publication ====
** + “paveing the cowpaths” (“Last-Modified” used by HTTP 1.0 and 1.1)
* “date”: Dublin Core
** - HTTP’s “Last-Modified” Header has a slightly different meaning. (Last modification date of the resource, ''not'' the last modification date of the resource’s logical content)
* “published”: Atom
* “dtpublished”: As suggested by Paul Bryson for [[hatom|hAtom]]. See http://microformats.org/discuss/mail/microformats-discuss/2005-December/002520.html


* “last-updated”
==== Class names for the date of the last modification ====
** + New name for a “new” semantic.
* “last-modified”: “Last-Modified” used by HTTP 1.0 and 1.1, hCalendar
 
* “modified”: Dublin Core
* "updated"
* “updated”: Atom 1.0 syndication specification
** + atom 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-modfied”
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 modfication 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]].


* Pro
See http://microformats.org/discuss/mail/microformats-discuss/2005-August/000726.html for a related discussion.
** Easy parsing
* Contra
** See http://microformats.org/discuss/mail/microformats-discuss/2005-August/000726.html


* 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.
<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 ==


Every date format which can be used with [[datetime-design-pattern]] can be used with “last-modified”
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.''


== Theoretical example ==
<!-- -->
This page was last modified 13:26 UTC, 15 Aug 2005.
<span id="proposal"> </span>
could be written as
This page was last modified
&lt;abbr class="<em>some-class-name</em>" title="2005-08-15T13:26Z"&gt;13:26 UTC, 15 Aug 2005&lt;/abbr&gt;.


= Proposal (strawman) =
= Proposal (2nd, strawman) =
== Purpose ==
== Purpose ==
Many web pages are changed after they have been published. Some of them denote the date of the last update of theire logical way in a human readable way (e.g: &#8222;Last updated: October 17th, 2005&#8220;). The purpose of &#8222;last-updated&#8220; microformat is to provide this data in a way which is also machine-readable.


== Usage ==
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>&lt;abbr class="last-updated" title="''Date in machine-readable format"&gt;</code>.
 
The machine-readable format is described at http://microformats.org/wiki/datetime-design-pattern.
=== Specifying the date of publication ===
 
The date of publication is enclosed by <code>&lt;abbr class="date-published<sup>[[#footnote1|1]]</sup>" title="''Date in ISO format''"&gt;''Date in arbitrary format''&lt;/abbr&gt;</code>, e.g:
 
<code>&lt;p&gt;Published on &lt;abbr class="date-published<sup>[[#footnote1|1]]</sup>" title="2005-12-29T14:39:12+0100"&gt;Thursday, December 29, 2005 02:39:12 a.m.&lt;/abbr&gt;.&lt;/p&gt;</code>.
 
=== Specifying the date of modification ===
 
The date of modification is enclosed by <code>&lt;abbr class="date-modified<sup>[[#footnote1|1]]</sup>" title="''Date in ISO format''"&gt;''Date in arbitary format''&lt;/abbr&gt;</code>, e.g:
 
<code>&lt;p&gt;Last modified on &lt;abbr class="date-modified<sup>[[#footnote1|1]]</sup>" title="2005-12-29T14:39:12+0100"&gt;Thursday, December 29, 2005 02:39:12 a.m.&lt;/abbr&gt;.&lt;/p&gt;</code>.
 
If no date of modification is present the parsers MAY use the date of publication as the date of the last modification.
 
==== &lt;del&gt; and &lt;ins&gt; ====
Authors MAY also use <code>&lt;del&gt;</code> and <code>&lt;ins&gt;</code> to denote the date of
modification, e.g:
<code>&lt;del class="date-modified<sup>[[#footnote1|1]]</sup>" datetime="2005-12-29T14:39:12+0100"&gt;wrong words&lt;/del&gt;</code>.
The class value "date-modified<sup>[[#footnote1|1]]</sup>" is implied for every <code>&lt;del&gt;</code> and <code>&lt;ins&gt;</code>
element which has a <code>datetime</code> attribute.
 
=== Multiple dates in a page (or a part thereof) ===


=== Example ===
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.


<code>Last updated: &lt;abbr class="last-updated" title="2005-10-17"&gt;October 17th, 2005&lt;/abbr&gt;</code>
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.


== Determining the date of the last update of a page ==


If one &lt;abbr&gt; element with the class value &#8220;last-updated&#8221; is present on a webpage the value of the title attribute is to be interpreted as the time the page was last updated.


If multiple &lt;abbr&gt; elements with the class value &#8220;last-updated&#8221; are present on a webpage the value of the title attribute which represents the most recent date is to be interpreted as the time the page was last updated.
<sup id="footnote1">1</sup> This class name is just a placeholder which will be replaced once we know a suitable name.


== Related ==
== Related ==
* &larr;[[last-modified-formats]]
* &larr;[[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

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