[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Mappings between iCalendar and ICOM Calendar, TaskList, and FreeBusy
ICOM TC members: I have uploaded an updated draft specification that includes
the following new extension modules: Section 4.4. Presence Module, page 110 Section 4.6. Calendar Module, page 127 Section 4.7. FreeBusy Module, page 143 Section 4.8. TaskList Module, page 148 You can download the document from: http://www.oasis-open.org/committees/download.php/41087/icom-spec-draft-01d.doc I have given below the mappings between the ICOM (Calendar,
FreeBusy, TaskList) model and iCalendar model. Please provide feedbacks. iCalendar http://tools.ietf.org/html/rfc5545#section-3.6
3.6.
Calendar Components
The body of the iCalendar object consists of a sequence of calendar properties and one or more calendar components. The calendar properties are attributes that apply to the calendar object as a whole. The calendar components are collections of properties that express a particular calendar semantic. For example, the calendar component can specify an event, a to-do, a journal entry, time zone information, free/busy time information, or an alarm.
The body of the iCalendar object is defined by the following notation:
icalbody = calprops component
calprops = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; prodid / version / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; calscale / method / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; x-prop / iana-prop ; )
component = 1*(eventc / todoc / journalc / freebusyc / timezonec / iana-comp / x-comp)
iana-comp = "BEGIN" ":" iana-token CRLF 1*contentline "END" ":" iana-token CRLF
x-comp = "BEGIN" ":" x-name CRLF 1*contentline "END" ":" x-name CRLF
Figure 2 Mapping icalendar to ICOM Calendar Figure 1 ICOM Calendar Figure 2 ICOM TaskList iCalendar http://tools.ietf.org/html/rfc5545#section-3.6.1
3.6.1. Event
Component Component
Name: VEVENT Purpose: Provide
a grouping of component properties that describe an
event. Format
Definition: A "VEVENT" calendar component is defined by the
following notation:
eventc = "BEGIN" ":"
"VEVENT" CRLF
eventprop *alarmc
"END" ":" "VEVENT" CRLF
eventprop = *(
;
; The following are REQUIRED,
; but MUST NOT occur more than once. ; dtstamp / uid / ; ; The following is REQUIRED if the component ; appears in an iCalendar object that doesn't ; specify the "METHOD" property; otherwise, it ; is OPTIONAL; in any case, it MUST NOT occur ; more than once. ; dtstart / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; class / created / description / geo / last-mod / location / organizer / priority / seq / status / summary / transp / url / recurid / ; ; The following is OPTIONAL, ; but SHOULD NOT occur more than once. ; rrule / ; ; Either 'dtend' or 'duration' MAY appear in ; a 'eventprop', but 'dtend' and 'duration' ; MUST NOT occur in the same 'eventprop'. ; dtend / duration / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; attach / attendee / categories / comment / contact / exdate / rstatus / related / resources / rdate / x-prop / iana-prop ; )
recurrence properties ("RRULE", "RDATE", "EXDATE")
Figure 3 Mapping iCalendar VEVENT to ICOM Occurrence and
OccurrenceSeries Figure 3 ICOM OccurrenceSeries and Occurrence iCalendar To-Do http://tools.ietf.org/html/rfc5545#section-3.6.2 3.6.2.
To-Do Component
Component Name: VTODO
Purpose: Provide a grouping of calendar properties that describe a to-do.
Format Definition: A "VTODO" calendar component is defined by the following notation:
todoc = "BEGIN" ":" "VTODO" CRLF todoprop *alarmc "END" ":" "VTODO" CRLF
todoprop = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; dtstamp / uid / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; class / completed / created / description / dtstart / geo / last-mod / location / organizer / percent / priority / recurid / seq / status / summary / url / ; ; The following is OPTIONAL, ; but SHOULD NOT occur more than once. ; rrule / ; ; Either 'due' or 'duration' MAY appear in ; a 'todoprop', but 'due' and 'duration' ; MUST NOT occur in the same 'todoprop'. ; If 'duration' appear in a 'todoprop', ; then 'dtstart' MUST also appear in ; the same 'todoprop'. ; due / duration / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; attach / attendee / categories / comment / contact / exdate / rstatus / related / resources / rdate / x-prop / iana-prop ; )
Figure 2 Mapping ICOM Task to iCalendar VTODO Figure 4 ICOM Task 3.6.4.
Free/Busy Component
Component Name: VFREEBUSY
Purpose: Provide a grouping of component properties that describe either a request for free/busy time, describe a response to a request for free/busy time, or describe a published set of busy time.
Format Definition: A "VFREEBUSY" calendar component is defined by the following notation:
freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF fbprop "END" ":" "VFREEBUSY" CRLF
fbprop = *( ; ; The following are REQUIRED, ; but MUST NOT occur more than once. ; dtstamp / uid / ; ; The following are OPTIONAL, ; but MUST NOT occur more than once. ; contact / dtstart / dtend / organizer / url / ; ; The following are OPTIONAL, ; and MAY occur more than once. ; attendee / comment / freebusy / rstatus / x-prop / iana-prop ; )
Figure 5 ICOM Free Busy The following rich Presence model can be derived from
FreeBusy: Figure 6 ICOM Presence Model Regards, Eric |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]