hcalendar-issues: Difference between revisions
(→Issues) |
AndyMabbett (talk | contribs) (→Issues) |
||
Line 16: | Line 16: | ||
* {{OpenIssue}} 2007-01-07 raised by [[User:Webf|Webf]] | * {{OpenIssue}} 2007-01-07 raised by [[User:Webf|Webf]] | ||
*# Looking for a mechanism for specifying a dtstart without using <nowiki><abbr></nowiki>. Would be used where there are a number of events (as in the [http://www.webfeet.org/events.html Webfeet events lists]) where you do not want to have the visible date repeated | *# Looking for a mechanism for specifying a dtstart without using <nowiki><abbr></nowiki>. Would be used where there are a number of events (as in the [http://www.webfeet.org/events.html Webfeet events lists]) where you do not want to have the visible date repeated | ||
*#* See [[include-pattern]]. [[User:AndyMabbett|Andy Mabbett]] 01:14, 16 Jan 2007 (PST) | |||
* {{OpenIssue}} 2006-10-21 raised by [[User:AndyMabbett|AndyMabbett]] | * {{OpenIssue}} 2006-10-21 raised by [[User:AndyMabbett|AndyMabbett]] |
Revision as of 09:14, 16 January 2007
hCalendar Issues
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. 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
See related hcard-issues.
Issues
Please use this format:
- {{OpenIssue}} YYYY-MM-DD raised by AUTHORNAME
- Issue 1: Here is the first issue I have.
- Issue 2: Here is the second issue I have.
And add new issues to the top of the list:
- open issue! 2007-01-07 raised by Webf
- Looking for a mechanism for specifying a dtstart without using <abbr>. Would be used where there are a number of events (as in the Webfeet events lists) where you do not want to have the visible date repeated
- See include-pattern. Andy Mabbett 01:14, 16 Jan 2007 (PST)
- Looking for a mechanism for specifying a dtstart without using <abbr>. Would be used where there are a number of events (as in the Webfeet events lists) where you do not want to have the visible date repeated
- open issue! 2006-10-21 raised by AndyMabbett
- there should be some way to say that the URL of an hCard or hCalendar event is the URL of the page itself, without having to include a redundant, and accessibility-damaging link to that page, on
the page itself.
- open issue! 2006-09-22 raised by AndyMabbett
- How are Julian dates to be displayed? So far as I am aware, ISO8601 has no facility for marking up Julian dates, so should the form
<abbr class="dtstart" title="[Gregorian date]">[Julian date]</abbr>
be used? If so, that should be indicated, via an example.
- How are Julian dates to be displayed? So far as I am aware, ISO8601 has no facility for marking up Julian dates, so should the form
- open issue! 2006-08-14 raised by Elias Sinderson
- Issue 1: Although ISO 8601 allows both basic (sans delimiters) and extended formats, the extended format (where hyphens and colons are explicitly added) is broadly preferred for the web. While RFC 2445 specifies that the basic form be used in in iCalendar date / time fields, the W3C has published a technical note (submitted by Reuters), which recommends that the extended (delimited) format be used, and the HTML 4.0 spec uses the extended format. Further, RFC 3339 defines a ISO 8601 profile for dates and time representations on the internet that future specs SHOULD use; recommending a fully delimited representation (see sec. 5.6). Lastly, it should be noted that the xsd:date and xsd:dateTime types are specified as being the ISO 8601 extended format. So, given that hCalendar is based on iCalendar, it is understandable that it allows both formats, however this is clearly a case in which it would be very reasonable to require users to upconvert the format into the least ambiguous and most easily parsed / validated representation. Think of the children.
- open issue! 2006-03-07 raised by Justin McDowell
- Issue 1: I'd love to see a Property List, similar to what is seen in the hCard spec, that lists all the available properties and sub-properties in a nice, compact list. This saves a lot of time and is really useful for quickly and easily getting aquainted with the possibilities of vCalendar.
- 2006-02-17 raised by Mark Mansour - notes are summarized here
- Should vcalendar be a class? Section 4.4 of RFC2445 says: "The Calendaring and Scheduling Core Object is a collection of calendaring and scheduling information. Typically, this information will consist of a single iCalendar object. However, multiple iCalendar objects can be sequentially grouped together." Also the vcalendar class would allow properties on the calendar itself such as METHOD and CALSCALE (I don't think VERSION and PRODID are particularly relevant).
- ACCEPTED SPECUPDATE/FAQ. Is this a case of fixing something that isn't broken? Note that "iCalendar object" != "vcalendar". This is a bit confusing so read RFC 2445 carefully in that regard. In addition, the hCalendar spec should say *precisely* how to generate VCALENDAR properties in their absence.
- How are axis and headers going to be handled?
- ACCEPTED. This is documented in hcalendar-brainstorming but MUST be moved to hCalendar proper as the editors and implementers have all agreed on it (months ago). Add this as a to-do for Tantek.
- There has been talk that table axis and headers should be used to capture calendar information in a more compact format, but no example are available. Does anyone have examples or should we try to invent some?
- REJECTED. Please RTFM. Searching the hCalendar spec for *either* "axis" or "headers" would have found the following example in the wild: Web Essentials 05 has marked up their program schedule table with hCalendar, using the 'axis' and 'headers' attributes.
- Should embeded components be allowed? RyanKing has already noted that vJournal overlaps blog-posts (although not yet accepted), but should the components to-do, free/busy, timezone, alarms be allowed? They all considered as just as relevant by the ical spec as events are (my interpretation).
- ACCEPTED SPECUPDATE/FAQ. Another to-do for Tantek. Explicitly specify which additional iCalendar objects (in addition to VEVENT) are permitted in hCalendar. Current additional candidates: VTODO (many examples of this info on the web), VFREEBUSY (already at least one site publishing this info), VALARM (maybe, seems harmless enough, but without a compelling real world use case we should probably omit it). Currently dropping: VTIMEZONE (terrible construct), VJOURNAL (obsoleted by hAtom).
- Validation of the hCalendar tests. The hCalendar tests have been available for a while now, but only Brian Suda and I have made contributions to their content. Does anyone else have thoughts and should we try to make these the beginning of 'official' hCalendar tests?
- ACCEPT PARTIAL. We probably need an hCalendar validator before we can declare any set of tests to be official.
- The use of fragments is unclear. Fragment interpretation seems to be agent dependant. Fragments usually denote a heading or marker, like a goto statement for HTML. Unfortunately it may jump in the middle of elements (rather to the beginning of an element). How should this be handled. i.e.
- Should vcalendar be a class? Section 4.4 of RFC2445 says: "The Calendaring and Scheduling Core Object is a collection of calendaring and scheduling information. Typically, this information will consist of a single iCalendar object. However, multiple iCalendar objects can be sequentially grouped together." Also the vcalendar class would allow properties on the calendar itself such as METHOD and CALSCALE (I don't think VERSION and PRODID are particularly relevant).
<a name="myfrag">heading</a> <div class="vevent"> <div class="description">A nice event</div> <abbr class="dtstart" title="2005-10-05">October 5</abbr> </div>
- ACCEPTED. We should clarify to converters how to interpret a fragement id. The interpretations are all consistent. It points to the element that is to be converted. If that element is empty then so is the conversion. There is no issue here other than a need for more documentation.
- 2006-02-01 raised by RyanKing
- Issue 1: Given that now, or soon will have hAtom, should we disallow vJournal, so that we don't have 2 blog-post formats?
- ACCEPTED. Yes, we should expliclty DROP "vjournal" from hCalendar.
- Issue 1: Given that now, or soon will have hAtom, should we disallow vJournal, so that we don't have 2 blog-post formats?
- 2006-01-04 raised by CGranade
- Interactions with strong namespacing. So far, it seems that hCalendar cannot be embedded into non-XHTML schemas that are also strongly namespaced (e.g.: RDF, Atom) without a resultant validation error, as the
class
attribute is not portable across schemas.- REJECTED. The class attribute is used on XHTML elements, which are XML, which can be embedded in any other XML. The issue as raised doesn't make sense.
- All examples in XHTML. XHTML should not be the only host to microformats, and thus it should not be the only example host language. Rather, examples in Atom, RSS, RDF, etc. should also be provided.
- ACCEPTED. This is definitely something to be added to *-examples pages for each microformat.
- Interactions with strong namespacing. So far, it seems that hCalendar cannot be embedded into non-XHTML schemas that are also strongly namespaced (e.g.: RDF, Atom) without a resultant validation error, as the
- 2005-10-14 raised by MarkoMrdjenovic
- UID has to be present in iCal events if they want to be used in Microsoft Outlook. [Suggestion:] it should probably be added to the vevent tag as html attribute id. There is also the problem of converters - x2v has UID commented out. RFC recommends use of addr format for uids which is problematic in html id (does not validate). HenriBergius pointed out some calendaring software crashes when @ is in the UID, so some other form of identification should be used - along the lines of dtstart-dtend-hash(title,summary)-sample-org.
- ACCEPTED-PARTIAL. Yes, it appears RFC2445 requires UID. However, typical mentions of events by web authors do not provide anything equivalent to a UID, nor should we require authors to do so. Thus we must come up with an algorithm for implied UID, similar to some of the other properties. We REJECT the use of the html 'id' attributre as a substitute for UID as they are of different scopes and thus such a translation will likely be problematic. As part of this algorithm, we MUST disallow "@" signs since the issue points out that such UIDs crash some calendaring software.
- DTSTAMP also has to be present in iCal event for Microsoft Outlook. I think DTSTAMP should be user visible information so implementation with class="dtstamp" is fine. x2v already supports it so it should just be added to the standard and examples. The converters might also think of a way to force (create) dtstamp if it's not present. [Suggestion:] why not set DTSTAMP to DTSTART if not explicitly defined? -- DimitriGlazkov
- ACCEPTED. We should come up with a way to encourage/synthesize/imply DTSTAMP property values.
- Here is an example from Midgard CMS (which will be easy to change according to bergie on irc):
- For more discussion of this, please see hCalendar brainstorming: UID handling
- UID has to be present in iCal events if they want to be used in Microsoft Outlook. [Suggestion:] it should probably be added to the vevent tag as html attribute id. There is also the problem of converters - x2v has UID commented out. RFC recommends use of addr format for uids which is problematic in html id (does not validate). HenriBergius pointed out some calendaring software crashes when @ is in the UID, so some other form of identification should be used - along the lines of dtstart-dtend-hash(title,summary)-sample-org.
<li class="vevent" id="2678c3f94af4a49f9ccbb69b92a82aba-midgardGuid"> <abbr class="dtstart" title="2005-10-20T14:34:45Z">Torstai 20. Lokakuu 17:34</abbr> - <abbr class="dtend" title="2005-10-20T15:33:56Z">18:33</abbr> <a class="url" href="/bergie/another-calendar/82457028ba83407451edd8aaeaa40622.html"> <span class="summary">From the other cal</span> </a> <abbr class="dtstamp" title="2005-10-14T12:16:45Z">Torstai 14. Lokakuu 12:16</abbr> </li>
- 2005-09-29 raised by RyanKing
- 2005-07-27 raised by Paolo Massa
- I tried to add a hcalendar event in my blog but it rendered orribly. The problem was I already have a 'class="summary' in my normal HTML (it is the title of the posts) and my CSS displays it bigger and bold. In this way the summary of the event was as big as the titles of the posts, destroying readability. The problem is Overloading of class attributes, it might be the case that a blogger already use, for example, class="summary" for different purposes. What can be a solution? Providing in every microformat wiki page a CSS file that users can download and insert in their blog as additional CSS. This CSS file will "shield" attribute "inside" microformats from being interpreted as "normal" attributes. For example for the hCalendar microformats the relative CSS could be something like:
.vevent .summary {
//remove all the previously set properties, for example:
text-decoration: none;
font-size: 100%;
...
}
Since the hCalendar microformat is the following,
<a class="url" href="http://www.web2con.com/">
Web 2.0 Conference:
...
I hope to have been clear but I'm not so sure ;-)
- 2005-07-21 raised by Neil Jensen
- should we create a vfreebusy class for HTML representations of freebusy data? Discussion on hCalendar brainstorming. Additional background: here.
- 2005-07-11 raised by Kragen
- The specification of class="url" as <a href="..."> should be a "should", not a "must". Other ways of referencing the event URL, such as <iframe src="..."> and <embed src="...">, shoul be mentioned. At present X2V doesn't appear to handle them. This came up in a discussion about xFolk.
- REJECTED. Lack of use case. We should not add additional "ways of referencing the event URL" unless you can show a concrete real world example on the Web which requires it.
- The specification of class="url" as <a href="..."> should be a "should", not a "must". Other ways of referencing the event URL, such as <iframe src="..."> and <embed src="...">, shoul be mentioned. At present X2V doesn't appear to handle them. This came up in a discussion about xFolk.
- 2005-06-21 raised by Hixie
- Issue H-1: This specification is lacking a user agent conformance section. There's basically nothing that says how hCalendars must be parsed, how to handle errors, and so forth. Is it defined in terms of the DOM? Is it defined in terms of a serialisation? How do you handle unexpected content or missing content?
- ACCEPTED. Another to-do for Tantek, write-up hcalendar-parsing that documents precisely how user agents are to parse hCalendar markup.
- Issue H-1: This specification is lacking a user agent conformance section. There's basically nothing that says how hCalendars must be parsed, how to handle errors, and so forth. Is it defined in terms of the DOM? Is it defined in terms of a serialisation? How do you handle unexpected content or missing content?
- 2005-02-22 raised by Matt Raymond on the whatwg list:
- 2005-02-18 raised by Matt Raymond on the whatwg list:
- There is no way for some reading the markup to tell if a class name is the name of an attribute or simply the name of a class used for styling.
- REJECTED (strawman, poor assumption). There is no need to differentiate in the general case. In the specific case, a vocabulary is defined within a context.
- As a result of the above, user agents would not be able to reliably allow users to access extension properties such as "x-mozilla-alarm-default-length" (which is an actual extension used in Sunbird).
- REJECTED (out of scope). Extension properties are outside the current scope of hCalendar.
- The use of for dates is incorrect. "August 5th, 2004" is not the abbreviation of 2004-09-05. In fact, the opposite is closer to the truth.
- REJECTED (false statement). This is simply a false statement. See this article for an explanation of this use of : Human vs. ISO8601 dates problem solved
- You have to create a complex set of rules for all possible uses of legacy markup within which can easily be implemented incorrectly.
- REJECTED (false statements, strawman). There is no legacy markup. There is no need to create rules for all possible uses of legacy markup. There is no need to create a complex set of rules.
- There are styling and tooltip issues that are unresolved.
- REJECTED (empty statements). See the hCalendar FAQ for answers to specific styling and tooltip questions. Otherwise, please raise specific issues here with clear valid examples.
- hCalendar/hCard is more complicated for webmasters to read and understand and more complicated for developers to implement.
- REJECTED (empty statements, invalid comparator). Please state specific examples which show the perceived complexity. The comparison "more complicated" requires two items, no second item was provided.
- I dislike the entire system of using class names as markup. Class names should be reserved for user-defined semantics.
- ACCEPT-PARTIAL. When specific elements are available, they should be used instead of class names, but even then class names work well to "subclass" specific elements. This is thoroughly discussed in the essay A Touch of Class. And yes, class names can and should be used for user-defined semantics. hCalendar is one such user, and it is reasonable for users to use each others class names.
- Would it be more in the spirit of HTML to define these classes in a metadata profile, so that "User agents may... perform some activity based on known conventions for that profile"? Should this be a part of microformats specifications in general? (If not, why not?)
- ACCEPTED. Yes, all microformats that introduce new classnames SHOULD include an XMDP profile (which itself is a microformat for defining HTML metadata profiles) that defines those classnames.
- Ok, but in order to refer to a profile, it needs a URI. Tantek writes in a message of Jul 21 "This is precisely the reason that GMPG was founded and created, to provide permanent URLs/homes for microformat profiles." How does one cause GMPG to issue a profile URL?
- ACCEPTED. See profile-uris; this is moving from Tantek's to-do list, to both provide profiles and URLs (probably at gmpg.org) for those profiles for hCalendar etc.
- Ok, but in order to refer to a profile, it needs a URI. Tantek writes in a message of Jul 21 "This is precisely the reason that GMPG was founded and created, to provide permanent URLs/homes for microformat profiles." How does one cause GMPG to issue a profile URL?
- ACCEPTED. Yes, all microformats that introduce new classnames SHOULD include an XMDP profile (which itself is a microformat for defining HTML metadata profiles) that defines those classnames.
- There is no way for some reading the markup to tell if a class name is the name of an attribute or simply the name of a class used for styling.
- open issue! 2006-04-10 raised by Scott Reynen.
- When someone looks at the hcalendar pages, one sees no collection of real-world publishing of event data nor discussion of the properties implied by such examples, I think it's far too easy to infer that microformats come from other formats more than actual behavior. There's nothing on the process nor the hcalendar pages explaining this discrepancy. I would argue that there should be an explanation, probably in both places.
- open issue! 2006-04-13 raised by Tantek
- Need to add a section on "Property Exceptions" like that in hCard to document how to publish / handle the METHOD property and potentially others. I.e. typically publishers may omit the METHOD property, however, converters whose function is to convert hCalendar to iCalendar for consumption/subscription by a calendar aggregator, should probably insert a default METHOD:PUBLISH on the VCALENDAR object in the resultant .ics stream.
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