hcalendar-implementations: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(52 intermediate revisions by 29 users not shown)
Line 1: Line 1:
<h1>hCalendar Implementations</h1>
{{DISPLAYTITLE:hCalendar Implementations}}


This page is '''informative'''.
This page is an '''informative''' section of the [[hcalendar|hCalendar specification]].


The following implementations have been developed which either generate or parse hCalendars. If you have an [[hcalendar|hCalendar]] implementation, feel free to add it to the New Implementations section.
The following implementations have been developed which either generate or parse hCalendars. If you have an [[hcalendar|hCalendar]] implementation, feel free to add it to the New Implementations section.  If you have a page or site which just ''publishes'' hCalendar events, please use [[hcalendar-examples-in-wild]] instead.


==New Implementations==
==New Implementations==
Add new implementations here:
Add new implementations here:
* [http://www.agitraining.com/ AGI Adobe Training] uses hCalendar to list training course dates and share upcoming classes such as the list of scheduled [http://www.agitraining.com/adobe/photoshop/classes Photoshop classes].
* [http://iwenty.pl Iwenty.pl] is a polish search engine indexes web sites with events which implementing [[hcalendar|hCalendar]] microformat.
* [http://www.ledet.com/ Ledet Adobe Training Centers] uses hCalendar to distribute and list training class information at the company's [http://www.ledet.com/events training class listing].
* [http://www.cgtworld.com/ Cybernation Gamers Tournament] uses hCalendar in the match event  like [http://www.cgtworld.com/match/id-193/ READY vs SouL].
* [http://www.w3.org/People/Bos/HcalProxy/ Hcalproxy] runs as an HTTP server, either standalone or under inetd(8), and converts hCalendar to iCalendar.
* The calendar of [http://TikiWiki.org TikiWiki CMS/Groupware] uses hCalendar markup for events. It's a built-in feature (no need to download separate module/plugin/etc). You can see in action over at [http://wiki-translation.com wiki-translation.com]
* [http://code.google.com/p/schoorbs Schoorbs] has bookings flavored with hCalendar in view_entry.php since revision 175 (becoming 1.0-Alpha2).
* [http://buzzword.org/cognition/ Cognition] supports [[User:TobyInk/hcalendar-1.1|hcalendar 1.1]]
* ...
* ...


Line 15: Line 24:
;hCalendar Creator : [http://microformats.org/code/hcalendar/creator hCalendar creator] ([[hcalendar-creator-feedback|hCalendar creator feedback]]) - create your own hCalendar events.
;hCalendar Creator : [http://microformats.org/code/hcalendar/creator hCalendar creator] ([[hcalendar-creator-feedback|hCalendar creator feedback]]) - create your own hCalendar events.
;Conference Schedule Creator : [http://dmitry.baranovskiy.com/work/csc/ Conference Schedule Creator] ([[hcalendar-schedule-creator-feedback|Conference Schedule Creator feedback]]) - create your conference schedule with hCalendar events.
;Conference Schedule Creator : [http://dmitry.baranovskiy.com/work/csc/ Conference Schedule Creator] ([[hcalendar-schedule-creator-feedback|Conference Schedule Creator feedback]]) - create your conference schedule with hCalendar events.
;Permatime hCalendar vevent generator : [http://permatime.com/ Permatime] enables sharing of points in time as well as acting as a quick way to generate hcalendar vevents.
;Dingbee : [http://dingbee.com Dingbee] allows you to share your events with hCalendar support.


===Blogging and CMS tools===
===Blogging and CMS tools===
;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]
;[http://www.helioscalendar.com/ Helios Calendar] : for-sale PHP calendaring software that supports hCalendar. Example site with event: [http://www.caamuseum.org/hcalendar/events/index.php?com=detail&eID=2571 California African American Museum: DOCUMENTARY SCREENING]
;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]  
;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]  


;Drupal module : [http://hybernaut.com/upcoming-hcal Drupal Upcoming.org syndication module emits hCalendar]
;Textpattern plug-ins :  
;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.
* [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].
;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].
* [http://euphemize.net/blog/plugins/textpattern/jmc_event_manager/ jmc_event_manager] is a plugin for [http://textpattern.com/ Textpattern] that outputs events and locations in hCalendar (and hCard) formats. Written by [http://euphemize.net/ Joel Courtney].
;Textpattern plug-in : [http://euphemize.net/blog/plugins/textpattern/jmc_event_manager/] is a plugin for [http://textpattern.com/ Textpattern] that outputs events and locations in hCalendar (and hCard) formats. Written by [http://euphemize.net/ Joel Courtney].


===Browser scripts and plug-ins===
===Browser scripts and plug-ins===
Line 34: Line 48:
;xfy :  
;xfy :  
In [https://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations.
In [https://www.xfytec.com/community/ xfy Community], there are some hCalendar implementations.
* [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.
* [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.
* [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.  
* [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.  
* [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.
* [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.
;Windows Live Writer :
* WLW's [http://gallery.live.com/liveItemDetail.aspx?li=9751e563-1408-4fc3-8028-bd4351edb1fb&l=8 Event Plugin] formats events in blog posts with hCalendar.


==Search and Discovery==
==Search and Discovery==
 
* [http://leftlogic.com/projects/microformats_bookmarklet Microformats Bookmarklet] is a bookmarklet designed for Safari (works in Firefox and Camino) that overlays on the current page to allow users to import individual [[hcard|hCards]] or [[hcalendar|hCalendars]]. Written by [http://leftlogic.com Remy Sharp].
* [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].
* [http://iwenty.pl Iwenty.pl] is a polish search engine indexes web sites with events which implementing [[hcalendar|hCalendar]] microformat.
* [http://leftlogic.com/info/articles/microformats_bookmarklet Microformats Bookmarklet] is a bookmarklet designed for Safari (works in Firefox and Camino) that overlays on the current page to allow users to import individual [[hcard|hCards]] or [[hcalendar|hCalendars]]. Written by [http://leftlogic.com Remy Sharp].


==Conversion and Import==
==Conversion and Import==
Implementations you can use to importing into a Calendar Application, typically by converting hCalendar to iCalendar/vCalendar.
Implementations you can use to importing into a calendar application, typically by converting hCalendar to iCalendar/vCalendar.


===Web Services===
===Web Services===
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.
* [http://feeds.technorati.com/events Technorati Events Feed service] uses X2V library to parse hCalendar and return iCalendar (.ics).
* [http://h2vx.com/ics H2VX Events Conversion 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
**The [http://georgebrock.com/projects/enhanced-hcalendar-downloads/ enhanced-hcalendar-downloads] script detects links to this service and displays a menu when they are clicked containing the original Technorati link and links to add the event to Google, Yahoo! and 30boxes. (see also [http://github.com/georgebrock/enhanced-hcalendar-downloads/ Github: enhanced-hcalendar-downloads]).
* [http://suda.co.uk/projects/X2V/ X2V] parses hCalendar and produces a .ics (iCalendar) stream.
* [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.
**Note: needs to be updated to track changes in the specification as they occur.
Line 64: Line 78:
* [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]]
* [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]]
* [http://kula.jp/software/endo/screenshots/ Endo], an OS X aggregator, supports discovering hCalendar and adding those events to iCal. Look at the last screenshot at the bottom of the page.
* [http://kula.jp/software/endo/screenshots/ Endo], an OS X aggregator, supports discovering hCalendar and adding those events to iCal. Look at the last screenshot at the bottom of the page.
===Converters===
* [http://www.w3.org/People/Bos/HcalProxy/ Hcalproxy] runs as an HTTP server, either standalone or under inetd(8), and converts hCalendar to iCalendar. E.g., if Hcalproxy is running on localhost port 8000 and <nowiki>http://example.org/page.html</nowiki> points is an HTML page, then <nowiki>http://localhost:8000/http://example.org/page.html</nowiki> is an iCalendar document with the events from that page.


==Browsing==
==Browsing==
Line 69: Line 86:


* 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.
* 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.
* [http://web.mit.edu/glasser/www/JSCalendar/ JSCalendar] parses hCalendar and produces a displayable HTML table/CSS-based calendar.
* [http://code.google.com/p/js-hcalendar js-hcalendar] parses hCalendar and produces a displayable HTML table/CSS-based calendar (formerly called JSCalendar).
* [http://thebitterpill.com/07-2007/a-jquery-hcal-parser/ jqueryhcal] is a jQuery-based hCalendar parser that supports multi-day events, dtend, and other features.


===Firefox extension===
===Firefox extension===
*[http://www.orch8.net/ AlchemyPoint] is a Firefox extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
*[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.
*[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.
*[https://addons.mozilla.org/en-US/firefox/addon/4106 Operator] also displays the presence of microformats, is extensible, and allows you to add actions such as "Add hCalender to Yahoo! Calendar".


====Pending====
====Pending====
Line 78: Line 98:


===Flock extension===
===Flock extension===
*[http://www.orch8.net/ AlchemyPoint] is a Flock extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
*[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
*[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


==Libraries==
==Libraries==
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations.
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations. Note: it is very likely that some of the above implementations may be duplicated in this section. That's ok.
; Javascript : [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats simple hCalendar parser] by [http://virtuelvis.com/ Arve Bersvendsen]
; Javascript :  
* [http://virtuelvis.com/archives/2005/11/learn-to-love-microformats simple hCalendar parser] by [http://virtuelvis.com/ Arve Bersvendsen]
* [http://microformats.org/code/hcalendar/creator hCalendar creator] ([[hcalendar-creator-feedback|hCalendar creator feedback]])
; PHP :  
; PHP :  
*[http://randomchaos.com/microformats/base/ Microformat Base] is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard (Source code no longer available as of 6 Dec 06).
*[http://randomchaos.com/microformats/base/ Microformat Base] is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard (Source code no longer available as of 6 Dec 06).
Line 91: Line 114:
* X2V is available as an XSLT library
* X2V is available as an XSLT library
* [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.
* [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.
; Python :
* [http://vobject.skyhouseconsulting.com/ vObject], part of the Chandler project, claims experimental hCalendar support.
== Old ==
Past sites/services/implementations of hCalendar. Some sites may have gone offline, others may have changed completely.


==Potential implementations==
Previously:
* 2005-2009? StructuredBlogging (<nowiki>http://structuredblogging.org/formats.php</nowiki>) was a set of plugins (<nowiki>http://structuredblogging.org/structuredblogging-wp-latest.zip</nowiki>) for  WordPress and MovableType that supported embedding hCalendar and other microformats in templates and blog posts.


These are open source projects that could be potentially enhanced to support hCalendar.
* 2005-2011 <nowiki>http://feeds.technorati.com/events</nowiki> Technorati Events Feed service] uses X2V library to parse hCalendar and return iCalendar (.ics).
**Note friendly URL, e.g. <nowiki>http://feeds.technorati.com/events/http%3A//microformats.org</nowiki>


* [http://www.k5n.us/webcalendar.php?topic=About WebCalendar]
* 2006-2008 <nowiki>http://kitchen.technorati.com/search Technorati Microformats Search</nowiki> indexes [[hcard|hCard]], [[hcalendar|hCalendar]], and [[hreview|hReview]] as [http://tantek.com/log/2006/05.html#d31t1802 announced by Tantek].
* [http://phpicalendar.net/documentation/index.php?title=Main_Page PHP iCalendar]
* [http://www.vcalendar.org VCalendar]
* Investigation: [http://wiki.mozilla.org/Calendar_Talk:Lightning#hCalendar_publish_and_subscribe_support Mozilla Calendar / Lightning / Sunbird hCalendar support discussion]


== Related Pages ==
== Related Pages ==
{{hcalendar-related-pages}}
{{hcalendar-related-pages}}

Latest revision as of 16:24, 18 July 2020


This page is an informative section of the hCalendar specification.

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 New Implementations section. If you have a page or site which just publishes hCalendar events, please use hcalendar-examples-in-wild instead.

New Implementations

Add new implementations here:

Authoring

Implementations you can use to author, create, and publish hCalendar events.

Web-based Creators

hCalendar Creator
hCalendar creator (hCalendar creator feedback) - create your own hCalendar events.
Conference Schedule Creator
Conference Schedule Creator (Conference Schedule Creator feedback) - create your conference schedule with hCalendar events.
Permatime hCalendar vevent generator
Permatime enables sharing of points in time as well as acting as a quick way to generate hcalendar vevents.
Dingbee
Dingbee allows you to share your events with hCalendar support.

Blogging and CMS tools

Drupal module
Drupal Upcoming.org syndication module emits hCalendar
Helios Calendar
for-sale PHP calendaring software that supports hCalendar. Example site with event: California African American Museum: DOCUMENTARY SCREENING
Midgard CMS
Midgard CMS - net.nemein.calendar - as blogged by Henri Bergius
Textpattern plug-ins

Browser scripts and plug-ins

Browser plugins that work with existing authoring tools:

Any browser with javascript and a little bit of CSS
microformats.org hCalendar creator (see also original: Ryan King has an hCalendar creator).
Firefox Greasemonkey user script hCalendar creator
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.
Firefox Greasemonkey user script hCalendar to Google Calendar
Elias Torres has created a simple script that will parse hCalendar entries and create a link to add event to Google Calendar's service. Based on George's and Arve's work.

Desktop Authoring Tools

Dreamweaver Extension
Extension suite for Dreamweaver 8 from the Web Standards Project.
xfy

In 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.
  • hCalendar Marker XVCD helps to mark up an event information in XHTML document with hCalendar.
  • Simple RDF Calendar XVCD is a schedule tool which uses RDF Calendar format. It also converts RDF Calendar format to iCalendar and hCalendar format.
Windows Live Writer
  • WLW's Event Plugin formats events in blog posts with hCalendar.

Search and Discovery

Conversion and Import

Implementations you can use to importing into a calendar application, typically by converting hCalendar to iCalendar/vCalendar.

Web Services

These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.

Firefox Greasemonkey Plugins

Aggregators

  • Extract Microformats is a script for NetNewsWire that supports extracting hCard and hCalendar data in blog posts (via Technorati service). Written by Chris Casciano
  • Endo, an OS X aggregator, supports discovering hCalendar and adding those events to iCal. Look at the last screenshot at the bottom of the page.

Converters

  • Hcalproxy runs as an HTTP server, either standalone or under inetd(8), and converts hCalendar to iCalendar. E.g., if Hcalproxy is running on localhost port 8000 and http://example.org/page.html points is an HTML page, then http://localhost:8000/http://example.org/page.html is an iCalendar document with the events from that page.

Browsing

Implementations that detect, display and otherwise highlight hCalendar events in pages.

  • In 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.
  • js-hcalendar parses hCalendar and produces a displayable HTML table/CSS-based calendar (formerly called JSCalendar).
  • jqueryhcal is a jQuery-based hCalendar parser that supports multi-day events, dtend, and other features.

Firefox extension

  • AlchemyPoint is a Firefox extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
  • Tails is a Firefox Extension that will display the presence of microformats (hCard, hCalendar, hReview, xFolk) on a webpage.
  • Operator also displays the presence of microformats, is extensible, and allows you to add actions such as "Add hCalender to Yahoo! Calendar".

Pending

  • ReminderFox have hCalendar import on their "to do " list.

Flock extension

  • AlchemyPoint is a Flock extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
  • 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

Libraries

Open source libraries of hCalendar parsers and other related code for building hCalendar implementations. Note: it is very likely that some of the above implementations may be duplicated in this section. That's ok.

Javascript
PHP
  • Microformat Base is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard (Source code no longer available as of 6 Dec 06).
  • phpMicroformats is a PHP class library that generates microformats for calendar events (hCalendar) and vcards (hCard).
  • hCalendar profile for the hKit parser.
Ruby uformats
is a ruby library that can parse hCalendar, hCard, hReview and rel-tag
XSLT
  • X2V is available as an XSLT library
  • palmagent by User:DanC includes toICal.xsl and test materials; it works much like xhtml2vcal.xsl in X2V. See also: RDF Calendar workspace with icalendar test materials.
Python
  • vObject, part of the Chandler project, claims experimental hCalendar support.

Old

Past sites/services/implementations of hCalendar. Some sites may have gone offline, others may have changed completely.

Previously:

  • 2005-2009? StructuredBlogging (http://structuredblogging.org/formats.php) was a set of plugins (http://structuredblogging.org/structuredblogging-wp-latest.zip) for WordPress and MovableType that supported embedding hCalendar and other microformats in templates and blog posts.
  • 2005-2011 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

Related Pages

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.