Open Social Calendar - Calendar | Open Social

Standards Based Development

iCalendar

iCalendar was created as an open source standard internet calendar format by the ietf so different applications could share and publish calendar events. iCalendar was designed to be independent of transport protocol. iCalendar's design was based on the previous file format vCalendar created by the Internet Mail Consortium (imc).

iCalendar is used/supported by including Google Calendar, Apple Calendar (formerly iCal), GoDaddy Online Group Calendar, IBM Lotus Notes, Yahoo! Calendar, Evolution (software), eM Client, Lightning extension for Mozilla Thunderbird and SeaMonkey, and partially by Microsoft Outlook and Novell GroupWise.

As the format continues to grow in popularity, many companies have chosen to use the iCalendar standard. Apple's iCal, a personal calendar application that runs on the Mac OS X operating system, is one of many programs that currently use this format. Others include Mozilla Sunbird and Microsoft Outlook.

iCalendar filename extensions: .ical, .ics, .ifb, .icalendar. Internet media type: text/calendar; Calendar Data Exchange Format.

iCalendar Standard

iCalendar and OS X Calendar (formerly iCal)

While the names are similiar, Apple's iCal is not the same as iCalendar. iCal is a calendar application for Mac OS X, which has actually been renamed to Calendar.

Double clicking on a .ics file in os x should open up Calendar with a prompt asking the user which calendar they would like to import the event into.

Outlook and iCalendar

Microsoft Outlook 2007 and up are capable of exporting/importing events in iCalendar format; in fact, .ics is Outlook's default format for saving, exporting, and sharing.

outlook2ical is an export utility vb macro for exporting a set of appointments from an Outlook Calendar to iCalendar format.

hCalendar

hCalendar is a microformat for displaying a semantic html representation of iCalendar-format calendar information about an event, on web documents, using html classes/rel attributes. Below is a sample multiple-day event in an iCalendar:


BEGIN:VCALENDAR
PRODID:-//XYZproduct//EN
VERSION:2.0
BEGIN:VEVENT
URL:http://conferences.oreillynet.com/pub/w/40/program.html
DTSTART:20051005
DTEND:20051008
SUMMARY:Web 2.0 Conference
LOCATION:Argent Hotel\, San Francisco\, CA
END:VEVENT
END:VCALENDAR

And the above iCalendar's equivalent event in hCalendar format with various elements optimized appropriately:

http://conferences.oreillynet.com/pub/w/40/program.html Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA

<div class="vevent">
 <a class="url" href="http://conferences.oreillynet.com/pub/w/40/program.html">
  http://conferences.oreillynet.com/pub/w/40/program.html
 </a>
 <span class="summary">Web 2.0 Conference</span>: 
 <abbr class="dtstart" title="2005-10-05">October 5</abbr>-
 <abbr class="dtend" title="2005-10-07">7</abbr>,
 at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div>

CSV to iCal Calendar Converter

hCalendar to iCal Bookmarklet

here is the markup for the hcalendar to ical bookmarklet from suda.co.uk. check the inline js, is a function call referencing the url of the h2vx:

Downloaod hCalendar Events Bookmarklet

Drag this link: Get hCalendar to your browser's links toolbar (sometimes called a "Bookmarks Toolbar") and download hCalendar events from webpages you're viewing by clicking it in your toolbar.


<p>
Drag this link: 
<a id="copyhcalendar" class="favelet" 
title="Download hCalendar events from the current page to your calendar program." 
href="javascript:void(
location.href=
'http://h2vx.com/ics/'+escape(location.href))
">
Get hCalendar>/a<
to your browser's         
<i class="term">links toolbar 
<span class="info">
<b>(
</b>sometimes called a "Bookmarks Toolbar"<b>)
</b></span></i> 
and download hCalendar events from webpages you're viewing by clicking it in your toolbar.</p>

Subscribe to hCalendar Events From Current Document in Your Calendar Program Bookmarklet

And drag this link: Subscribe to hCalendar to your links toolbar and one-click subscribe to hCalendar events from webpages to your calendar program.


<p>And drag this link: 
<a 
id="subhcalendar" 
class="favelet" 
title="Subscribe to hCalendar events from the current page in your calendar program." 
href="
javascript:void(
location.href=
'webcal://h2vx.com/ics/'+escape(location.href))"
>Subscribe to hCalendar</a>
to your links toolbar and one-click subscribe to hCalendar events from webpages  to your calendar program.
</p>