htodo

From Microformats Wiki
Revision as of 02:22, 16 January 2008 by Tantek (talk | contribs) (Reverted edit of LidomDelba, changed back to last version by Tantek)
Jump to navigation Jump to search

This page violates several aspects of the microformats process. In particular: failure to document to-do-examples, to-do-formats, to-do-brainstorming, premature naming. Please read process and join the microformats-new mailing list before proceeding any further.

hToDo

This is just an initial draft

VTODO is part of the RFC2445 iCalendar spec used for describing todo items.

VTODO is fairly straight-forward, as it doesn't contain any nested entities, and has a fairly small list of properties. Most of these it shares with VEVENT, suggesting htodo be modeled on hevent in hcalendar, and the ground assumption is that htodo should work just like hevent with respect to these properties. The shared properties are:

class, created, description, dtstamp, dtstart, geo, last-mod, location, organizer, priority, recurid, seq, statusm summary, uid, url, duration, attach, attendee, categories, comment, contact, exdate, exrule, rstatus, related, resources, rdate, rrule, x-prop

The unique properties to VTODO are:

  • completed The date/time the todo was completed
  • due The date/time this todo is due
  • percent Integer from 0-100, completion status

As the data types for completed and due are the same as, e.g., dtstart, then the usage should be the same. For example,

<abbr class="due" title="2007-01-01T13:10:05.0Z">January 1, 2007</abbr>

As for percent, the contents of span with class "percent" will do, I think. If there is a "%" in the body, it can be ignored. The numerical part is assumed to be from 0-100. For example,

<span class="percent">50%</span>

and

<span class="percent">50</span> percent

are equivalent.

Here is a full example,

<div class="vtodo">
 <span class="summary">Create a spec for hToDo</span>
 <span class="status">first draft</span>
 Initiated <abbr class="dtstart" title="2006-05-12">May 12, 2006</abbr>
</div>