rfc-2445: Difference between revisions
(Added a bunch more information about iCalendar and its recent evolution) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:iCalendar RFC 2445}} | |||
{{warning|This page needs to be updated to be based on RFC 5445, moving old content to a History section for the legacy impact of 2445 on original hCalendar design etc.}} | |||
iCalendar is a specification maintained by the IETF Calendaring Extensions (calext) Working Group, and is a widely used standard for the storage and exchange of calendar information. It was originally specified, as "vCalendar", by the Versit Consortium, before being passed to the Internet Mail Consortium, and finally adopted by the IETF. The second revision of the standard, renamed to iCalendar, has formed the basis of many calendaring applications for decades. Recent work within the IETF has proposed both new JSON-based syntax, as well as revised and extended semantics. | |||
The core iCalendar objects include: events, todos, journal entries, and supporting timezone data. These definitions formed the semantic basis for the [[hcalendar|hCalendar]] microformat. | |||
== History == | |||
* [https://cs.brown.edu/courses/cs190/old.spr1998/projects/acms/vCalendar_specs.pdf vCalendar] The original vCalendar specification, no longer in significant use. | |||
* [http://www.ietf.org/rfc/rfc2445.txt RFC 2445], "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 1998, defines the iCalendar 2.0 format, the basis for [[hcalendar|hCalendar]]. | |||
* [http://www.ietf.org/rfc/rfc5445.txt RFC 5445], "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 2009, updates and replaces RFC 2445. | |||
* [http://www.ietf.org/rfc/rfc6321.txt RFC 6321], "xCal: The XML Format for iCalendar", from 2011, maps the iCalendar syntax to XML. | |||
* [http://www.ietf.org/rfc/rfc7265.txt RFC 7265], "jCal: The JSON Format for iCalendar", from 2014, maps the iCalendar syntax to JSON. | |||
* [http://www.ietf.org/rfc/rfc7529.txt RFC 7529], "Non-Gregorian Recurrence Rules in the Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 2015, extends iCalendar. | |||
* [http://www.ietf.org/rfc/rfc7953.txt RFC 7953], "Calendar Availability", from 2016, extends iCalendar with free/busy components for public scheduling. | |||
* [http://www.ietf.org/rfc/rfc7986.txt RFC 7986], "New Properties for iCalendar", from 2016, extends iCalendar. | |||
* [http://www.ietf.org/rfc/rfc9074.txt RFC 9074], "'VALARM' Extensions for iCalendar", from 2021, extends iCalendar to support alarms. | |||
* [http://www.ietf.org/rfc/rfc9253.txt RFC 9253], "Support for iCalendar Relationships", from 2022, extends iCalendar to support relationships between calendar objects. | |||
As of 2025, work in the IETF continues on a revised JSON format (JSCalendar), guidelines for conversion from iCalendar to JSCalendar (potentially valuable for microformats), revisions to tasks, extensions for polling and subscription, and more. | |||
== References == | |||
When normatively referencing <nowiki>RFC 2445</nowiki> on this wiki, either do so by linking to this page with: | When normatively referencing <nowiki>RFC 2445</nowiki> on this wiki, either do so by linking to this page with: | ||
<nowiki>{{RFC2445}}</nowiki> | <nowiki>{{RFC2445}}</nowiki> | ||
or directly to http://www.ietf.org/rfc/rfc2445.txt. | or directly to http://www.ietf.org/rfc/rfc2445.txt. | ||
Avoid linking to the informative HTML translation of rfc2445.txt, which you must explicitly do by avoiding simply using the string <nowiki>RFC 2445</nowiki> in your text, as MediaWiki appears to auto-hyperlink it to the HTML translation thus: RFC 2445. | Avoid linking to the informative HTML translation of rfc2445.txt, which you must explicitly do by avoiding simply using the string <nowiki>RFC 2445</nowiki> in your text, as MediaWiki appears to auto-hyperlink it to the HTML translation thus: RFC 2445. | ||
== | == Validator == | ||
* https://icalendar.org/validator.html | |||
[ | ** [https://icalendar.org/More-Info/about-the-icalendar-validator.html About the validator.] (initial version launched in June 2015) | ||
== | == See Also == | ||
* [[icalendar-errata|iCalendar errata]] | * [[icalendar-errata|iCalendar errata]] | ||
* [[icalendar-implementations|iCalendar implementations]] | * [[icalendar-implementations|iCalendar implementations]] | ||
* [[icalendar-issues|iCalendar issues]] | |||
* [[hcalendar|hCalendar]] | * [[hcalendar|hCalendar]] |
Latest revision as of 14:35, 30 January 2025
iCalendar is a specification maintained by the IETF Calendaring Extensions (calext) Working Group, and is a widely used standard for the storage and exchange of calendar information. It was originally specified, as "vCalendar", by the Versit Consortium, before being passed to the Internet Mail Consortium, and finally adopted by the IETF. The second revision of the standard, renamed to iCalendar, has formed the basis of many calendaring applications for decades. Recent work within the IETF has proposed both new JSON-based syntax, as well as revised and extended semantics.
The core iCalendar objects include: events, todos, journal entries, and supporting timezone data. These definitions formed the semantic basis for the hCalendar microformat.
History
- vCalendar The original vCalendar specification, no longer in significant use.
- RFC 2445, "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 1998, defines the iCalendar 2.0 format, the basis for hCalendar.
- RFC 5445, "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 2009, updates and replaces RFC 2445.
- RFC 6321, "xCal: The XML Format for iCalendar", from 2011, maps the iCalendar syntax to XML.
- RFC 7265, "jCal: The JSON Format for iCalendar", from 2014, maps the iCalendar syntax to JSON.
- RFC 7529, "Non-Gregorian Recurrence Rules in the Internet Calendaring and Scheduling Core Object Specification (iCalendar)", from 2015, extends iCalendar.
- RFC 7953, "Calendar Availability", from 2016, extends iCalendar with free/busy components for public scheduling.
- RFC 7986, "New Properties for iCalendar", from 2016, extends iCalendar.
- RFC 9074, "'VALARM' Extensions for iCalendar", from 2021, extends iCalendar to support alarms.
- RFC 9253, "Support for iCalendar Relationships", from 2022, extends iCalendar to support relationships between calendar objects.
As of 2025, work in the IETF continues on a revised JSON format (JSCalendar), guidelines for conversion from iCalendar to JSCalendar (potentially valuable for microformats), revisions to tasks, extensions for polling and subscription, and more.
References
When normatively referencing RFC 2445 on this wiki, either do so by linking to this page with:
{{RFC2445}}
or directly to http://www.ietf.org/rfc/rfc2445.txt.
Avoid linking to the informative HTML translation of rfc2445.txt, which you must explicitly do by avoiding simply using the string RFC 2445 in your text, as MediaWiki appears to auto-hyperlink it to the HTML translation thus: RFC 2445.
Validator
- https://icalendar.org/validator.html
- About the validator. (initial version launched in June 2015)