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
- The filename extension of "ics" is to be used to designate a file containing (an arbitrary set of) calendaring and scheduling information consistent with this MIME content type;
.icsis for a full calendar file - The filename extension of "ifb" is to be used to designate a file containing free or busy time information consistent with this MIME content type;
.ifbis for availability information only files. - The file type code of "iCal" is to be used in Apple Macintosh operating system environments to designate a file containing calendaring and scheduling information consistent with this MIME media type.
- The file type code of "iFBf" is to be used in Apple Macintosh operating system environments to designate a file containing free or busy time information consistent with this MIME media type.
- By default, iCalendar uses the UTF-8 character set; a different character set can be specified using the "charset" MIME parameter (if the transport method used supports MIME, such as Email or HTTP).
- Each line is terminated by CR+LF (in hexadecimal: 0D0A). Lines should be limited to 75 octets (not characters) long. Where a data item is too long to fit on a single line it can be continued on following lines by starting the continuation lines with a space character (in hex: 20) or a tab character (in hex: 09).
- Actual line feeds in data items are encoded as a backslash followed by the letter N (the bytes 5C 6E or 5C 4E in UTF-8). iCalendar data has the MIME content type text/calendar.
- About iCalendar
- iCalendar
- iCal
- Calendar (application)
- hCalendar
- hCalendar 1.0
- SabreDav is a WebDAV PHP Framework
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.
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:
<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>