iCalendarアイカレンダー)とはPIMソフトなどで使われるスケジュールの標準フォーマット。RFC 5545 [1](旧版 RFC 2445[2])で規定されている。「iCal」と略称される。

iCalendar
拡張子.ical; .ics; .ifb
.icalendar
MIMEタイプtext/calendar
種別PIMデータ標準
国際標準RFC 5545

iCalendar使

iCalendarWebDAVSyncML使HTTP使WebiCalendar使hCalendar使WebiCalendar

基本仕様

編集

iCalendarInternet Engineering Task ForceiCalendar (IMC) vCalendar

iCalendarMIMEtext/calendar

MIMEicsMac OSiCal

free and busy timeftbMac OSiFBf

iCalendarUTF-8使使charsetMIME CR + LF (16:0D0A) 75 (16:20)  (16:09) + NUTF-85C6E5C4E\n

コア・オブジェクト

編集

iCalendariCalendar1BEGIN:VCALENDAREND:VCALENDARicalbody[]

RFC 2445iCalendar1997714-15
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

Apple iCal Outlook使
X-WR-CALNAME:Revolution Parties
X-WR-CALDESC:Celebrations of various revolutionary activities.
X-WR-RELCALID:3E26604A-50F4-4449-8B3E-E4F4932D05B5
X-WR-TIMEZONE:US/Pacific

X-WR-RELCALID (UID) 

イベント (VEVENT)

編集

VEVENTコンポーネントはカレンダー上で予定されたイベントについて記述された属性の集合体である。これは具体的な用件だけでなく、「TRANSPARENT」(白紙)といった記述も可能である。アラームを定義する場合、VEVENT内部にVALARMコンポーネントが含まれる。また開始時刻を定義するDTSTARTプロパティと終了時刻を定義するDTENDプロパティを持つ。

記念日や毎日行うことのように何度も繰り返されるイベントもVEVENTで記述される。標準ではDATE-TIMEに日時が記述されるが、DTSTARTプロパティが日時データを持ち、DTENDプロパティは持たない。

予定をキャンセルするときもUIDはそのまま保持され、他のコンポーネントには <SEQUENCE:更新番号>がセットされる。

ToDo (VTODO)

編集

ToDO、つまりアクションアイテムや宿題事項のことが記述されるコンポーネント。下記はRFC 2445による1998年4月15日のToDoについて記述したサンプルである。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VTODO
DTSTAMP:19980130T134500Z
SEQUENCE:2
UID:uid4@host1.com
ORGANIZER:MAILTO:unclesam@us.gov
ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@example.com
DUE:19980415T235959
STATUS:NEEDS-ACTION
SUMMARY:Submit Income Taxes
BEGIN:VALARM
ACTION:AUDIO
TRIGGER:19980403T120000
ATTACH;FMTTYPE=audio/basic:http://example.com/pub/audio-
 files/ssbanner.aud
REPEAT:4
DURATION:PT1H
END:VALARM
END:VTODO
END:VCALENDAR

ジャーナル (VJOURNAL)

編集

VJOURNALコンポーネントは日誌のように特定の日付にコメントを付けたり、作業内容や進捗の実績を記録するために利用される。実際のところ、iCalendarの実装でVJOURNALをサポートしているものはほとんど無い。プラムカナリーズ・チャープ・ソフトウェア社は、プロジェクトタスクの進捗管理ソリューションのデータフォーマットとしてVTODOとVJOURNALを採用している。また、KDEシステム手帳KOrganizerもVJOURNALをサポートしている。

