- Where
DTEND
is a date, and not a date-time, it is required to be the day after the end of the event, thus:<abbr class="dtend" title="2007-04-30">29 April 2007</abbr>
. However, "29 April 2007" is not an abbreviation of 2007-04-30; it is an abbreviation of 2007-04-29. The markup as shown is semantically incorrect and likely to cause problems for users and user-agents which read the title attribute, and not the text value, of theabbr
element.- The ISO date 2007-04-30 is directly equivalent to 2007-04-30 00:00:00, which is why it's used as the end time of an event occuring on 2007-04-29. In this fuller context then you can view it as an abbreviation of 'the end of 29 April 2007'. Authors uncomfortable with this could use <abbr class="dtend" title="2007-04-29 23:59:59">29 April 2007</abbr>, or be more specific with their times. - Ciaran McNulty 09:21, 12 May 2007 [GMT]
- The ISO standard has 2007-04-29 24:00:00 expressly to mark the end of the day 2007-04-29 rather than the start of the day 2007-04-30. This seems far preferable to 23:59:59. Matthew 15:22, 17 Jul 2007 (PDT)
- This certainly risks confusion. The abbr title includes different information than the content; different when read by a 'normal' user who does not know about the exclusive-end-date.
- The trouble is going to be with dates (rather than date-times). User expectation is different if you are talking about "3 o'clock", which really is a point-in-time, and "29th April", something lasting 24 hours. No problem saying an end time is 'exclusive', but an end-date can be either and is typically inclusive.
- Using a more precise
dtend
is just a workround, you might not really want to say to the second when an event ends (as in 2007-04-29 23:59:59). You might easily want to say it runs from the Wednesday to Friday without committing to precise times - or that the event is sometime on that Friday but you don't know when.
- Possible options could be:
- Include a note in the standard that contradictory markup such as
<abbr class="dtend" title="2007-04-30">29 April 2007</abbr>
is bad practice and should be avoided - Make a break with the ical usage that end dates are exclusive.
- Make the meaning clear:
<abbr class="dtend" title="value=date:value=inclusive:2007-04-29">29 April 2007</abbr>
<abbr class="dtend" title="value=exclusive:2007-04-30">29 April 2007</abbr>
or maybe<abbr class="dtend;value=date:value=inclusive" title="2007-04-29">29 April 2007</abbr>
Webf2 00:25, 13 May 2007 (PDT)
- Include a note in the standard that contradictory markup such as
- ACCEPTED BRAINSTORM SPECUPDATE. In practice (e.g. http://barcamp.org ) it appears all too often (thus easy) to make the mistake of assuming a dtend value is inclusive, and thus the last day of many events is truncated by a day. I am proposing a solution on hcalendar-brainstorming in an attempt to help this move forward. In short, introduce the syntactic sugar "dtlast", which treats date values as *inclusive* for the last day of an event. Semantically "dtlast" is merely an override for any "dtend" property setting on that hCalendar event, with the aforementioned slight difference in handling. More details on hCalendar brainstorming: dtlast. Tantek 07:48, 1 Sep 2008 (PDT)
- REOPENING based on new data. It seems the number of instances that dtend is being used to indicate an inclusive end date has only increased in the past year, and by knowledgable authors as well. Adding a new property just for inclusive end dates may very well only confuse the matter. We need to seriously consider changing "dtend" to *be* inclusive for "date" values only, keeping its current functionality for datetime values (suggested by Webf2 above). This is probably worthy of documenting on its own page, something like dtend-issue. - Tantek 05:40, 26 August 2009 (UTC)
- The ISO date 2007-04-30 is directly equivalent to 2007-04-30 00:00:00, which is why it's used as the end time of an event occuring on 2007-04-29. In this fuller context then you can view it as an abbreviation of 'the end of 29 April 2007'. Authors uncomfortable with this could use <abbr class="dtend" title="2007-04-29 23:59:59">29 April 2007</abbr>, or be more specific with their times. - Ciaran McNulty 09:21, 12 May 2007 [GMT]
- Where
hcalendar-issues
<entry-title>hCalendar issues</entry-title>
These are externally raised issues about hCalendar with broadly varying degrees of merit. Thus some issues are REJECTED for a number of obvious reasons (but still documented here in case they are re-raised), and others contain longer discussions. Some issues may be ACCEPTED and perhaps cause changes or improved explanations in the spec.
IMPORTANT: Please read the hCalendar FAQ and the hCalendar resolved issues before giving any feedback or raising any issues as your feedback/issues may already be resolved/answered.
Submitted issues may (and probably will) be edited and rewritten for better terseness, clarity, calmness, rationality, and as neutral a point of view as possible. Write your issues well. — Tantek
For matters relating to the iCalendar specification itself, see icalendar-errata and icalendar-suggestions.
See related hcard-issues.
closed issues
See: hcalendar-issues-closed.
resolved issues
Issues that are resolved but may have outstanding to-do items. See: hcalendar-issues-resolved.
Issues
Please add new issues to the bottom of the list. Please follow-up to resolved/rejected issues with new information rather than resubmitting such issues. Duplicate issue additions will be reverted.
issues 2007
- open issue! 2007-01-20 raised by
issues 2008
- open issue! 2008-01-16 raised by Andy Mabbett
- Lack of method for marking up vague dates and eras; see vague-date examples.
- open issue! 2008-01-17 raised by
- In some instances, see Yahoo Economic Calendar, the content in dtstart is split into two td (same issue for summary), which requires to either tag the date as dtstart or the time as dstart. The reason is that due to the structure of HTML tables, it is not possible to mark up each part of the dtstart as value and wrap them all in an element of class dstart.
- The include-pattern could solve this, but the solution isn't pretty. TobyInk 03:33, 1 Mar 2008 (PST)
- In some instances, see Yahoo Economic Calendar, the content in dtstart is split into two td (same issue for summary), which requires to either tag the date as dtstart or the time as dstart. The reason is that due to the structure of HTML tables, it is not possible to mark up each part of the dtstart as value and wrap them all in an element of class dstart.
<tr> <td id="mydate006">2007-01-02</td> <td class="dtstart"> <a href="#mydate006" class="include" style="display:none"></a> <abbr title="T" style="display:none">time </abbr>13:00:00 </td> </tr>
An alternative would be to use hidden metadata, although that goes against uF principles. TobyInk 03:33, 1 Mar 2008 (PST)
<tr> <td class="dtstart">2007-01-02<abbr style="display:none" title="T13:00:00"></abbr></td> <td>13:00:00</td> </tr>
- open issue! 2008-06-25 raised by
HTML 5 introduces a <time>
element. Without wishing to push people into using HTML 5 prematurely, we could define a parsing procedure for dealing with these elements when they are encountered in microformats.
- Bleeding-edge publishers who are already using HTML 5 could then choose to use this new semantic element with microformats. Publishers with accessbility concerns over the current datetime design pattern would be given some alternative ways of resolving their issue. (i.e. continue using HTML 4, but use the
<time>
element invalidly; create a custom DTD based on HTML 4, but including<time>
; or switch fully to HTML 5.) — TobyInk- Whilst providing an alternative to publishers concerned about accessibility is one way to solve this issue, it doesn't solve the issue for publishers who mandate (or are mandated) to use existing doctypes, or who operate on such a scale that sticking to existing specifications is an important part of ensuring their sites remain reliable in existing browsers. — BenWard
- The BBC can't use HTML5. It won't validate, it doesn't adhere to their standards and guidelines or their browser support levels. It simply isn't an option for them (and many other companies). — Phae
- If they are willing to consider amending their guidelines to allow RDFa, which is also invalid HTML 4.01/XHTML 1.0/XHTML 1.1, surely they *could* choose to amend their own guidelines to allow
- Adopting
<time>
does not require fully switching to HTML 5. Validation can be achieved through using a custom DTD. In terms of browser support, I think I'm yet to encounter a browser that doesn't treat unknown tags as effectively being the same as<span>
. — TobyInk- I guess it depends on what the purpose of validating markup is. That may validate to an SGML DTD, but it's not conforming HTML 4.01 (it's not valid HTML 4.01) and for what it's worth the HTML 4.01 specification specifically warns against extending text/html in this manner: http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.1 — Benjamin Hawkes-Lewis
- We are specifically advised by the W3C QA Group that custom DTDs are a bad idea. http://www.alistapart.com/articles/customdtds2/ — Paul Wilkins
- One of the W3C's clearest explanations of the reasons not to use custom DTDs is from their Style activity. The gist is that although DTDs can define the syntax for new elements and attributes, the meaning of the new elements and attributes has to be defined by standards and consensus, and they must be supported by browsers. This is not particularly applicable in this case, because the meaning of
<time>
has been defined (albeit only in draft form so far) by the W3C HTML working group and they are supported by current browsers (right now the "support" is just that they ignore the unknown element and display its contents, but true support is probably around the corner). TobyInk 15:15, 17 Jul 2008 (PDT)
- A core principle of microformats is that they should work with the technologies available and in use *now* (HTML5 isn't widely supported and isn't even a w3c recommendation yet). — Phae
- I'd be wary of using a hybrid of HTML 4.01, RDFa, and HTML5 when neither RDFa nor HTML5 have been finalized yet, and when HTML5 is going to determine how browsers actually parse all text/html. What if HTML5 ends up specifying something in a way that is incompatible with the hybrid? — Benjamin Hawkes-Lewis
- There is no way to define BC (before Christ) dates, is there? There should be! Thamis 03:58, 30 Sep 2008 (PDT)
- open issue! 2008-12-22 raised by
- What if the event started few weeks ago, and has still not finished but has no known end date ? Writing only a dtstart would not be the reality as we do not know when this will end, but we know that it will end one day. Writing a dtend where dtend equals a date is also not the reality as we do not know when this event will finish. We can encounter this sort of problem with hresum where the last job experience has a start date, but has no end date. it would be good to use a special keyword that would mean "today" (where today always equals the system date now()) or "still going" such as
<abbr class="dtend" title="today">up to now</abbr>or
<abbr class="dtend" title="still-going">now</abbr>
- I've read that the dtend should be one day after the end of the event as the dtend is exclusive. But what if I use a short date representation, such as "2008" for year 2008, or "200802" for february 2008 ? Should I make the dtend finish one year, or one month later, as dtend is still exclusive ? This would be very confusing in my opinion.
- Last issue, what about an event that don't have a start time neither a end time, but that will last approximately the whole day. There is only a dtstart without time included ("20080428") and no dtend ? Or with a dtend with the same date ? Or with a dtend the day after ? Or with a special notation such as :
<abbr class="dtstart dtend" title="1998-07">july 1998</abbr>
- To sum up, how would you write an event that has no duration but which is only a moment in the life (this recalls the first oy my issues where there is an event with no known end date, which is different from an event which has no end date because it has no duration !).
2009
- open issue! 2009-02 raised by
- Unclear whether YYYY or YYYY-MM is valid for dtstart or dtend
- Rationale for partial dates:
- Identity theft- Wikipedia for example has guidelines on Living Persons to protect against identity theft. Over 3000 Marriage, Birth and death dates and emitted by wikipedia, and a high percentage for living persons include year only for birth date.
- Unavailable precision Example: the birth date of Augustus Caesar is precisely known for the Roman calendar used at the time, however because of the frequency and chaos with which adjustments to that calendar were made prior to the adoption of the Julian calendar, the exact gregorian equivalent required for ISO8601 is impossible to know with precision. The best historians agree on is plus or minus 2 days, and it is said that it is unlikely there will ever be better precision. This is an example where we are using YYYY-MM, and it is quite common on in the 3500 genealogy pages emitting dstart/ dtends at genealogy.wikia.com, where it is frequently the case that family histories have only partial dates. -JMesserly 19:15, 6 April 2009 (UTC)
- Rationale for partial dates:
- Unclear whether YYYY or YYYY-MM is valid for dtstart or dtend
open issue!
- Specification references to
abbr
pattern need to be removed/updated. See: /hcalendar#Human_vs._Machine_readable — the spec currently reads “This specification recommends that such<abbr>
elements be used for the following iCalendar properties: DTSTART, DTEND, DURATION, RDATE, RRULE. That is no-longer appropriate. In fact, I think it should be made clearer that those properties may be marked up using the abbr, or value-class patterns, but that it isn't required. The current language basically masks the fact that you might publish 2009-07-14 literally, and may be some reason why people believe that they have to use the abbr pattern. Further, this language is incompatible with publishing HTML5 with thetime
element.- Proposed resolution: Remove all ‘endorsement’ language regarding specific optimization patterns from the spec. The properties concerned should link to appropriate patterns and suggest uses ‘may’ use them to control the presentation of dates. --BenWard 17:39, 14 July 2009 (UTC)
open issue!
- All properties that are appropriate for use with the value-class-pattern must opt in to using it.. See: machine-data for the current reference for which properties have value-class-patterns support. Revisions of specifications should be updated to opt-in to value-class where appropriate.
Template
Consider using this format (copy and paste this to the end of the list to add your issues; replace ~~~ with an external link if preferred) to report issues or feedback, so that issues can show up in hAtom subscriptions of this issues page. If open issues lack this markup, please add it.
Please post one issue per entry, to make them easier to manage. Avoid combining multiple issues into single reports, as this can confuse or muddle feedback, and puts a burden of separating the discrete issues onto someone else who 1. may not have the time, and 2. may not understand the issue in the same way as the original reporter.
<div class="hentry">
{{OpenIssue}}
<span class="entry-summary author vcard">
<span class="published">2011-MM-DD</span>
raised by <span class="fn">~~~</span>
</span>
<div class="entry-content discussion issues">
* <strong class="entry-title">«Short title of issue»</strong>. «Description of Issue»
** Follow-up comment #1
** Follow-up comment #2
</div>
</div>
Related Pages
- hCalendar - specification
- hCalendar intro - plain English introduction
- hCalendar authoring - learn how to add hCalendar markup to your existing events.
- hCalendar creator (hCalendar creator feedback) - create your own hCalendar events.
- hCalendar cheatsheet - hCalendar properties
- hCalendar examples in the wild - an on-going list of websites which use hCalendars.
- hCalendar implementations - websites or tools which either generate or parse hCalendars
- hCalendar FAQ - If you have any questions about hCalendar, check here.
- hCalendar parsing - normative details of how to parse hCalendar.
- hCalendar profile - the XMDP profile for hCalendar
- hCalendar singular properties - an explanation of the list of singular properties in hCalendar.
- hCalendar tests - a wiki page with actual embedded hCalendar events to try parsing.
- hCalendar "to do" - jobs to do
- hCalendar advocacy - encourage others to use hCalendar.
- iCalendar implementations
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.
- hCalendar Brainstorming - brainstorms and other explorations relating to hCalendar
- hCalendar issues - issues with the specification