http://microformats.org/wiki/api.php?action=feedcontributions&user=07pagesdinfo&feedformat=atomMicroformats Wiki - User contributions [en]2024-03-29T14:22:20ZUser contributionsMediaWiki 1.38.4http://microformats.org/wiki/index.php?title=hcalendar-fr&diff=9614hcalendar-fr2006-10-03T09:44:23Z<p>07pagesdinfo: </p>
<hr />
<div><h1> hCalendar </h1><br />
<br />
hCalendar est un format simple, ouvert, distribué pour le calendrier et les événements,<br />
fondé sur le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), adaptable pour l'embarquement dans (X)HTML, Atom, RSS et le XML arbitraire. <br />
hCalendar est l'un des nombreux standards ouverts [[microformats-fr|microformat]].<br />
<br />
Vous voulez démarrer par écrire un événement [[hcalendar-fr|hCalendar]] ? <br />
Utilisez le [http://microformats.org/code/hcalendar/creator hCalendar creator] pour écrire un événement et le publier.<br />
<br />
<br />
__TOC__<br />
<br />
== Spécification ==<br />
<br />
; Editeur : [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc])<br />
; Auteurs : [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]<br />
: [http://suda.co.uk/ Brian Suda]<br />
<br />
(traduction en cours [[Christophe Ducamp]])<br />
<br />
=== Copyright ===<br />
{{MicroFormatCopyrightStatement2004-fr}}<br />
<br />
=== Brevets ===<br />
{{MicroFormatPatentStatement-fr}}<br />
<br />
=== Inspiration et Remerciements ===<br />
Merci à :<br />
* Adam Bosworth pour avoir mené la [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars présentation FOO Camp 2004 HTML For Calendars presentation] qui a rassemblé une masse critique de parties intéressées.<br />
<br />
<br />
<br />
== Introduction ==<br />
Le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), a été très largement mis en oeuvre avec interopérabilité (par exemple l'application "iCal" d'Apple intégrée dans MacOSX).<br />
<br />
En outre, les blogueurs discutent souvent d'événements sur leurs blogs -- événements à venir, compte-rendus des événements passés, etc. Avec simplement une tout petit peu de structure, les blogueurs peuvent discuter d'événements dans leurs blogs d'une manière telle que les spiders et autres agrégateurs puissent retrouver de tels événements, les convertir automatiquement vers iCalendar, et les utiliser dans n'importe quel service ou application iCalendar.<br />
<br />
Cette spécification présente le format '''hCalendar''', qui est une représentation 1:1 <br />
du standard iCalendar précité en XHTML sémantique. Les Blogueurs peuvent embarquer à la fois les événements hCalendar directement dans leurs pages web, et les styler avec CSS pour les faire apparaître comme désiré. En outre, hCalendar permet aux applications de retrouver l'information <br />
sur de tels événements à partir de pages web sans avoir à référencer un fichier distinct.<br />
<br />
== Principes de Design XHTML Sémantique ==<br />
<br />
{{semantic-xhtml-design-principles-fr}}<br />
<br />
== Format ==<br />
<br />
=== En Général ===<br />
<br />
Le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]) constitue la base de hCalendar.<br />
<br />
Note : l'éditeur et les auteurs de cette spécification sont en train de suivre <br />
l'[http://lists.osafoundation.org/pipermail/ietf-calsify/ effort "iCal-Basic"] et ont l'intention de fonder le profil noyau du hcalendar sur iCal-Basic. Voir les références pour un lien vers le brouillon en cours.<br />
<br />
Le format basique de hCalendar est d'utiliser les noms d'objet/propriété en bas de casse pour les noms de classes, et de mapper l'encapsulage des objets iCalendar directement à l'intérieur du XHTML imbriqué. <br />
<br />
=== Plus d'Equivalents Sémantiques ===<br />
<br />
Néanmoins, pour quelques propriétés il existe un équivalent plus sémantique, <br />
et par conséquent elles ont un traitement spécifique, c'est à dire : <br />
* <code>URL</code> dans iCalendar devient <code><a class="url" href="...">...</a></code> à l'intérieur de l'élément avec <code>class="vevent"</code> dans le hCalendar.<br />
* <code>ATTENDEE</code>, <code>CONTACT</code>, et <code>ORGANIZER</code> dans le iCalendar peuvent être représentés par une [[hcard-fr|hCard]] dans le hCalendar .<br />
* Un lieu nommé <code>LOCATION</code> (potentiellement avec une adresse et/ou geo) dans iCalendar peut être représenté par une [[hcard-fr|hCard]] imbriquée dans le hCalendar. De la même façon, une adresse <code>LOCATION</code> peut être représentée par un [[adr-fr|adr]] et un geo (latitude et longitude) <code>LOCATION</code> peut être représenté par un [[geo-fr|geo]].<br />
* <code>UID</code> dans le iCalendar devient simplement une autre sémantique appliquée à un URL spécifique pour un événement hCalendar.<br />
<br />
=== Propriétés Singulier vs Pluriel ===<br />
<br />
Pour les propriétés qui sont singulières (par ex. "N" et "FN" extrait de vCard), le premier élément descendant avec cette classe-là devrait prendre effet, tous les autres étant ignorés.<br />
<br />
Pour les propriétés qui peuvent être plurielles (par ex. "TEL" extrait de la vCard), chaque instance de classe devrait créer une instance de cette propriété. <br />
Les propriétés plurielles avec des sous-types (par ex. TEL avec WORK, HOME, CELL extrait de la vCard) peuvent être optimisées pour partager un élément commun pour la propriété elle-même, <br />
avec chaque instance de sous-type étant un descendant proprement classé de l'élément propriété.<br />
<br />
==== Plusieurs Propriétés Singularisées ====<br />
<br />
Parce que les noms de propriétés plurielles deviennent leurs équivalents singuliers, <br />
même si la propriété plurielle originale n'a permis seulement qu'une valeur unique avec plusieurs composants, ces composants-là multiples sont représentés chacun avec leurs propres singularités nommées propriété et la propriété a en fait plusieurs valeurs et est sujette au traitement ci-dessus des propriétés à plusieurs valeurs.<br />
<br />
=== Lisible par des Humains vs Machines ===<br />
Si un élément <code><nowiki><abbr></nowiki></code> est utilisé pour une propriété, alors l'attribut '<code>title</code>' de l'élément <code><nowiki><abbr></nowiki></code> est la valeur de la propriété, au lieu des contenus de l'élément, qui fournit à la place uen version humaine présentable de la valeur. Cette spécification recommande que de tels éléments <code><nowiki><abbr></nowiki></code> soient utilisés pour les propriétés suivantes iCalendar : <br />
* DTSTART, DTEND, DURATION, RDATE, RRULE<br />
<br />
== Exemple ==<br />
<br />
Voilà un événement échantillon dans un iCalendar :<br />
<pre><nowiki><br />
BEGIN:VCALENDAR<br />
PRODID:-//XYZproduct//EN<br />
VERSION:2.0<br />
BEGIN:VEVENT<br />
URL:http://www.web2con.com/<br />
DTSTART:20051005<br />
DTEND:20051008<br />
SUMMARY:Web 2.0 Conference<br />
LOCATION:Argent Hotel\, San Francisco\, CA<br />
END:VEVENT<br />
END:VCALENDAR<br />
</nowiki></pre><br />
et un équivalent en format hCalendar avec différents éléments optimisés de façon appropriée. <br />
Voir [[hcalendar-example1-steps-fr|étapes-hcalendar-exemple 1]] pour l'origine.<br />
<br />
<pre><nowiki><br />
<span class="vevent"><br />
<a class="url" href="http://www.web2con.com/"><br />
<span class="summary">Web 2.0 Conference</span> : <br />
<abbr class="dtstart" title="2005-10-05">5</abbr>-<br />
<abbr class="dtend" title="2005-10-08">7</abbr> <br />
octobre à l'<span class="location">Hôtel Argent, San Francisco, CA</span><br />
</a><br />
</span><br />
</nowiki></pre><br />
qui pourrait être affiché comme : <br />
<br />
[http://www.web2con.com/ Web 2.0 Conference : 5-7 octobre, à l'Hôtel Argent, San Francisco, CA]<br />
<br />
<br />
<br />
L'exemple suivant spécifie un rendez-vous programmé qui commence le 12 mars 1998 à <br />
08:30 EST et se termine à 09:30 EST le 12 mars 1998. <br />
<br />
<pre><nowiki><br />
BEGIN:VCALENDAR<br />
BEGIN:VEVENT<br />
UID:guid-1.host1.com<br />
DTSTAMP:19980309T231000Z<br />
DESCRIPTION:XYZ Réunion Bilan<br />
SUMMARY:Projet XYZ Réunion Bilan<br />
DTSTART:19980312T133000Z<br />
DTEND:19980312T143000Z<br />
LOCATION:1CP Salle de Conférence 4350<br />
END:VEVENT<br />
END:VCALENDAR<br />
</nowiki></pre><br />
<br />
L'équivalent en hCalendar :<br />
<br />
<pre><nowiki><br />
<div class="vevent"><br />
<h3 class="summary">XYZ Réunion Bilan</h3><br />
<p class="description">Projet XYZ Réunion Bilan</p><br />
<p>programmé le <abbr class="dtstart" title="1998-03-12T08:30:00-05:00">12 mars 1998 à partir de 08:30 EST</abbr> <br />
jusqu'à <abbr class="dtend" title="1998-03-12T09:30:00-05:00">09:30 EST</abbr></p><br />
<p>Lieu : <span class="location">1CP Salle de Conférence 4350</span></p><br />
<small>Réservé par : <span class="uid">guid-1.host1.com</span> le <abbr class="dtstamp" title="19980309T231000Z">9 mars 1998 18:00</abbr></small><br />
</div><br />
</nowiki></pre><br />
<br />
Ceci pourrait s'afficher comme <br />
<br />
----<br />
<br />
<div class="vevent"><br />
<h3 class="summary">XYZ Réunion Bilan</h3><br />
<p class="description">Projet XYZ Réunion Bilan</p><br />
<p>programmé le <abbr class="dtstart" title="1998-03-12T08:30:00-05:00">12 mars 1998 à partir de 08:30 EST</abbr> <br />
jusqu'à <abbr class="dtend" title="1998-03-12T09:30:00-05:00">09:30 EST</abbr></p><br />
<p>Lieu : <span class="location">1CP Salle de Conférence 4350</span></p><br />
<small>Réservé par : <span class="uid">guid-1.host1.com</span> le <br />
<abbr class="dtstamp" title="19980309T231000Z">9 mars 1998 18:00</abbr></small></div><br />
<br />
----<br />
Note 1 : L'information produit n'est pas nécessaire parce que le hCalendar est un format interchangeable. Quand hCalendar est transformé en iCalendar, le moteur transformant devrait ajouter sa propre ID produit.<br />
<br />
Note 2 : Un élément entourant le <code><nowiki><span class="vcalendar"></nowiki></code> est optionnel et laissé comme ceci. Il est optionnel parce que le contexte d'un vcalendar est implicite quand un vevent est rencontré. Le contexte/étendue implicite est celui du document. Les auteurs peuvent explicitement utiliser des éléments avec class="vcalendar" pour emballer les ensembles de vevents qui appartiennent tous au même calendrier, par exemple au moment de publier plusieurs calendriers sur la même page.<br />
<br />
Note 3 : L'information de version n'est pas nécessaire directement dans la syntaxe hCalendar parce que la version sera définie par le profil de qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>.<br />
<br />
Note 4 : Les dates ISO8601 (requises par iCalendar) ne sont pas très humaines. En outre, l'année est souvent comprise implicitement par les humains à partir du contexte. Par conséquent les éléments <code><nowiki><abbr></nowiki></code> sont utilisés pour fournir simultanément une date humaine et/ou une heure dans les contenus visibles de l'élément, tout en plaçant respectivement l'heuredate ISO8601 parsable par les machines dans l'attribut 'title'. La notation YYYY-MM-DD devrait être utilisée pour une meileure lisibilité.<br />
<br />
Note 5 : La différence entre la date DTEND ISO8601 (2005-10-08) et la date lisible par un humain (7) n'est PAS une erreur. [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND est exclusif], voulant dire que l'événement finit simplement avant le DTEND. De ce fait pour les événements qui démarrent sur un jour et finissent sur un autre jour, la date DTEND doit être spécifiée comme le jour après le jour qu'un humain dirait que c'est le dernier jour de l'événement.<br />
<br />
Note 6 : L'endroit (Location) dans cet exemple contient une structure implicite (nom du lieu de l'événement, ville, état) qui devrait être balisée explicitement sous une [[hcard-fr|hCard]]. Voir [http://microformats.org/wiki/hcalendar-brainstorming#hCard_locations hCalendar brainstorming: hCard locations] pour une explication sur la façon de faire ça.<br />
<br />
Voir [[hcalendar-examples-fr|exemples hcalendar]] pour plus d'exemples hCalendar.<br />
<br />
== Exemples dans la jungle ==<br />
Cette section est '''pour information'''.<br />
<br />
Les sites suivants ont implémenté le hCalendar, et sont par conséquent un endroit génial pour tous afin de commencer à regarder des exemples "dans la jungle" et essayer de parser, d'indexer, d'organiser, etc. <br />
Si les événements sur vos pages sont balisés avec hCalendar, sentez-vous à l'aise pour les ajouter en haut de cette liste. <br />
Une fois que la liste sera trop grande, nous produirons une page wiki distincte.<br />
<br />
=== Nouveaux Exemples ===<br />
SVP, ajoutez de nouveaux exemples à cette section.<br />
* [http://07.pagesd.info/ardeche/agenda.aspx 07.pagesd.info] utilise hCalendar et hCard pour publier l'agenda des évènements ardéchois.<br />
* [http://climbtothestars.org Stephanie Booth] a annoncé [http://climbtothestars.org/archives/2006/09/14/microformats-et-bloggy-friday-doctobre/ un Bloggy Friday qui parlera de microformats pour octobre 2006] en utilisant hCalendar.<br />
* [http://www.parisweb2006.org/ La conférence Paris Web 2006] utilise hCalendar sur sa page d'accueil et sur la [http://www.parisweb2006.org/planning.php page de planning] des deux journées.<br />
* [http://webdirections.org/program/ La Conférence Web Directions (Sydney Australie)] utilise hCalendar pour son programe. Elle utilise l'axe et les titres pour les événements dans un tableau et démontre comme c'est facile de faire tout l'ensemble soit téléchargeable en utilisant X2V.<br />
* [http://www.thestreet.org.au/ The Street Theatre (Canberra, Australie)] utilise maintenant hCalendar pour les pièces sur sa page [http://www.thestreet.org.au/whats_on.htm What's On].<br />
* Le [http://www.westmidlandbirdclub.com/ West Midland Bird Club] en Grande Bretagne utilise hCal sur son [http://www.westmidlandbirdclub.com/diary/ annuaire d'événements].<br />
* [http://www.clacksweb.org.uk Clackmannanshire Council] utilise hCalendar sur sa [http://www.clacksweb.org.uk/community/events/ page de listes d'événements] et les pages événements individuelles.<br />
* [http://www.markthisdate.com/ le portail de calendrier MarkThisDate.com] utilise maintenant hCalendar pour tous les calendriers. Sur notre site web, les visiteurs peuvent ajouter des calendriers et télécharger des calendriers vers Outlook, Lotus Notes, iCal, Netvibes, 30Boxes, Google Calendar et bien d'autres. Plus de 600 calendriers ont déjà été téléchargés.<br />
* [http://mogue.jp/ mogue] utilise hCalendar sur les pages [http://mogue.jp/event/1000/ de détail d'événement].<br />
* [http://www.gustavus.edu/events/nobelconference/2006/schedule.cfm 2006 Nobel Conference] utilise hCalendar pour le programme de la conférence<br />
* [http://www.geekinthepark.co.uk Geek in the Park] utilise hCalendar pour l'information événement. -- par [[User:Trovster|trovster]]<br />
* [http://www.besancon.fr/ Le site officiel de Besançon (France)] pour ses événements<br />
* [http://2006.dconstruct.org/schedule/ le programme de la conférence d.Construct 2006] est publié en utilisant hCalendar.<br />
* [http://local.yahoo.com Yahoo Local] supporte maintenant hCalendar<br />
* Nous avons utilisé hCalendar pour le [http://www.fuckparade.org/flyer/2006/ flyer F’parade 2006], une contre démonstration de la Love Parade à Berlin, et une problématique se sont posées : '''l'extention tails de Firefox''' n'obtient pas un résumé quand c'est un texte-alt dans une image.<br />
* [http://www.thesession.org/events/ The Session events] utilise hCalendar pour baliser les concerts, festivals et atelier en rapport avec la musique Irlandaise traditionnelle.<br />
* [http://rubyandrails.org/usergroups/newcastle ncl.rb] utilise hCalendar pour baliser les nouvelles réunions.<br />
* [http://www.worldcupkickoff.com/ World Cup KickOff] où vous pouvez télécharger et garder toutes les "fixtures" qui vous intéresse afin que vous ne ratiez pas un seul match de la Coupe du Monde de football 2006 !<br />
** Ce lien était sur le [http://www.lifehacker.com/software/sports/world-cup-start-times-for-ical-etc-175393.php site Lifehackers] et a fait son chemin vers les site de news yahoo :<br />
<br />
Lundi 22 mai, 4:00 PM ET<br />
La Coupe du Monde, l'un des événements sportifs les plus regardés dans le monde est presque parmi nous. Si vous avez déjà essayé de suivre votre équipe favorité à travers la Coupe, vous savez que ce peut être parfois difficile de savoir quand ils jouent. World Cup Kickoff peut aider.<br />
<br />
World Cup KickOff est tout ce dont vous avez besoin pour connaître les détails des matches à venir pour la Coupe du Monde 2006. Que vous utilisiez votre téléphone mobile, MS outlook, Apple iCal ou le calendrier Mozilla vous pouvez télécharger et conserver toutes les rencontres qui vous intéresse de façon à ce que vous ne ratiez pas une seule partie !<br />
<br />
PUBLICITE <br />
Prochain truc ? Nous vous montrerons comme vous lever à 2 heures du matin pour regarder vos matches. ;0) Merci à Tom pour le truc !<br />
<br />
* [http://gross.org.za/calendar GROSSUG Calendar] - Utilise hCalendar pour baliser les réunions et autres événements.<br />
* [http://www.socaltech.com socalTECH] est un site d'actualités et d'information. Son listing d'événements en page d'accueil est marqué avec hCalendar.<br />
* [http://www.webanalyticsassociation.org/en/calendarevents/search.asp Web Analytics Association] - le microformat hCalendar est en place sur tous les sites Tendenci sur les pages de recherche d'événements calendrier et la page de liste consolidée.<br />
* [http://www.tendenci.com/en/calendarevents/search.asp Tendenci Calendar Events] avec hCalendar<br />
* [http://www.argolon.com/2006/04/17/web20-conference-in-dublin/ Web2.0 Conference à Dublin] événement hCalendar<br />
* [http://www.meetup.com/ Meetup.com] a balisé les [http://nightlife.meetup.com/cities/fr/paris/ calendriers d'événements des villes], [http://photo.meetup.com/100/events/ les listes des événements de groupe] et les [http://www.meetup.com/ pages personnelles enregistrées] avec hCalendar.<br />
* [http://ukwindsurfing.com/ ukwindsurfing.com] a balisé les événements à venir avec hCalendar et la [http://ukwindsurfing.com/events/ page événements] dans une table.<br />
* [http://ocono.com/ ocono.com] a balisé sa liste des "Upcoming Events" avec hCalendar.<br />
* [http://www.austinbloggers.org/ Austin Bloggers] a balisé sa boîte des "Upcoming Events" avec hCalendar ([http://www.austinbloggers.org/blog/a/001123.html announcement]).<br />
* L'application cloneable Group de Ning a une syntaxe [[hcalendar-fr|hCalendar]] sur son [http://group.ning.com/index.php?controller=event&action=list calendrier d'événéments] et [http://group.ning.com/index.php?controller=event&action=view&id=727220 ses pages de détails d'événéments].<br />
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] a une syntaxe [[hcard-fr|hCard]] et [[hcalendar-fr|hCalendar]]. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original ici]).<br />
* The National Arbor Day Foundation a commencé à utiliser les hCalendars pour leurs [http://arborday.org/programs/conferences/communityforestry/index.cfm prochaines] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conférences].<br />
* [http://www.multipack.co.uk The Multipack] affiche un vevent pour l'information sur la prochaine réunion.<br />
* [http://www.stateofflux.com/ State of Flux street art site] a commencé à ajouter des événements en format hCalendar.<br />
* La [http://barcamp.org/#BarCamps page d'accueil du BarCamp liste les BarCamp à venir avec une syntaxe hCalendar] et a même un lien "Subscribe...".<br />
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the schedule and events for the week with hCalendar.<br />
* [http://www.code4lib.org/2006/schedule code4lib Conference 2006 Schedule] est balisé avec hCalendar comme [http://www.code4lib.org/node/65 annoncé sur son blog].<br />
* [http://grouper.ieee.org/groups/754 IEEE 754 Working Group] - essaye le hCalendar pour les réunions à venir.<br />
* [http://www.pehuen.org/node/494 Elecciones 2005 Chile] - le premier hcalendar espagnol trouvé dans le wild.<br />
* [http://www.codewitch.org/it/2005/11/17/no-creative-commons-no-party/ Giocolando » No Creative Commons? No Party!] est marqué avec hcalendar<br />
* [http://www.cmprofessionals.org/events/calendar.html CM Pros Events Calendar] de Bob Doyle<br />
* [http://www.midgard-project.org/community/events/ Midgard CMS Event calendar] - comme [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogué par Henri Bergius] <br />
* [http://www.iowamilitaryveteransband.com/schedule/ Iowa Military Veterans Band Schedule] - balisage hCalendar [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ ajouté par Scott Reynen]<br />
* [http://www.funfairgames.net/weblog/posts/00000011.html événements à venir sur Jason A.R. Moody Amusements Weblog] posté par Jason Moody le 15 Oct 2005. [http://www.funfairgames.net/weblog/index.html Son weblog] en général a des événements hCalendar postés à l'intérieur des billets de blog.<br />
* [http://tantek.com/microformats/2005/syndicate/tracks-sessions-schedule.html Syndicate - Tracks &amp; Sessions]<br />
* [http://tantek.com/microformats/2005/web2/program.html Web 2.0 Conference schedule page marked up with hCalendar]<br />
* [http://www.thisiscmon.com/ C'MON] est un groupe de rock du Canada, et ses [http://www.thisiscmon.com/shows/ dates de concerts] ont été marquées par [http://www.d2digitalmedia.com/ Ray Dickman] avec hCalendar.<br />
* [http://ifreebusy.com/ ifreebusy.com] will affichera l'information "freebusy" en utilisant hCalendar. Voir cet [http://ifreebusy.com/neiljensen/freebusy/ exemple].<br />
* [http://we05.com/ Web Essentials 05] a marqué son [http://we05.com/program.cfm tableau de programmes avec hCalendar], en utilisant les attributs 'axis' et 'headers'.<br />
* [http://www.asdvbonaparte.nl/ ASDV Bonaparte] est une société littéraire Hollandaise. Son calendrier d'événements est marqué avec les conventions hCalendar.<br />
* [http://chocnvodka.blogware.com/blog Suw Charman] a marqué [http://suw.org.uk/archives/category/events/ ses événements] avec hCalendar.<br />
* [http://www.blogbusinesssummit.com/ Blog Business Summit] a publié ses [http://www.blogbusinesssummit.com/details.htm détails d'événements] avec une syntaxe hCalendar.<br />
* [http://eventful.com Eventful.com] publie tous les événements avec hCalendar et les particpants avec [[hcard-fr|hCard]]. Cela leur a pris seulement 15 minutes pour implémenter les deux ! Son fil Atom contient aussi les hCalendar/hCard.<br />
* [http://upcoming.org Upcoming.org] publie tous les événements et les listes d'événements avec hCalendar. Cela leur a pris seulement une heure pour ajouter le support hCalendar au site.<br />
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events, [http://laughingsquid.com/squidlist/calendar/9949/2005/5/9 e.g. this party], supporte maintenant hCalendar.<br />
* Le site de [http://paulschreiber.com/ Paul] Schreiber, [http://concerts.shrub.ca/ Sunnyvale House Concerts] publie l'information des événements pour les concerts à venir en hcalendar. En outre la page des [http://concerts.shrub.ca/shows Past Shows] contient les événements hCalendar pour tous les concerts passés.<br />
* Le site de [http://paulschreiber.com/ Paul] Schreiber [http://iceoasis.shrub.ca/ unofficial schedule site] publie une information hcalendar pour les jeux de hockey à venir sur [http://www.iceoasis.com/ Ice Oasis]<br />
* [http://www.complexspiral.com/ Complex Spiral Consulting], à la fois dans la boîte "Events" sur le côté gauche, et la page séparée [http://www.complexspiral.com/events/ Events]. <br />
* [http://tantek.com/log Tantek's Thoughts], tout spécialement le roll "Events" dans la colonne la plus à droite.<br />
* [http://suda.co.uk/projects/holidays/ Lesser Known Holidays], liste de vacances sur [http://suda.co.uk suda.co.uk] qui peut être importée via iCal et hCal de façon à ce que vous puissiez voir la transformation versus l'objectif.<br />
* [http://norman.walsh.name/2005/itinerary/ Norm Walsh's travel schedule] utilise hCalendar tout comme GRDDL.<br />
* [http://www.policyawareweb.org/2005/ftf2/paw-mtg Policy Aware Web (PAW) Project Meeting] utilise hCalendar pour enregistrer les décisions par date et utilise un microformat vtodo pour enregistrer les items d'actions.<br />
* [http://www.kiez-ev.de/ Kiez] est un petit cinéma et a publié son [http://www.kiez-ev.de/programm.htm programme] marqué avec hCalendar.<br />
* Le [http://lufgi4.informatik.rwth-aachen.de Laboratory for Dependable Distributed Systems] publie sa [http://lufgi4.informatik.rwth-aachen.de/cfps 'list of notable CfPs on dependability and security'] avec des éléments hCalendar-todo.<br />
* La [http://laughingsquid.com/laughing-squid-10th-anniversary-party/ Laughing Squid 10th Anniversary Party] a une page hcalendar.<br />
* SPRACI a des versions hcalendar de ses listes de nightlife/clubbing/gigs/festivals pour beaucoup de villes dans le monde - par ex. : [http://www.spraci.com/listhcalendar.php?parea=sydney&category=all Events in Sydney] (regardez les [http://www.spraci.com/api/ API] pages dans la section faq de [http://www.spraci.com/ SPRACI] pour plus d'informations à propos des mots clés de la ville et les tags de catégories à utiliser pour obtenir des données pour votre ville/catégories.<br />
* WWF-Australia events calendars: [http://wwf.org.au/act/events/ What's on], [http://wwf.org.au/act/volunteer/ Volunteer]<br />
* [http://rubyholic.com rubyholic] utilise hCalendar pour publier des calendriersp pour les groupes ruby.<br />
* [http://www.bath.ac.uk/whats-on/ University of Bath What's On] utilise hCalendar sur les pages événements individuelles.<br />
<br />
=== Exemples avec quelques problèmes ===<br />
* [http://www.bokle.de/ s'Bokle] est un pub allemand de musique. Son calendrier d'événements a été marqué avec hCalendar.<br />
** usage impropre de rrule --[[User:RyanKing|RyanKing]] 16:04, 6 Jan 2006 (PST)<br />
<br />
== Implémentations ==<br />
Cette section est '''pour information'''.<br />
<br />
Les implémentations suivantes ont été développées qui soit génère ou parse les hCalendars.<br />
Si vous avez une implémentation hCalendar, sentez-vous libre de l'ajouter en haut de cette liste.<br />
Une fois que la liste sera devenue trop grosse, nous produirons une page séparée.<br />
<br />
=== Publier ===<br />
Les implémentations que vous pouvez utiliser pour rédiger, créer et publier des événements hCalendar.<br />
<br />
==== Outils de Blog et CMS ====<br />
;Midgard CMS : [http://www.midgard-project.org/documentation/net-nemein-calendar/ Midgard CMS - net.nemein.calendar] - comme c'est [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogué par Henri Bergius] <br />
<br />
;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]<br />
;MovableType et WordPress plug-ins : [http://structuredblogging.org/formats.php StructuredBlogging] est un ensemble de plugins [http://structuredblogging.org/structuredblogging-wp-latest.zip pour WordPress] et [http://structuredblogging.org/structuredblogging-wp-latest.zip pour MovableType] qui supporte l'embarquement de hCalendar et d'autre microformats dans les gabarits et les billets de blog.<br />
;Textpattern plug-in : [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] est un plugin pour [http://textpattern.com/ Textpattern] qui supporte l'embarquement de hCalendar et d'autres microformats dans les gabarits et billets de blog. Ecrit par [http://placenamehere.com/ Chris Casciano].<br />
<br />
==== Scripts et plugins pour Navigateurs ====<br />
Plugins navigateurs qui fonctionnent avec les outils de publication existants :<br />
; Tout navigateur avec javascript et un petit morceau de CSS : [http://microformats.org/code/hcalendar/creator microformats.org hCalendar creator] (vor aussi l'original : [http://theryanking.com/ Ryan King] a un [http://theryanking.com/microformats/hcalendar-creator.html hCalendar creator]).<br />
; Firefox Greasemonkey user script hCalendar creator : [http://www.decafbad.com/blog/2005/06/08/greasemonkey_magic magic_hcalendar Greasemonkey user script par Les Orchard] - permet une saisie facile par formulaire d'un événement dans n'importe quelle aire de texte, par ex. à l'intérieur d'une aire de texte pour billet de blog.<br />
; Firefox Greasemonkey user script hCalendar vers Google Calendar: [http://torrez.us Elias Torres] a créé un [http://torrez.us/archives/2006/04/13/431/ script simple] qui parsera les entrées hCalendar et créera un lien pour ajouter un événement vers [http://www.google.com/calendar/ le service de Google Calendar]. Basé sur le travail de [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats George] et de [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats Arve].<br />
<br />
==== Outil de Publication de Bureau ====<br />
;Dreamweaver Extension : [http://www.webstandards.org/action/dwtf/microformats/ Extension suite] pour Dreamweaver 8 tirée du [http://webstandards.org/ Web Standards Project].<br />
;xfy : <br />
dans la [https://www.xfytec.com/community/ Communauté xfy], il existe quelques implémentatons hCalendar.<br />
<br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&lid=25 hCalendar via RSS] parse un fil RSS, retrouve les documents XHTML liés à partir de ce fil et syndique les hCalendars à l'intérieur d'une vue calendrier.<br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=19&lid=23 hCalendar Marker XVCD] aide à marquer une information événement en document XHTML avec hCalendar. <br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&lid=17 Simple RDF Calendar XVCD] est un outil de programmation qui utilise le format RDF Calendar. Il convertir aussi le format RDF Calendar vers les formats iCalendar et hCalendar.<br />
<br />
=== Recherche et Découverte ===<br />
<br />
* [http://kitchen.technorati.com/search Technorati Microformats Search] indexe les [[hcard-fr|hCard]], [[hcalendar-fr|hCalendar]] et [[hreview-fr|hReview]] comme [http://tantek.com/log/2006/05.html#d31t1802 annoncé par Tantek]. <br />
<br />
=== Conversion et Importation ===<br />
Les implémentations que vous pouvez utiliser pour l'importation dans une application calendrier, généralement en convertissant hCalendar vers iCalendar/vCalendar.<br />
<br />
==== Web Services ====<br />
Ceux-ci renvoient des formats iCalendar (.ics) et d'autres foramts de calendrier à l'intérieur de programmes typiques de calendriers ou autre traitement.<br />
* [http://feeds.technorati.com/events Technorati Events Feed service] utilise la librairie X2V pour parser hCalendar et renvoyer iCalendar (.ics). Notez l'URL facile à retenir, par ex. http://feeds.technorati.com/events/http%3A//microformats.org<br />
* [http://suda.co.uk/projects/X2V/ X2V] parse hCalendar et produit un flux .ics (iCalendar). Note : a besoin d'être mis à jour pour garder une trace des modifications dans la spécification au fur et à mesure qu'elle arrive.<br />
* [http://lifelint.net/ Life Lint Parser] parse hCalendar et produit des informations .ics, .rdf et de débuggage et essaye d'être complètement conforme au standard iCal par rapport aux implémentations précédentes. Il peut être utilisé de la même manière que X2V. Peut produire une sorte en iCal (w optional Outlook 2002 compat), et RDF.<br />
* [http://spanningsalesforce.com/ Spanning Salesforce] produit des fils RSS hCalendar et des calendriers .ics extraits de Salesforce.com.<br />
<br />
==== Firefox Greasemonkey Plugins ====<br />
* [http://george.hotelling.net/90percent/ George] a construit un [http://george.hotelling.net/90percent/geekery/greasemonkey_and_microformats.php Greasemonkey script utilisateur qui détecte les événements hCalendar et permet aux utilisateurs de les ajouter facilement à leurs application(s) de calendrier].<br />
* [http://inside.glnetworks.de/ Martin Rehfeld] a mis à jour les travaux de [http://blogmatrix.blogmatrix.com/ David Janes] et produit un [[Greasemonkey]] [http://inside.glnetworks.de/2006/06/05/microformats-have-arrived-in-firefox-15-greasemonkey-06/ script] qui trouve beaucoup d'éléments microformats, y compris les événements hCalendar et [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 affiche un menu popup d'actions]. <br />
La conversion hCalendar en vCalendar est faite en interne dans le script. ''Ceci fonctionnera désormais bien dans FireFox 1.5+/GreaseMonkey 0.6.4+.''<br />
<br />
==== Agrégateurs ====<br />
* [http://kula.jp/software/endo/screenshots/ Endo], un agrégateur OS X supporte de découvrir les hCal et ajoute ces événements dans iCal. <br />
Regardez la photo d'écran en bas de la page.<br />
<br />
=== Browsing ===<br />
Les implémentations qui détectent, affichent et autrement soulignent les événements hCalendar dans les pages.<br />
* Dans la [http://www.xfytec.com/community/ xfy Community], il existe quelques implémentations hCalendar. "hCalendar via RSS" parse un fil RSS, retrouve les documents XHTML liés à partir de ce fil, <br />
et syndique les hCalendars à l'intérieur d'une vue calendrier.<br />
* [http://web.mit.edu/glasser/www/JSCalendar/ JSCalendar] parse hCalendar et produit un calendrier basé su du HTML table/CSS.<br />
<br />
==== Extension Firefox ====<br />
[http://blog.codeeg.com/tails-firefox-extension/ Tails est une extension Firefox] qui affichera la présence de microformats ([[hcard-fr|hCard]], [[hcalendar-fr|hCalendar]], [[hreview-fr|hReview]], [[xfolk-fr|xFolk]]) sur une page web.<br />
<br />
==== Extension Flock ====<br />
[http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - porte l'extension Tails pour Flock 0.5.12 qui cherche les hCards, hCalendar, xFolk et hReview et les secoue dans une barre supérieure bien commode.<br />
<br />
=== Librairies ===<br />
Les librairies open source des parsers hCalendar et autres codes aparentés pour construire des implémentations hCalendar.<br />
; Javascript : [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats parseur simple hCalendar] par [http://virtuelvis.com/ Arve Bersvendsen]<br />
; PHP : [http://randomchaos.com/microformats/base/ Microformat Base] est un crawler d'agrégation de microformat open-source PHP, reconnaissant actuellement hreview, hcalendar et hcard.<br />
; Ruby : [http://opensource.reevoo.com/2006/03/08/release-uformats-12/ uformats] est une librairie ruby qui peut parser [[hCalendar]], [[hCard]], [[hReview]] et [[rel-tag]]<br />
; XSLT :<br />
* X2V est disponible en tant que librairie XSLT<br />
* [http://dev.w3.org/cvsweb/2001/palmagent/ palmagent] de [[User:DanC]] comprent toICal.xsl et des contenus de tests ; <br />
elle fonctionne beaucoup comme xhtml2vcal.xsl dans X2V. Voir aussi : [http://www.w3.org/2002/12/cal/ RDF Calendar workspace] avec les contenus de test icalendar.<br />
<br />
=== Implémentations potentielles ===<br />
<br />
Ce sont des projets open source qui pourrait être améliorés potentiellement pour supporter hCalendar :<br />
<br />
* [http://www.k5n.us/webcalendar.php?topic=About WebCalendar]<br />
* [http://phpicalendar.net/documentation/index.php?title=Main_Page PHP iCalendar]<br />
* [http://www.vcalendar.org VCalendar]<br />
* Investigation: [http://wiki.mozilla.org/Calendar_Talk:Lightning#hCalendar_publish_and_subscribe_support Mozilla Calendar / Lightning / Sunbird hCalendar support discussion]<br />
<br />
== Références ==<br />
=== Références Normatives===<br />
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]<br />
* [[hcard-fr|hCard]]<br />
* [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445]<br />
<br />
=== Références Informatives ===<br />
* [http://w3.org/TR/REC-CSS1 CSS1]<br />
* [http://tantek.com/log/2004/09.html#hcalendar terme hCalendar introduit et défini sur le Web, 30 septembre 2004]<br />
* [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 Présentation HTML For Calendars, 11 septembre 2004]<br />
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Présentation : Simple Semantic Formats, 10 septembre 2004]<br />
* [http://www.ietf.org/internet-drafts/draft-royer-ical-basic-04.txt iCal-Basic draft 04]<br />
* Contributed from http://developers.technorati.com/wiki/hCalendar<br />
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]<br />
<br />
=== Travail similaire ===<br />
* [[xoxo-fr]]<br />
<br />
<br />
== Pages Apparentées ==<br />
* [http://microformats.org/code/hcalendar/creator hCalendar creator] ([[hcalendar-creator-feedback-fr|feedback]]) - créez vos propres événements hCalendar.<br />
* [[hcalendar-authoring-fr|hCalendar authoring]] - apprenez comment ajouter du balisage hCalendar à vos événements existants.<br />
* [[hcalendar-faq-fr|hCalendar FAQ]] - Si vous avez quelque question à propos du hCalendar, regardez cette page, et si vous ne trouvez pas de réponses, ajoutez vos questions !<br />
* [[hcalendar-parsing-fr|parsage hCalendar]] - Détails normatifs sur la manière de parser hCalendar.<br />
* [[hcalendar-issues-fr|problématiques hcalendar]] - SVP ajoutez tous les problèmes que vous avez avec les spécifications sur le document problématiques<br />
* [[hcalendar-profile-fr|hCalendar profile]] - Le profil XMDP pour hCalendar<br />
<br />
Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Ces pensées, problématiques et questions sont maintenues dans des pages séparées.<br />
<br />
* [[hcalendar-brainstorming-fr|hCalendar Brainstorming]] - l'endroit où nous maintenons nos brainstorms et autres explorations en rapport avec hCalendar<br />
* [[hcalendar-tests-fr|hCalendar tests]] - une page wiki avec de vrais événements embarqués hCalendar pour faire des essais de parsage.<br />
* [[icalendar-implementations-fr|implémentations iCalendar]]<br />
<br />
<br />
== Pour aller plus loin ==<br />
* [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] (required reading)<br />
* [http://www.jwz.org/doc/groupware.html Groupware Bad de Jamie Zawinski] critallise la raison pour hCalendar ('''emphase''' ajoutée ) :<br />
<blockquote>"A cette heure, les gens font cela en publiant des fichiers .ics, mais ce n'est pas trivial de faire ainsi, et c'est du travail de la part des autres personnes pour les regarder. '''If it's not HTML hanging off our friend's home page that can be viewed in any browser on a public terminal in a library, the bar to entry is too high and it's useless.'''"</blockquote><br />
<br />
* [http://muddybranch.thejkgroup.com/ Jason Klemow's blog]<br />
* [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] de [http://weblog.infoworld.com/udell Jon Udell] fournit un exemple hCalendar et quelque discussion.<br />
* Voir aussi les [http://www.technorati.com/cosmos/referer.html blogs qui discutent de cette page] et le [http://technorati.com/tags/hcalendar tag hCalendar]</div>07pagesdinfohttp://microformats.org/wiki/index.php?title=hcalendar&diff=9470hcalendar2006-10-03T09:42:18Z<p>07pagesdinfo: </p>
<hr />
<div><h1> hCalendar </h1><br />
<br />
hCalendar is a simple, open, distributed calendaring and events format, based on the iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hCalendar is one of several open [[microformats|microformat]] standards.<br />
<br />
Want to get started with writing an [[hcalendar|hCalendar]] event? Use the [http://microformats.org/code/hcalendar/creator hCalendar creator] to write up an event and publish it.<br />
<br />
<br />
__TOC__<br />
<br />
== Specification ==<br />
<br />
; Editor : [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc])<br />
; Authors : [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]<br />
: [http://suda.co.uk/ Brian Suda]<br />
<br />
=== Copyright ===<br />
{{MicroFormatCopyrightStatement2004}}<br />
<br />
=== Patents ===<br />
{{MicroFormatPatentStatement}}<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to:<br />
* Adam Bosworth for leading the [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation] which brought together a critical mass of interested parties.<br />
<br />
<br />
<br />
== Introduction ==<br />
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), has been broadly interoperably implemented (e.g. Apple's "iCal" application built into MacOSX).<br />
<br />
In addition, bloggers often discuss events on their blogs -- upcoming events, writeups of past events, etc. With just a tad bit of structure, bloggers can discuss events in their blog(s) in such a way that spiders and other aggregators can retrieve such events, automatically convert them to iCalendar, and use them in any iCalendar application or service.<br />
<br />
This specification introduces the '''hCalendar''' format, which is a 1:1 representation of the aforementioned iCalendar standard, in semantic XHTML. Bloggers can both embed hCalendar events directly in their web pages, and style them with CSS to make them appear as desired. In addition, hCalendar enables applications to retrieve information about such events directly from web pages without having to reference a separate file.<br />
<br />
== Semantic XHTML Design Principles ==<br />
<br />
{{semantic-xhtml-design-principles}}<br />
<br />
== Format ==<br />
<br />
=== In General ===<br />
<br />
The iCalendar standard ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]) forms the basis of hCalendar.<br />
<br />
Note: the editor and authors of this specification are tracking the [http://lists.osafoundation.org/pipermail/ietf-calsify/ "iCal-Basic" effort] and intend to base the core hCalendar profile on iCal-Basic. See references for a link to the current draft.<br />
<br />
The basic format of hCalendar is to use iCalendar object/property names in lower-case for class names, and to map the nesting of iCalendar objects directly into nested XHTML.<br />
<br />
=== More Semantic Equivalents ===<br />
<br />
However, for some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.:<br />
* <code>URL</code> in iCalendar becomes <code><a class="url" href="...">...</a></code> inside the element with <code>class="vevent"</code> in hCalendar.<br />
* <code>ATTENDEE</code>, <code>CONTACT</code>, and <code>ORGANIZER</code> in iCalendar may be represented by an [[hcard|hCard]] in hCalendar .<br />
* A named <code>LOCATION</code> (potentially with an address and/or geo) in iCalendar may be represented by a nested [[hcard|hCard]] in hCalendar. Similarly, an address <code>LOCATION</code> may be represented by an [[adr]], and a geo (latitude and longitude) <code>LOCATION</code> may be represented by a [[geo]].<br />
* <code>UID</code> in iCalendar simply becomes another semantic applied to a specific URL for an hCalendar event.<br />
<br />
=== Singular vs. Plural Properties ===<br />
<br />
For properties which are singular (e.g. "N" and "FN" from vCard), the first descendant element with that class should take effect, any others being ignored.<br />
<br />
For properties which can be plural (e.g. "TEL" from vCard), each class instance should create a instance of that property. Plural properties with subtypes (e.g. TEL with WORK, HOME, CELL from vCard) can be optimized to share a common element for the property itself, with each instance of subtype being an appropriately classed descendant of the property element.<br />
<br />
==== Plural Properties Singularized ====<br />
<br />
Since plural property names become their singular equivalents, even if the original plural property permitted only a single value with multiple components, those multiple components are represented each with their own singularly named property and the the property is effectively multivalued and subject to the above treatment of multivalued properties.<br />
<br />
=== Human vs. Machine readable ===<br />
If an <code><nowiki><abbr></nowiki></code> element is used for a property, then the '<code>title</code>' attribute of the <code><nowiki><abbr></nowiki></code> element is the value of the property, instead of the contents of the element, which instead provide a human presentable version of the value. This specification recommends that such <code><nowiki><abbr></nowiki></code> elements be used for the following iCalendar properties:<br />
* DTSTART, DTEND, DURATION, RDATE, RRULE<br />
<br />
== Example ==<br />
<br />
Here is a sample event in an iCalendar:<br />
<pre><nowiki><br />
BEGIN:VCALENDAR<br />
PRODID:-//XYZproduct//EN<br />
VERSION:2.0<br />
BEGIN:VEVENT<br />
URL:http://www.web2con.com/<br />
DTSTART:20051005<br />
DTEND:20051008<br />
SUMMARY:Web 2.0 Conference<br />
LOCATION:Argent Hotel\, San Francisco\, CA<br />
END:VEVENT<br />
END:VCALENDAR<br />
</nowiki></pre><br />
and an equivalent event in hCalendar format with various elements optimized appropriately. See [[hcalendar-example1-steps]] for the derivation.<br />
<br />
<pre><nowiki><br />
<span class="vevent"><br />
<a class="url" href="http://www.web2con.com/"><br />
<span class="summary">Web 2.0 Conference</span>: <br />
<abbr class="dtstart" title="2005-10-05">October 5</abbr>-<br />
<abbr class="dtend" title="2005-10-08">7</abbr>,<br />
at the <span class="location">Argent Hotel, San Francisco, CA</span><br />
</a><br />
</span><br />
</nowiki></pre><br />
which could be displayed as:<br />
<br />
[http://www.web2con.com/ Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA]<br />
<br />
<br />
The following example specifies a scheduled meeting that begins<br />
at 8:30 AM EST on March 12, 1998 and ends at 9:30 AM EST on March 12,<br />
1998. <br />
<br />
<pre><nowiki><br />
BEGIN:VCALENDAR<br />
BEGIN:VEVENT<br />
UID:guid-1.host1.com<br />
DTSTAMP:19980309T231000Z<br />
DESCRIPTION:Project XYZ Review Meeting<br />
SUMMARY:XYZ Project Review<br />
DTSTART:19980312T133000Z<br />
DTEND:19980312T143000Z<br />
LOCATION:1CP Conference Room 4350<br />
END:VEVENT<br />
END:VCALENDAR<br />
</nowiki></pre><br />
<br />
The equivalent in hCalendar:<br />
<br />
<pre><nowiki><br />
<div class="vevent"><br />
<h3 class="summary">XYZ Project Review</h3><br />
<p class="description">Project XYZ Review Meeting</p><br />
<p>To held on <abbr class="dtstart" title="1998-03-12T08:30:00-05:00">12 March 1998 from 8:30am EST</abbr> <br />
until <abbr class="dtend" title="1998-03-12T09:30:00-05:00">9:30am EST</abbr></p><br />
<p>Location: <span class="location">1CP Conference Room 4350</span></p><br />
<small>Booked by: <span class="uid">guid-1.host1.com</span> on <abbr class="dtstamp" title="19980309T231000Z">9 Mar 1998 6:00pm</abbr></small><br />
</div><br />
</nowiki></pre><br />
<br />
This could be displayed as:<br />
<br />
----<br />
<br />
<div class="vevent"><br />
<h3 class="summary">XYZ Project Review</h3><br />
<p class="description">Project XYZ Review Meeting</p><br />
<p>To held on <abbr class="dtstart" title="1998-03-12T08:30:00-05:00">12 March 1998 from 8:30am EST</abbr> <br />
until <abbr class="dtend" title="1998-03-12T09:30:00-05:00">9:30am EST</abbr></p><br />
<p>Location: <span class="location">1CP Conference Room 4350</span></p><br />
<small>Booked by: <span class="uid">guid-1.host1.com</span> on <br />
<abbr class="dtstamp" title="19980309T231000Z">9 Mar 1998 6:00pm</abbr></small></div><br />
<br />
----<br />
<br />
<br />
<br />
Note 1: The product information is not necessary since hCalendar is an interchange format. When transforming hCalendar back into iCalendar, the transforming engine should add its own product ID.<br />
<br />
Note 2: A surrounding <code><nowiki><span class="vcalendar"></nowiki></code> element is optional, and is left out as such. It is optional since the context of a vcalendar is implied when a vevent is encountered. The implied context/scope is that of the document. Authors may explicitly use elements with class="vcalendar" to wrap sets of vevents that all belong to the same calendar, e.g. when publishing multiple calendars on the same page.<br />
<br />
Note 3: The version information is unnecessary in hCalendar markup directly since the version will be defined by the profile of hCalendar that is used/referred to in the 'profile' attribute of the <head> element.<br />
<br />
Note 4: ISO8601 dates (required by iCalendar) are not very human friendly. In addition, the year is often understood implicitly by humans from the context. Thus <code><nowiki><abbr></nowiki></code> elements are used to simultaneously provide a human friendly date and/or time in the visible contents of the element, while placing the respective machine parsable comprehensive ISO8601 datetime in the 'title' attribute.<br />
The notation <code>YYYY-MM-DDThh:mm:ss</code> should be used for better readability, following the format of RFC 3339.<br />
<br />
Note 5: The difference between the DTEND ISO8601 date (2005-10-08) and the human readable date (7) is NOT a mistake. [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND is exclusive], meaning, that the event ends just before the DTEND. Thus for events which start on one day and end on another day, the DTEND date must be specified as the day after the day that a human would say is the last day of the event.<br />
<br />
Note 6: The location in this example contains implicit structure (venue name, city, state) which could be marked up explicitly as an [[hcard|hCard]]. See [http://microformats.org/wiki/hcalendar-brainstorming#hCard_locations hCalendar brainstorming: hCard locations] for a informative explanation of how to do this.<br />
<br />
See [[hcalendar-examples]] for more hCalendar examples<br />
<br />
== Examples in the wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented hCalendar, and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If events on your pages are marked up with hCalendar, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.<br />
<br />
=== New Examples ===<br />
Please add new examples to this section.<br />
<br />
* [http://07.pagesd.info/ardeche/agenda.aspx 07.pagesd.info] uses hCalendar and hCard to mark up events of the Ardèche département in France.<br />
* [http://climbtothestars.org Stephanie Booth] announced the [http://climbtothestars.org/archives/2006/09/14/microformats-et-bloggy-friday-doctobre/ Bloggy Friday for October 2006] using hCalendar.<br />
* The [http://www.westmidlandbirdclub.com/ West Midland Bird Club], in the English Midlands, uses hCal (with nested hCard) on its [http://www.westmidlandbirdclub.com/diary/ diary of birding events].<br />
* [http://webdirections.org/program/ The Web Directions Conference (Sydney Australia)] uses hCalendar for their program. It uses axis and headers for events in a table, and demonstrates how easy it is to make the whole thing downloadable using X2V.<br />
* [http://www.thestreet.org.au/ The Street Theatre (Canberra, Australia)] now uses hCalendar for performances on its [http://www.thestreet.org.au/whats_on.htm What's On] page.<br />
* [http://www.clacksweb.org.uk Clackmannanshire Council] uses hCalendar on its [http://www.clacksweb.org.uk/community/events/ event diary] listing pages and individual event pages.<br />
* [http://www.markthisdate.com/ Calendarportal MarkThisDate.com] now uses hCalendar for all calendars. On our website visitors can add calendars and download calendars to Outlook, Lotus Notes, iCal, Netvibes, 30Boxes, Google Calendar and many others. Over 600 calendars were already uploaded. <br />
* [http://mogue.jp/ mogue] uses hCalendar at [http://mogue.jp/event/1000/ event detail] pages.<br />
* [http://www.gustavus.edu/events/nobelconference/2006/schedule.cfm 2006 Nobel Conference] uses hCalendar for the conference schedule<br />
* [http://www.geekinthepark.co.uk Geek in the Park] uses hCalendar for the event information. -- by [[User:Trovster|trovster]]<br />
* [http://www.besancon.fr/ official site of Besançon (France)] for its events<br />
* [http://2006.dconstruct.org/schedule/ Conference schedule for d.Construct 2006] is published using hCalendar.<br />
* [http://local.yahoo.com Yahoo Local] now supports hCalendar<br />
* We used hcalendar for the [http://www.fuckparade.org/flyer/2006/ F’parade flyer 2006], a counter demonstration to the Love Parade in Berlin, alas the '''Firefox tails extension''' doesn't get a summary when it's an alt-text in an image.<br />
* [http://www.harper-adams.ac.uk/press/events.cfm Harper Adams University College] uses hCalendar to mark up all University events on the Homepage and Events Calendar page.<br />
* [http://www.capital.edu/ Capital University] uses hCalendar on multiple pages to provide feeds of events, relevant to page content<br />
* [http://www.thesession.org/events/ The Session events] uses hCalendar to mark up concerts, festivals and workshops related to Irish traditional music.<br />
* [http://rubyandrails.org/usergroups/newcastle ncl.rb] uses hCalendar to mark up new meetings.<br />
* [http://www.worldcupkickoff.com/ World Cup KickOff] where you can download and keep all the fixtures you are interested in so you will never miss a single game of the 2006 football World Cup!<br />
** This link was on the [http://www.lifehacker.com/software/sports/world-cup-start-times-for-ical-etc-175393.php Lifehackers site] and made its way to the yahoo news site:<br />
<br />
Mon May 22, 4:00 PM ET<br />
The World Cup, one of the world's most watched sporting events, is almost upon us. If you've ever tried to follow your favorite team through the Cup you know that it can sometimes be difficult to know when they're on. World Cup Kickoff can help.<br />
<br />
World Cup KickOff is all you will ever need for knowing all the match details for the upcoming World Cup 2006. Whether you use your mobile phone, MS Outlook, Apple iCal or Mozilla Calendar, you can download and keep all the fixtures you are interested in so you will never miss a single game!<br />
ADVERTISEMENT<br />
<br />
Next tip? We'll show you how to get up at 2 AM to watch your matches. ;0) Thanks to Tom for the tip!<br />
<br />
* [http://gross.org.za/calendar GROSSUG Calendar] - Uses hCalendar to mark up meetings and other events.<br />
* [http://www.webanalyticsassociation.org/en/calendarevents/search.asp Web Analytics Association] - hCalendar microformat is in place on all Tendenci sites on the calendar events search page and consolidated list page.<br />
* [http://www.tendenci.com/en/calendarevents/search.asp Tendenci Calendar Events] with hCalendar<br />
* [http://www.argolon.com/2006/04/17/web20-conference-in-dublin/ Web2.0 Conference in Dublin] hCalendar event<br />
* [http://www.meetup.com/ Meetup.com] has marked up [http://www.meetup.com/cities/us/ny/new_york city event calendars], [http://photo.meetup.com/100/events/ group event lists], and [http://www.meetup.com/ signed-in homepages] with hCalendar.<br />
* [http://ukwindsurfing.com/ ukwindsurfing.com] has marked upcoming events with hCalendar, and the [http://ukwindsurfing.com/events/ events page] in a table.<br />
* [http://ocono.com/ ocono.com] has marked up it's "Upcoming Events" list with hCalendar.<br />
* [http://www.austinbloggers.org/ Austin Bloggers] has marked up their "Upcoming Events" box with hCalendar ([http://www.austinbloggers.org/blog/a/001123.html announcement]).<br />
* Ning's cloneable Group app has [[hcalendar|hCalendar]] markup on its [http://group.ning.com/index.php?controller=event&action=list event calendar] and [http://group.ning.com/index.php?controller=event&action=view&id=727220 event detail] pages.<br />
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] has [[hcard|hCard]] and [[hcalendar|hCalendar]] markup. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original here]).<br />
* The National Arbor Day Foundation has started using hCalendars for their [http://arborday.org/programs/conferences/communityforestry/index.cfm upcoming] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conferences].<br />
* [http://www.stateofflux.com/ State of Flux street art site] has started adding events in hCalendar format<br />
* The [http://barcamp.org/#BarCamps BarCamp home page lists upcoming BarCamps marked up with hCalendar] and even has a "Subscribe..." link.<br />
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the schedule and events for the week with hCalendar.<br />
* [http://www.code4lib.org/2006/schedule code4lib Conference 2006 Schedule] is marked up with hCalendar as [http://www.code4lib.org/node/65 announced on their blog].<br />
* [http://grouper.ieee.org/groups/754 IEEE 754 Working Group] - trying hCalendar for upcoming meetings.<br />
* [http://www.pehuen.org/node/494 Elecciones 2005 Chile] - the first spanish language hCalendar event found in the wild.<br />
* [http://www.codewitch.org/it/2005/11/17/no-creative-commons-no-party/ Giocolando » No Creative Commons? No Party!] is marked up with hCalendar<br />
* [http://www.cmprofessionals.org/events/calendar.html CM Pros Events Calendar] by Bob Doyle<br />
* [http://www.midgard-project.org/community/events/ Midgard CMS Event calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] <br />
* [http://www.iowamilitaryveteransband.com/schedule/ Iowa Military Veterans Band Schedule] - hCalendar markup [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ added by Scott Reynen]<br />
* [http://www.funfairgames.net/weblog/posts/00000011.html Upcoming events on Jason A.R. Moody Amusements Weblog] posted by Jason Moody on 15 Oct 2005. [http://www.funfairgames.net/weblog/index.html His weblog] in general has hCalendar events posted inside the blog posts.<br />
* [http://tantek.com/microformats/2005/syndicate/tracks-sessions-schedule.html Syndicate - Tracks &amp; Sessions]<br />
* [http://tantek.com/microformats/2005/web2/program.html Web 2.0 Conference schedule page marked up with hCalendar]<br />
* [http://www.thisiscmon.com/ C'MON] is a rock band from Canada, and their [http://www.thisiscmon.com/shows/ tour dates] have been marked up by [http://www.d2digitalmedia.com/ Ray Dickman] with hCalendar.<br />
* [http://ifreebusy.com/ ifreebusy.com] will display freebusy information using hCalendar. See this [http://ifreebusy.com/neiljensen/freebusy/ example].<br />
* [http://we05.com/ Web Essentials 05] has marked up their [http://we05.com/program.cfm program schedule table with hCalendar], using the 'axis' and 'headers' attributes.<br />
* [http://www.asdvbonaparte.nl/ ASDV Bonaparte] is a Dutch debating society. Their events calendar has been marked up with the hCalendar conventions.<br />
* [http://chocnvodka.blogware.com/blog Suw Charman] has marked up [http://suw.org.uk/archives/category/events/ her events] with hCalendar.<br />
* [http://www.blogbusinesssummit.com/ Blog Business Summit] has published their [http://www.blogbusinesssummit.com/details.htm event details] marked up with hCalendar.<br />
* [http://eventful.com Eventful.com] publishes all events with hCalendar and venues with [[hcard|hCard]]. Took them only 15 minutes to implement both! Their Atom feeds also contain hCalendar/hCard.<br />
* [http://upcoming.org Upcoming.org] publishes all events and lists of events with hCalendar. Took them only an hour to add hCalendar support to the site.<br />
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events, [http://laughingsquid.com/squidlist/calendar/9949/2005/5/9 e.g. this party], now supports hCalendar.<br />
* [http://paulschreiber.com/ Paul] Schreiber's [http://concerts.shrub.ca/ Sunnyvale House Concerts] site publishes hCalendar event information for upcoming concerts. In addition the [http://concerts.shrub.ca/shows Past Shows] page contains hCalendar events for all past concerts.<br />
* [http://www.complexspiral.com/ Complex Spiral Consulting], both in the "Events" box on left side, and the separate [http://www.complexspiral.com/events/ Events page]. <br />
* [http://tantek.com/log Tantek's Thoughts], specifically the "Events" roll in the right-most column.<br />
* [http://suda.co.uk/projects/holidays/ Lesser Known Holidays], a list of holidays on [http://suda.co.uk suda.co.uk] that can be imported via iCal and hCal so you can compare actual transformation versus intended.<br />
* [http://norman.walsh.name/2005/itinerary/ Norm Walsh's travel schedule] use hCalendar as well as GRDDL.<br />
* [http://www.policyawareweb.org/2005/ftf2/paw-mtg Policy Aware Web (PAW) Project Meeting] uses hCalendar to record date-related decisions, and uses a vtodo microformat to record action items.<br />
* The [http://lufgi4.informatik.rwth-aachen.de Laboratory for Dependable Distributed Systems] publishes it's [http://lufgi4.informatik.rwth-aachen.de/cfps list of notable CfPs on dependability and security] with hCalendar-todo elements.<br />
* The [http://laughingsquid.com/laughing-squid-10th-anniversary-party/ Laughing Squid 10th Anniversary Party] has an hcalendar page.<br />
* SPRACI has hcalendar versions of its nightlife/clubbing/gigs/festivals listings for many cities worldwide - eg: [http://www.spraci.com/listhcalendar.php?parea=sydney&category=all Events in Sydney] (check the [http://www.spraci.com/api/ API] pages in the faq section of [http://www.spraci.com/ SPRACI] for more info about the area/city keywords and category tags to use to get data for your city/categories<br />
* WWF-Australia events calendars: [http://wwf.org.au/act/events/ What's on], [http://wwf.org.au/act/volunteer/ Volunteer]<br />
* [http://rubyholic.com rubyholic] uses hCalendar to publish calendars for ruby groups.<br />
* [http://www.bath.ac.uk/whats-on/ University of Bath What's On] uses hCalendar on individual event pages<br />
* The [http://www.kiez-ev.de/ Kiez] is a small cinema and has published its [http://www.kiez-ev.de/programm program] marked up with hCalendar<br />
<br />
=== Examples with some problems ===<br />
* [http://www.bokle.de/ s'Bokle] is a German music pub. Their events calendar has been marked up with hCalendar.<br />
** improper use of rrule --[[User:RyanKing|RyanKing]] 16:04, 6 Jan 2006 (PST)<br />
* [http://plan9.tryphon.org/nancy/list Plan9] - Uses hCalendar to mark up events !<br />
** dtstart/dtend are implemented on span element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
* [http://www.socaltech.com socalTECH] is a news and information site. Their front page event listing is marked up with hCalendar.<br />
** dtstart/dtend implemented on span element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
* [http://www.multipack.co.uk The Multipack] features a vevent for the next meeting information.<br />
** dtstart/dtend are implemented on em element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
* [http://paulschreiber.com/ Paul] Schreiber's [http://iceoasis.shrub.ca/ unofficial schedule site] publishes hCalendar information for upcoming hockey games at [http://www.iceoasis.com/ Ice Oasis]<br />
** dtstart/dtend are implemented on td element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
<br />
- whilst Tails parses dtstart/dtend on <em>any</em> element, technically it really needs to be on abbr. Technorati Microformats Search only looks for the title element on <code><nowiki><abbr></nowiki></code> tags, for instance.<br />
<br />
== Implementations ==<br />
This section is '''informative'''.<br />
<br />
The following implementations have been developed which either generate or parse hCalendars. If you have an hCalendar implementation, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.<br />
<br />
=== Authoring ===<br />
Implementations you can use to author, create, and publish hCalendar events.<br />
<br />
==== Blogging and CMS tools ====<br />
;Midgard CMS : [http://www.midgard-project.org/documentation/net-nemein-calendar/ Midgard CMS - net.nemein.calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] <br />
<br />
;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]<br />
;MovableType and WordPress plug-ins : [http://structuredblogging.org/formats.php StructuredBlogging] is a set of plugins [http://structuredblogging.org/structuredblogging-wp-latest.zip for WordPress] and [http://structuredblogging.org/structuredblogging-wp-latest.zip for MovableType] that supports embedding hCalendar and other microformats in templates and blog posts.<br />
;Textpattern plug-in : [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding hCalendar and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].<br />
<br />
==== Browser scripts and plug-ins ====<br />
Browser plugins that work with existing authoring tools:<br />
; Any browser with javascript and a little bit of CSS : [http://microformats.org/code/hcalendar/creator microformats.org hCalendar creator] (see also original: [http://theryanking.com/ Ryan King] has an [http://theryanking.com/microformats/hcalendar-creator.html hCalendar creator]).<br />
; Firefox Greasemonkey user script hCalendar creator : [http://www.decafbad.com/blog/2005/06/08/greasemonkey_magic magic_hcalendar Greasemonkey user script by Les Orchard] - allows easy form entry of an event into any textarea, e.g. into a blog post text area.<br />
; Firefox Greasemonkey user script hCalendar to Google Calendar: [http://torrez.us Elias Torres] has created a [http://torrez.us/archives/2006/04/13/431/ simple script] that will parse hCalendar entries and create a link to add event to [http://www.google.com/calendar/ Google Calendar's] service. Based on [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats George's] and [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats Arve's] work.<br />
<br />
==== Desktop Authoring Tools ====<br />
;Dreamweaver Extension : [http://www.webstandards.org/action/dwtf/microformats/ Extension suite] for Dreamweaver 8 from the [http://webstandards.org/ Web Standards Project].<br />
;xfy : <br />
In [https://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations.<br />
<br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&lid=25 hCalendar via RSS] parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.<br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=19&lid=23 hCalendar Marker XVCD] helps to mark up an event information in XHTML document with hCalendar. <br />
* [https://www.xfytec.com/community/modules/mydownloads/singlefile.php?cid=15&lid=17 Simple RDF Calendar XVCD] is a schedule tool which uses RDF Calendar format. It also converts RDF Calendar format to iCalendar and hCalendar format.<br />
<br />
=== Search and Discovery ===<br />
<br />
* [http://kitchen.technorati.com/search Technorati Microformats Search] indexes [[hcard|hCard]], [[hcalendar|hCalendar]], and [[hreview|hReview]] as [http://tantek.com/log/2006/05.html#d31t1802 announced by Tantek]. <br />
<br />
=== Conversion and Import ===<br />
Implementations you can use to importing into a Calendar Application, typically by converting hCalendar to iCalendar/vCalendar.<br />
<br />
==== Web Services ====<br />
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.<br />
* [http://feeds.technorati.com/events Technorati Events Feed service] uses X2V library to parse hCalendar and return iCalendar (.ics). Note friendly URL, e.g. http://feeds.technorati.com/events/http%3A//microformats.org<br />
* [http://suda.co.uk/projects/X2V/ X2V] parses hCalendar and produces a .ics (iCalendar) stream. Note: needs to be updated to track changes in the specification as they occur.<br />
* [http://lifelint.net/ Life Lint Parser] parses hCalendar and produces .ics, .rdf and debugging information and attempts to be more fully compliant to the iCal standard than previous implementations. It can be used in the same manner as X2V. Can output iCal (w optional Outlook 2002 compat), and RDF.<br />
* [http://spanningsalesforce.com/ Spanning Salesforce] produces hCalendar-enabled RSS feeds and .ics calendars from Salesforce.com.<br />
<br />
==== Firefox Greasemonkey Plugins ====<br />
* [http://george.hotelling.net/90percent/ George] has built a [http://george.hotelling.net/90percent/geekery/greasemonkey_and_microformats.php Greasemonkey user script that detects hCalendar events and allows users to easily add them to their calendar application(s)].<br />
* [http://inside.glnetworks.de/ Martin Rehfeld] has updated the work of [http://blogmatrix.blogmatrix.com/ David Janes] and produced a [[Greasemonkey]] [http://inside.glnetworks.de/2006/06/05/microformats-have-arrived-in-firefox-15-greasemonkey-06/ script] that finds many microformat elements, including hCalendar events, and [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 provides a popup menu of actions]. The hCalendar to vCalendar conversion is done internally within the script. ''This will work with FireFox 1.5+/GreaseMonkey 0.6.4+ now.''<br />
<br />
==== Aggregators ====<br />
* [http://placenamehere.com/mf/nnwextract/ Extract Microformats] is a script for NetNewsWire that supports extracting hCard and hCalendar data in blog posts (via technorati service). Written by [[User:ChrisCasciano|Chris Casciano]]<br />
* [http://kula.jp/software/endo/screenshots/ Endo], an OS X aggregator, supports discovering hCal and adding those events to iCal. Look at the last screenshot at the bottom of the page.<br />
<br />
=== Browsing ===<br />
Implementations that detect, display and otherwise highlight hCalendar events in pages.<br />
<br />
* In [http://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations. "hCalendar via RSS" parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.<br />
* [http://web.mit.edu/glasser/www/JSCalendar/ JSCalendar] parses hCalendar and produces a displayable HTML table/CSS-based calendar.<br />
<br />
==== Firefox extension ====<br />
[http://blog.codeeg.com/tails-firefox-extension/ Tails is a Firefox Extension] that will display the presence of microformats ([[hcard|hCard]], [[hcalendar|hCalendar]], [[hreview|hReview]], [[xfolk|xFolk]]) on a webpage.<br />
<br />
==== Flock extension ====<br />
[http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - port of Tails extension for Flock 0.5.12 that looks for hCards, hCalendar, xFolk and hReview and tosses them into a handy topbar<br />
<br />
=== Libraries ===<br />
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations.<br />
; Javascript : [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats simple hCalendar parser] by [http://virtuelvis.com/ Arve Bersvendsen]<br />
; PHP : [http://randomchaos.com/microformats/base/ Microformat Base] is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard.<br />
; Ruby : [http://opensource.reevoo.com/2006/03/08/release-uformats-12/ uformats] is a ruby library that can parse [[hCalendar]], [[hCard]], [[hReview]] and [[rel-tag]]<br />
; XSLT :<br />
* X2V is available as an XSLT library<br />
* [http://dev.w3.org/cvsweb/2001/palmagent/ palmagent] by [[User:DanC]] includes toICal.xsl and test materials; it works much like xhtml2vcal.xsl in X2V. See also: [http://www.w3.org/2002/12/cal/ RDF Calendar workspace] with icalendar test materials.<br />
<br />
=== Potential implementations ===<br />
<br />
These are open source projects that could be potentially enhanced to support hCalendar.<br />
<br />
* [http://www.k5n.us/webcalendar.php?topic=About WebCalendar]<br />
* [http://phpicalendar.net/documentation/index.php?title=Main_Page PHP iCalendar]<br />
* [http://www.vcalendar.org VCalendar]<br />
* Investigation: [http://wiki.mozilla.org/Calendar_Talk:Lightning#hCalendar_publish_and_subscribe_support Mozilla Calendar / Lightning / Sunbird hCalendar support discussion]<br />
<br />
== References ==<br />
=== Normative References ===<br />
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]<br />
* [[hcard|hCard]]<br />
* [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445]<br />
<br />
=== Informative References ===<br />
* [http://w3.org/TR/REC-CSS1 CSS1]<br />
* [http://tantek.com/log/2004/09.html#hcalendar hCalendar term introduced and defined on the Web, 20040930]<br />
* [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation, 20040911]<br />
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Simple Semantic Formats presentation, 20040910]<br />
* [http://www.ietf.org/internet-drafts/draft-royer-ical-basic-04.txt iCal-Basic draft 04]<br />
* Contributed from http://developers.technorati.com/wiki/hCalendar<br />
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]<br />
<br />
==== Specifications That Use hCalendar ====<br />
* [[hreview|hReview]]<br />
<br />
==== Similar Work ====<br />
* [http://lists.osafoundation.org/pipermail/ietf-calsify/ IETF-calsify archives]<br />
* [http://www.softwarestudio.org/iCal/2445Issues.html RFC2445 Issues List]<br />
* [http://ietf.webdav.org/calsify/ CALSIFY WG Links And Resources]<br />
<br />
== Related Pages ==<br />
* [http://microformats.org/code/hcalendar/creator hCalendar creator] ([[hcalendar-creator-feedback|feedback]]) - create your own hCalendar events.<br />
* [[hcalendar-authoring|hCalendar authoring]] - learn how to add hCalendar markup to your existing events.<br />
* [[hcalendar-intro]] ''draft'' '''plain English''' introduction (for use in Evangelism)<br />
* [[hcalendar-faq|hCalendar FAQ]] - If you have any questions about hCalendar, check here, and if you don't find answers, add your questions!<br />
* [[hcalendar-parsing|hCalendar parsing]] - Normatively details of how to parse hCalendar.<br />
* [[hcalendar-issues|hCalendar issues]] - Please add any issues with the specification to the issues page.<br />
* [[hcalendar-profile|hCalendar profile]] - The XMDP profile for hCalendar<br />
<br />
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.<br />
<br />
* [[hcalendar-brainstorming|hCalendar Brainstorming]] - where we are keeping our brainstorms and other explorations relating to hCard<br />
* [[hcalendar-tests|hCalendar tests]] - a wiki page with actual embedded hCalendar events to try parsing.<br />
* [[icalendar-implementations|iCalendar implementations]]<br />
<br />
== Further Reading ==<br />
* [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] (required reading)<br />
* [http://www.jwz.org/doc/groupware.html Groupware Bad by Jamie Zawinski] crystalizes the reason for hCalendar ('''emphasis''' added):<br />
<blockquote>Right now people can do that by publishing .ics files, but it's not trivial to do so, and it's work on the part of other people to look at them. '''If it's not HTML hanging off our friend's home page that can be viewed in any browser on a public terminal in a library, the bar to entry is too high and it's useless.'''</blockquote><br />
<br />
* [http://muddybranch.thejkgroup.com/ Jason Klemow's blog]<br />
* [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] by [http://weblog.infoworld.com/udell Jon Udell] provides an hCalendar example and some discussion.<br />
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page] and the [http://technorati.com/tags/hcalendar hCalendar tag]<br />
* [http://en.wikipedia.org/wiki/HCalendar Wikipedia article on hCalendar] (requires expansion)</div>07pagesdinfohttp://microformats.org/wiki/index.php?title=geo&diff=6649geo2006-05-23T07:34:18Z<p>07pagesdinfo: /* Examples in the wild */</p>
<hr />
<div><h1> geo </h1><br />
<br />
'''geo''' (working name, pronounced "gee-oh") is a simple format for marking up geographic latitude longitude information, suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. '''geo''' is a 1:1 representation of the "geo" property in the vCard standard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]) in XHTML, one of several open [[microformats|microformat]] standards.<br />
__TOC__<br />
<br />
== Draft Specification ==<br />
<br />
=== Editor/Author ===<br />
[http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc.]<br />
<br />
=== Copyright ===<br />
{{MicroFormatCopyrightStatement2005}}<br />
<br />
=== Patents ===<br />
{{MicroFormatPatentStatement}}<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the [[geo-bof-2005-06-30|Geo Microformat BOF at O'Reilly's Where 2.0 conference]], and in particular to [http://radar.oreilly.com/nat/ Nat Torkington] and Vee McMillen of [http://oreilly.com O'Reilly] for [http://conferences.oreillynet.com/cs/where2005/view/e_sess/7476 arranging and hosting the BOF]. Thanks to Chris Hibbbert for providing the [http://www.geocaching.com/seek/cache_details.aspx?guid=dc4754bf-64d5-4f28-8715-45ad2505c86f real world geo-caching example].<br />
<br />
== Introduction and Background ==<br />
The vCard standard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]), has been broadly and interoperably implemented (e.g. Apple's Address Book application). The [[hcard|hCard]] microformat has similarly received significant adoption, from numerous sites publishing the format, to hCard to vCard proxies, to clientside javascript parsers.<br />
<br />
At the [http://conferences.oreillynet.com/where/ Where 2.0 conference] in June 2005, there was widespread recognition that the community needed a way to simply and easily publish visible, extractable, geographic location information on the Web, given how often bloggers, and numerous other sites publish such information. The [[geo-bof-2005-06-30|geo microformat BOF]] discussed this very topic, and concluded with a consensus decision to just try using ''geo'' from vCard/hCard.<br />
<br />
This specification introduces the '''geo''' microformat, which is a 1:1 representation of the aforementioned ''geo'' property from the vCard standard, by simply reusing the ''geo'' property and sub-properties as-is from the [[hcard|hCard]] microformat.<br />
<br />
Publishers can both embed '''geo''' addresses directly in their web pages and feeds, as well as markup existing addresses in the context of the rest of the information in their web pages and feeds.<br />
<br />
If the publisher knows and is publishing the ''name'' of the location in addition to its geo lat/long, then the publisher MUST use [[hcard|hCard]] instead of just '''geo''' to publish the name and geo lat/long of the location.<br />
<br />
If the publisher knows and is publishing the address of the location, OR if the address of the location was what was actually entered by a human, and the publisher simply turned that into lat/long using some sort of a service, then the publisher SHOULD use [[adr]] to publish the actual human entered address information since communicates far more semantic information than a simple geo lat/long coordinate.<br />
<br />
== Semantic XHTML Design Principles ==<br />
{{semantic-xhtml-design-principles}}<br />
<br />
== Format ==<br />
=== Singular Properties ===<br />
<br />
Note that all the properties in '''geo''' are singular properties, and thus the first descendant element with that class should take effect, any others being ignored.<br />
<br />
=== Human vs. Machine readable ===<br />
<br />
If an <code>&lt;abbr&gt;</code> element is used for a property, then the <code>title</code> attribute of the <code>&lt;abbr&gt;</code> element is the value of the property, instead of the contents of the element, which instead provide a human presentable version of the value.<br />
<br />
=== Value excerpting ===<br />
<br />
Sometimes only part of an element which is the equivalent for a property should be used for the value of the property. For this purpose, the special class name <code>value</code> is used to excerpt out the subset of the element that is the value of the property. See [[hcard|hCard]] for details on this.<br />
<br />
=== Root Class Name ===<br />
<br />
The root class name for an geo location is <code>geo</code>.<br />
<br />
=== Property List ===<br />
<br />
This is the list of properties in geo, taken from [[hcard|hCard]]:<br />
<br />
* latitude<br />
* longitude<br />
<br />
=== XMDP Profile ===<br />
<br />
See [[hcard-profile]] for the [http://gmpg.org/xmdp XMDP] profile of hCard which contains the above complete list of properties, with references to their RFC 2426 definitions.<br />
<br />
=== Parsing Details ===<br />
<br />
See [[hcard-parsing|hCard parsing]], with the only difference being that "geo" is the root class name, rather than "vcard".<br />
<br />
== Examples ==<br />
<br />
This section is informative.<br />
<br />
=== Sample geo ===<br />
<br />
Here is a sample of published lat/long info (from [http://www.geocaching.com/seek/cache_details.aspx?guid=dc4754bf-64d5-4f28-8715-45ad2505c86f geocaching: Noble Steed]):<br />
<br />
<pre><nowiki><br />
N 37° 24.491 W 122° 08.313<br />
</nowiki></pre><br />
<br />
With geo markup:<br />
<br />
<pre><nowiki><br />
<div class="geo"><br />
<abbr class="latitude" title="37.408183">N 37° 24.491</abbr> <br />
<abbr class="longitude" title="-122.13855">W 122° 08.313</abbr><br />
</div><br />
</nowiki></pre><br />
<br />
This geo might be displayed as:<br />
<br />
<abbr class="latitude" title="37.408183">N 37° 24.491</abbr> <br />
<abbr class="longitude" title="-122.13855">W 122° 08.313</abbr><br />
<br />
=== More Examples ===<br />
<br />
See [http://microformats.org/wiki/hcard-examples#3.2.1_GEO_Type_Definition hCard example geo] for more examples.<br />
<br />
== Examples in the wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have published geos, outside their normal context of hCards, and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc., in addition to [[hcard|hCard]] examples in the wild. If you find geos outside of hCards anywhere else, feel free to add them to the top of this list. Once the list grows too big, we'll make a separate wiki page.<br />
<br />
* [http://ocono.com/ ocono.com] has marked each of it's "Upcoming Events" items with lat/long values.<br />
* [http://harry.hchen1.com/mylife.htm Harry Chen has marked up his geo location]<br />
* [http://www.multimap.com Multimap.com] uses the geo microformat to mark up latitude and longitude values on map pages.<br />
* [http://rasterweb.net/raster/ Pete Prodoehl] geotags posts on his blog.<br />
* [http://07.pagesd.info/ 07.pagesd.info] uses the geo microformat to mark up latitude and longitude values for each commune of the Ardèche département in France.<br />
<br />
== Implementations ==<br />
This section is '''informative'''.<br />
<br />
The following implementations have been developed which either generate or parse geos outside the context of hCards. If you have an geo implementation, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.<br />
<br />
* [http://code.highearthorbit.com/greaseroute/index.php GreaseRoute] is a GreaseMonkey user script (also available as a simple Firefox Extension) which will add icons for displaying the MapQuest map of a [[geo]]. <br />
* [http://www.podster.de/page/geotest podster.de] finds geo markups in podcast RSS Feeds and maps soundseeing episodes on a map (German only)<br />
* [http://blog.codeeg.com/ Calvin Yu] has written a [http://blog.codeeg.com/2006/01/28/using-microformats-to-plot-my-favorite-places/ web service that will allow you plot and describe places on a Yahoo Map easily] using [[hreview|hReview]] and [[geo]].<br />
* [http://bluesmoon.blogspot.com/ Philip Tellis] has written a [http://bluesmoon.blogspot.com/2006/01/of-microformats-and-geocoding.html javascript to add maps to geo markup on pages]<br />
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding geos and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].<br />
* [http://bluesmoon.blogspot.com/ Philip Tellis] has written some javascript to [http://bluesmoon.blogspot.com/2006/01/of-microformats-and-geocoding.html convert the geo microformat to a google map] using [[geo]].<br />
<br />
== References ==<br />
=== Normative References ===<br />
* [[hcard|hCard]]<br />
<br />
=== Informative References ===<br />
* [http://www.ietf.org/rfc/rfc2426.txt vCard RFC2426] ([http://www.w3.org/2002/12/cal/rfc2426 HTML reformatted version of RFC2426])<br />
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]<br />
<br />
=== Similar Work ===<br />
* [[adr]]<br />
* [[hcalendar|hCalendar]]<br />
* [[XOXO]]<br />
<br />
== Work in progress ==<br />
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added.<br />
<br />
== Discussions ==<br />
<br />
* See [http://www.technorati.com/cosmos/referer.html blogs discussing this page].<br />
<br />
=== Q&A ===<br />
* If you have any questions about hCard, check the [[hcard-faq|hCard FAQ]] first, and if you don't find answers, add your questions! (Odds are that any geo question will apply to hCard as well).<br />
<br />
=== Issues ===<br />
* Please add any issues with the specification to the separate [[hcard-issues|hCard issues]] document. Ditto.<br />
* Proposals for changes, additions and other thoughts about [[geo]] may be found in the [[hcard-brainstorming|hCard brainstorming]] page.<br />
<br />
== Additional Related Reading and Sites ==<br />
<br />
* [http://www.census.gov/geo/www/tiger/tigermap.html TIGER Map Service]</div>07pagesdinfo