下記はRFC 2445によるVJOURNALの記述サンプルである。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VJOURNAL
DTSTAMP:19970324T120000Z
UID:uid5@host1.com
ORGANIZER:MAILTO:jsmith@example.com
STATUS:DRAFT
CLASS:PUBLIC
CATEGORY:Project Report, XYZ, Weekly Meeting
DESCRIPTION:Project xyz Review Meeting Minutes\n
 Agenda\n1. Review of project version 1.0 requirements.\n2.
 Definition
 of project processes.\n3. Review of project schedule.\n
 Participants: John Smith, Jane Doe, Jim Dandy\n-It was
  decided that the requirements need to be signed off by
  product marketing.\n-Project processes were accepted.\n
 -Project schedule needs to account for scheduled holidays
  and employee vacation time. Check with HR for specific
  dates.\n-New schedule will be distributed by Friday.\n-
 Next weeks meeting is cancelled. No meeting until 3/23.
END:VJOURNAL
END:VCALENDAR

フリー・ビジータイム (VFREEBUSY)

編集

VFREEBUSYコンポーネントはフリー・ビジータイム……つまり空いた時間と予定のある時間を定義する。以下はRFC 2445による予定時間情報を記述したサンプルである。特定のURLに置かれる場合、拡張子は「ifb」となる。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//RDU Software//NONSGML HandCal//EN
BEGIN:VFREEBUSY
ORGANIZER:MAILTO:jsmith@example.com
DTSTART:19980313T141711Z
DTEND:19980410T141711Z
FREEBUSY:19980314T233000Z/19980315T003000Z
FREEBUSY:19980316T153000Z/19980316T163000Z
FREEBUSY:19980318T030000Z/19980318T040000Z
URL:http://www.host.com/calendar/busytime/jsmith.ifb
END:VFREEBUSY
END:VCALENDAR

その他のコンポーネント

編集
  • VTIMEZONE - 等時帯を定義
  • VALARM - アラーム設定を定義

スケジュール更新

編集

UID (UID) UIDUID21315Y2007S2C131M5@example.com

データ互換

編集

iCalendar

iTIP (RFC 5546) [3]

IMIP (RFC 6047) [4]iTIP

RFC 3283[5]iCalendar

iCalendar使iCalendarJOURNALVTODO2004

iCalendar13

RFC 4324[6]GroupDAVCalDAViCalendar

IETF (Calconnect) iCalendar2004Calconnect

vCalendar 1.0

編集

vCalendar1.0はインターネットメール・コンソーシアム (IMC) によって公表されたiCalendarフォーマットの元となった規格である。以下がその例。

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR

IMCはiCalendarリリース後、ベンダーがこれらのオープンフォーマットを採用して、vCalendar1.0とiCalendarの両方に互換性をもつソフトウェアを開発するよう呼びかけている。

ライブラリ

編集

iCalendarデータファイル生成のため、様々なプログラミング用ライブラリが公開されている。

参考文献

編集


(一)^ B. Desruisseaux, Ed. (20099). RFC [https://datatracker.ietf.org/doc/html/rfc5545 5545, Internet Calendaring and Scheduling Core Object Specification (iCalendar)] (). 2011113

(二)^ F. Dawson, D. Stenerson (199811). RFC [https://datatracker.ietf.org/doc/html/rfc2445 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar)] (). 2011113

(三)^ C. Daboo, Ed. (200912). RFC [https://datatracker.ietf.org/doc/html/rfc5546 5546, iCalendar Transport-Independent Interoperability Protocol (iTIP)] (). 2011113

(四)^ A. Melnikov, Ed. (201012). RFC [https://datatracker.ietf.org/doc/html/rfc6047 6047 , iCalendar Message-Based Interoperability Protocol (iMIP)] (). 2011113

(五)^ B. Mahoney, G. Babics, A. Taler (20026). RFC [https://datatracker.ietf.org/doc/html/rfc3283 3283 , Guide to Internet Calendaring] (). 2011113

(六)^ D. Royer, G. Babics, S. Mansour (200512). RFC [https://datatracker.ietf.org/doc/html/rfc4324 4324 , Calendar Access Protocol (CAP)] (). 2011113

関連項目

編集

外部リンク

編集
  • RFC 5545 Internet Calendaring and Scheduling Core Object Specification (iCalendar)