[CalendarServer-changes] [1039]
CalendarServer/branches/users/cdaboo/availability-1018/doc/RFC/
draft-daboo-calendar-availability.txt
source_changes at macosforge.org
source_changes at macosforge.org
Fri Jan 12 11:44:12 PST 2007
Revision: 1039
http://trac.macosforge.org/projects/calendarserver/changeset/1039
Author: cdaboo at apple.com
Date: 2007-01-12 11:44:11 -0800 (Fri, 12 Jan 2007)
Log Message:
-----------
Add availability spec to docs.
Added Paths:
-----------
CalendarServer/branches/users/cdaboo/availability-1018/doc/RFC/draft-daboo-calendar-availability.txt
Added: CalendarServer/branches/users/cdaboo/availability-1018/doc/RFC/draft-daboo-calendar-availability.txt
===================================================================
--- CalendarServer/branches/users/cdaboo/availability-1018/doc/RFC/draft-daboo-calendar-availability.txt (rev 0)
+++ CalendarServer/branches/users/cdaboo/availability-1018/doc/RFC/draft-daboo-calendar-availability.txt 2007-01-12 19:44:11 UTC (rev 1039)
@@ -0,0 +1,952 @@
+
+
+
+Network Working Group C. Daboo
+Internet-Draft Apple Computer
+Intended status: Standards Track B. Desruisseaux
+Expires: May 18, 2007 Oracle
+ November 14, 2006
+
+
+ Calendar Availability
+ draft-daboo-calendar-availability-00
+
+Status of this Memo
+
+ By submitting this Internet-Draft, each author represents that any
+ applicable patent or other IPR claims of which he or she is aware
+ have been or will be disclosed, and any of which he or she becomes
+ aware will be disclosed, in accordance with Section 6 of BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
+ other groups may also distribute working documents as Internet-
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+ This Internet-Draft will expire on May 18, 2007.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2006).
+
+Abstract
+
+ This document specifies a new iCalendar calendar component that
+ allows the publication of available and unavailable time periods
+ associated with a calendar user. This component can be used in
+ standard iCalendar free-busy lookups, including iTIP free-busy
+ requests, to generate repeating blocks of available or busy time with
+ exceptions as needed.
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 1]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ This document also defines extensions to CalDAV calendar-access and
+ calendar-schedule which specify how this new calendar component
+ should be used when doing free busy time evaluation in CalDAV.
+
+Editorial Note (To be removed by RFC Editor before publication)
+
+ Discussion of this specification is taking place on the mailing list
+ http://lists.osafoundation.org/mailman/listinfo/ietf-caldav.
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
+ 3. iCalendar Extensions . . . . . . . . . . . . . . . . . . . . . 4
+ 3.1. Availability Component . . . . . . . . . . . . . . . . . . 4
+ 3.2. Busy Time Type . . . . . . . . . . . . . . . . . . . . . . 8
+ 4. Calculating Free-Busy Time . . . . . . . . . . . . . . . . . . 9
+ 4.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 10
+ 5. CalDAV Extensions . . . . . . . . . . . . . . . . . . . . . . 11
+ 5.1. CalDAV Requirements Overview . . . . . . . . . . . . . . . 11
+ 5.2. New features in CalDAV . . . . . . . . . . . . . . . . . . 12
+ 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13
+ 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
+ 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
+ 9. Normative References . . . . . . . . . . . . . . . . . . . . . 13
+ Appendix A. Example Calendar #1 . . . . . . . . . . . . . . . . . 14
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
+ Intellectual Property and Copyright Statements . . . . . . . . . . 17
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 2]
+
+Internet-Draft Calendar Availability November 2006
+
+
+1. Introduction
+
+ Often calendar users have regular periods of time when they are
+ either available to be scheduled or always unavailable. For example,
+ an office worker will often wish to only appear free to her work
+ colleagues during normal 'office hours' (e.g., Monday through Friday,
+ 9 am through 5 pm). Or, a university professor may only be available
+ to students during a set period of time (e.g., Thursday afternoons, 2
+ pm through 5 pm during term time only). Ideally users should be able
+ to specify such periods directly via their calendar user agent, and
+ have them automatically considered as part of the normal free-busy
+ lookup for that user. In addition it should be possible for
+ different periods of available time to appear for different users.
+
+ However, iCalendar [RFC2445] does not provide a way to specify a
+ repeating period of available or unavailable time as "VFREEBUSY"
+ components cannot include any form of recurrence information, as
+ opposed to "VEVENT" components which can. Since repeating patterns
+ are often the case, "VFREEBUSY" components are not sufficient to
+ solve this problem.
+
+ This specification defines a new type of iCalendar calendar component
+ that can be used to publish user availability.
+
+ CalDAV provides a way for calendar users to access and manage
+ calendar data and exchange this data via scheduling operations. As
+ part of this the CalDAV calendar-access [I-D.dusseault-caldav]
+ feature provides a CALDAV:free-busy-query REPORT that returns free-
+ busy information for a calendar collection or hierarchy of calendar
+ collections. Also, the CalDAV calendar-schedule
+ [I-D.desruisseaux-caldav-sched] feature allows free-busy information
+ for a calendar user to be determined. Both of these operations
+ involve examining user calendars for events that 'block time', with
+ the blocked out periods being returned in a "VFREEBUSY" component.
+
+ This specification extends the CalDAV calendar-access and CalDAV
+ calendar-schedule features to allow the new iCalendar availability
+ components to be stored and manipulated, and to allow free-busy
+ lookups to use the information from any such components, if present.
+
+
+2. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ [RFC2119].
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 3]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ When XML element types in the namespaces "DAV:" and
+ "urn:ietf:params:xml:ns:caldav" are referenced in this document
+ outside of the context of an XML fragment, the string "DAV:" and
+ "CALDAV:" will be prefixed to the element type names respectively.
+
+
+3. iCalendar Extensions
+
+ This specification adds a new "VAVAILABILITY" calendar component to
+ iCalendar. The "VAVAILABILITY" component is itself a container for
+ new "AVAILABLE" sub-components.
+
+ The purpose of the "VAVAILABILITY" calendar component is to provide a
+ grouping of available time information over a specific range of time.
+ Within that there are specific time ranges that are marked as
+ available via a set of "AVAILABLE" calendar sub-components. Together
+ these can be used to specify available time that can repeat over set
+ periods of time, and which can vary over time.
+
+3.1. Availability Component
+
+ Component Name: VAVAILABILITY
+
+ Purpose: Provide a grouping of component properties that describe
+ the availability associated with a calendar user.
+
+ Format Definition: A "VAVAILABILITY" calendar component is defined
+ by the following notation:
+
+ availabilityc = "BEGIN" ":" "VAVAILABILITY" CRLF
+ availabilityprop *availablec
+ "END" ":" "VAVAILABILITY" CRLF
+
+ availabilityprop = *(
+
+ ; the following are REQUIRED,
+ ; but MUST NOT occur more than once
+
+ dtstamp / uid
+
+ ; the following are OPTIONAL,
+ ; but MUST NOT occur more than once
+
+ busytype / created / dtstart / last-mod /
+ organizer / seq / summary / url /
+
+ ; either 'dtend' or 'duration' may appear
+ ; in a 'availabilityprop', but 'dtend' and
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 4]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ ; 'duration' MUST NOT occur in the same
+ ; 'availabilityprop'
+
+ dtend / duration /
+
+ ; the following are OPTIONAL,
+ ; and MAY occur more than once
+
+ categories / comment / contact / x-prop
+
+ )
+
+ availablec = "BEGIN" ":" "AVAILABLE" CRLF
+ availableprop
+ "END" ":" "AVAILABLE" CRLF
+
+ availableprop = *(
+
+ ; the following are REQUIRED,
+ ; but MUST NOT occur more than once
+
+ dtstamp / dtstart / uid /
+
+ ; either a 'dtend' or a 'duration' is required
+ ; in a 'availableprop', but 'dtend' and
+ ; 'duration' MUST NOT occur in the same
+ ; 'availableprop', and each MUST NOT occur more
+ ; than once
+
+ dtend / duration /
+
+ ; the following are OPTIONAL,
+ ; but MUST NOT occur more than once
+
+ created / last-mod / recurid / rrule /
+ summary /
+
+ ; the following are OPTIONAL,
+ ; and MAY occur more than once
+
+ categories / comment / contact / exdate /
+ rdate / x-prop
+
+ )
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 5]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ Description: A "VAVAILABILITY" component indicates a period of time
+ within which availability information is provided. A
+ "VAVAILABILITY" component MUST specify a start time and optionally
+ an end time or duration. Within that time period, availability
+ defaults to a free-busy type of "BUSY", except for any time
+ periods corresponding to "AVAILABLE" sub-components.
+
+ "AVAILABLE" sub-components are used to indicate periods of free
+ time within the time range of the enclosing "VAVAILABILITY"
+ component. "AVAILABLE" sub-components MAY include recurrence
+ properties to specify recurring periods of time, which may be
+ overridden using normal recurrence behavior (i.e., use of the
+ "RECURRENCE-ID" property).
+
+ If specified, the "DTSTART" and "DTEND" properties in
+ "VAVAILABILITY" components and "AVAILABLE" sub-components MUST be
+ "DATE-TIME" values specified as either date with UTC time or date
+ with local time and a time zone reference.
+
+ If any property with a "DATE-TIME" value is present in a
+ "VAVAILABILITY" component or any of its "AVAILABLE" sub-
+ components, and that property includes a "TZID" parameter, then
+ the iCalendar object containing the "VAVAILABILITY" component MUST
+ contain "VTIMEZONE" components corresponding to each "TZID"
+ parameter value.
+
+ When used to publish available time, the "ORGANIZER" property
+ specifies the calendar user associated with the published
+ available time.
+
+ Example: The following is an example of a "VAVAILABILITY" calendar
+ component used to represent the availability of a user available
+ Monday through Friday, 9:00 AM to 5:00 PM in the America/Montreal
+ time zone:
+
+ BEGIN:VAVAILABILITY
+ ORGANIZER:mailto:bernard at example.com
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Montreal:20061002T000000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Friday from 9:00 to 17:00
+ DTSTART;TZID=America/Montreal:20061002T090000
+ DTEND;TZID=America/Montreal:20061002T170000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 6]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ The following is an example of a "VAVAILABILITY" calendar
+ component used to represent the availability of a user available
+ Monday through Thursday, 9:00 AM to 5:00 PM, and Friday 9:00 AM to
+ 12:00 PM in the America/Montreal time zone:
+
+ BEGIN:VAVAILABILITY
+ ORGANIZER:mailto:bernard at example.com
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Montreal:20061002T000000
+ DTEND;TZID=America/Montreal:20061202T000000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Thursday from 9:00 to 17:00
+ DTSTART;TZID=America/Montreal:20061002T090000
+ DTEND;TZID=America/Montreal:20061002T170000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH
+ END:AVAILABLE
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-B at example.com
+ SUMMARY:Friday from 9:00 to 12:00
+ DTSTART;TZID=America/Montreal:20061006T090000
+ DTEND;TZID=America/Montreal:20061006T120000
+ RRULE:FREQ=WEEKLY;BYDAY=FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+
+ The following is an example of three "VAVAILABILITY" calendar
+ components used to represent the availability of an itinerant
+ worker: Monday through Friday, 9:00 AM to 5:00 PM each day.
+ However, for three weeks the calendar user is working in Montreal,
+ then one week in Los Angeles, then back to Montreal. Note that
+ each overall period is covered by separate "VAVAILABILITY"
+ components. The last of these has no DTEND so continues on "for
+ ever". This example shows how "exceptions" to available time can
+ be handled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 7]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ BEGIN:VAVAILABILITY
+ ORGANIZER:mailto:bernard at example.com
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Montreal:20061002T000000
+ DTEND;TZID=America/Montreal:20061023T030000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Friday from 9:00 to 17:00
+ DTSTART;TZID=America/Montreal:20061002T090000
+ DTEND;TZID=America/Montreal:20061002T170000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+ BEGIN:VAVAILABILITY
+ ORGANIZER:mailto:bernard at example.com
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Los_Angeles:20061023T000000
+ DTEND;TZID=America/Los_Angeles:20061030T000000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Friday from 9:00 to 17:00
+ DTSTART;TZID=America/Los_Angeles:20061023T090000
+ DTEND;TZID=America/Los_Angeles:20061023T170000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+ BEGIN:VAVAILABILITY
+ ORGANIZER:mailto:bernard at example.com
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Montreal:20061030T030000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Friday from 9:00 to 17:00
+ DTSTART;TZID=America/Montreal:20061030T090000
+ DTEND;TZID=America/Montreal:20061030T170000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+
+3.2. Busy Time Type
+
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 8]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ Property Name: BUSYTYPE
+
+ Purpose: This property specifies the default busy time type.
+
+ Value Type: TEXT
+
+ Property Parameters: Non-standard property parameters can be
+ specified on this property.
+
+ Conformance: This property can be specified within "VAVAILABILITY"
+ calendar components.
+
+ Format Definition: This property is defined by the following
+ notation:
+
+ busytype = "BUSYTYPE" busytypeparam ":" busytypevalue CRLF
+
+ busytypeparam = *(";" xparam)
+
+ busytypevalue = "BUSY" / "BUSY-UNAVAILABLE" /
+ "BUSY-TENTATIVE" / iana-token / x-name
+ ; Default is "BUSY-UNAVAILABLE"
+
+ Description: This property is used to specify the default busy time
+ type. The values correspond to those used by the "FBTYPE"
+ parameter used on a "FREEBUSY" property, with the exception that
+ the "FREE" value is not used. If not specified on a component
+ that allows this property, the default is "BUSY-UNAVAILABLE".
+
+ Example: The following is an example of this property:
+
+ BUSYTYPE:BUSY
+
+
+4. Calculating Free-Busy Time
+
+ This section describes how free-busy time information for a calendar
+ user is calculated in the presence of "VAVAILABILITY" calendar
+ components.
+
+ An iCalendar "VFREEBUSY" component is used to convey "rolled-up"
+ free-busy time information for a calendar user. This can be
+ generated as the result of an iTIP "VFREEBUSY" [RFC2446] request or
+ through some other mechanism (e.g., a CalDAV calendar-access CALDAV:
+ free-busy-query REPORT).
+
+ When a "VAVAILABILITY" component is present and intersects the time-
+ range for the free-busy request, the time covered by the
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 9]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ "VAVAILABILITY" component is set to busy and then portions of it
+ "carved out" to be free based on the "AVAILABLE" components in the
+ "VAVAILABILITY" component. Once that is done, regular "VEVENT" and
+ "VFREEBUSY" components can be "overlaid" in the usual way to block
+ out additional time.
+
+ An example procedure for this is as follows:
+
+ 1. Initially mark the entire period of the free-busy request as
+ free.
+
+ 2. For each "VAVAILABILITY" component:
+
+ 1. Determine if the "VAVAILABILITY" intersects the time-range of
+ the free-busy request. If not ignore it.
+
+ 2. For the time period covered by the "VAVAILABILITY" component,
+ mark time in the free-busy request result set as busy, using
+ the busy time type derived from the "BUSYTYPE" property in
+ the "VAVAILABILITY" component.
+
+ 3. For each remaining "VAVAILABILITY" component:
+
+ 1. For each "AVAILABLE" component in the "VAVAILABILITY"
+ component:
+
+ 1. Expand all recurring instances, taking into account
+ overridden instances, ignoring those not within the free-
+ busy request time-range.
+
+ 2. For each instance, mark the corresponding time in the
+ free-busy request result set as free.
+
+ 4. For each "VEVENT" or "VFREEBUSY" component apply normal free-busy
+ processing within the free-busy request time-range.
+
+4.1. Examples
+
+ In the examples below a table is used to represent time slots for the
+ period of a free-busy request. Each time slot is two hours long.
+ The column header represents the hours from midnight local time.
+ Each row below the column headers represents a step in the free-busy
+ result set determination, following the procedure outlined above.
+
+ Each cell in the rows below the column header contains a single
+ character that represents the free-busy type for the corresponding
+ time period at the end of the process step represented by the row.
+ The characters in the row are:
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 10]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ +-----------+--------------------------------------------------+
+ | Character | Meaning |
+ +-----------+--------------------------------------------------+
+ | F | Represents "FREE" time in that slot. |
+ | B | Represents "BUSY" time in that slot. |
+ | U | Represents "BUSY-UNAVAILABLE" time in that slot. |
+ | T | Represents "BUSY-TENTATIVE" time in that slot. |
+ +-----------+--------------------------------------------------+
+
+4.1.1. Simple Example
+
+ A free-busy request for Monday, 6th November 2006, midnight to
+ midnight in the America/Montreal timezone.
+
+ The user's calendar is as shown in Appendix A. This includes one
+ "VAVAILABILITY" component giving available time within the requested
+ time-range of 8:00 AM to 6:00 PM, together with one "VEVENT"
+ component representing a two hour meeting starting at 12:00 PM.
+
+ +------+----+----+----+----+----+----+----+----+----+----+----+----+
+ | Step | 0 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 |
+ +------+----+----+----+----+----+----+----+----+----+----+----+----+
+ | 1. | F | F | F | F | F | F | F | F | F | F | F | F |
+ | 2. | U | U | U | U | U | U | U | U | U | U | U | U |
+ | 3. | U | U | U | U | F | F | F | F | F | U | U | U |
+ | 4. | U | U | U | U | F | F | B | F | F | U | U | U |
+ +------+----+----+----+----+----+----+----+----+----+----+----+----+
+
+4.1.2. TBD
+
+ More examples here../not sure what though.
+
+
+5. CalDAV Extensions
+
+5.1. CalDAV Requirements Overview
+
+ This section lists what functionality is required of a CalDAV server
+ which supports this extension. A server:
+
+ o MUST support CalDAV calendar-access;
+
+ o MAY support CalDAV calendar-schedule;
+
+ o MUST support "VAVAILABILITY" components in a calendar collection
+ resource;
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 11]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ o MUST support CALDAV:free-busy-query REPORTs that aggregate the
+ information in any "VAVAILABILITY" components;
+
+ o MUST support CalDAV calendar-schedule iTIP [RFC2446] free busy
+ requests that aggregate the information in any "VAVAILABILITY"
+ components, if the CalDAV calendar-schedule feature is available.
+
+5.2. New features in CalDAV
+
+5.2.1. Calendar Availability Support
+
+ A server supporting the features described in this document MUST
+ include "calendar-availability" as a field in the DAV response header
+ from an OPTIONS request on any resource that supports any calendar
+ properties, reports, method, or privilege. A value of "calendar-
+ availability" in the DAV response header MUST indicate that the
+ server supports all MUST level requirements specified in this
+ document.
+
+5.2.1.1. Example: Using OPTIONS for the Discovery of Calendar
+ Availability Support
+
+ >> Request <<
+
+ OPTIONS /home/bernard/calendars/ HTTP/1.1
+ Host: cal.example.com
+
+ >> Response <<
+
+ HTTP/1.1 200 OK
+ Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE
+ Allow: PROPFIND, PROPPATCH, LOCK, UNLOCK, REPORT, ACL
+ DAV: 1, 2, 3, access-control, calendar-access,
+ calendar-availability
+ Date: Fri, 11 Nov 2005 09:32:12 GMT
+ Content-Length: 0
+
+ In this example, the OPTIONS method returns the value "calendar-
+ availability" in the DAV response header to indicate that the
+ collection "/home/bernard/calendars/" supports the new features
+ defined in this specification.
+
+5.2.2. CALDAV:free-busy-query REPORT
+
+ A CALDAV:free-busy-query REPORT can be executed on a calendar
+ collection that contains iCalendar "VAVAILABILITY" components. When
+ that is done, the server MUST aggregate the information in any
+ "VAVAILABILITY" components when generating the free-busy response, as
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 12]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ described in Section 4.
+
+5.2.3. iTIP VFREEBUSY requests
+
+ The [I-D.desruisseaux-caldav-sched] processing of a "VFREEBUSY"
+ request targeted at the owner of the CALDAV:schedule-inbox will
+ include free-busy information derived from "VAVAILABILITY" components
+ in any calendar collection targeted during the request, as described
+ in Section 4.
+
+
+6. Security Considerations
+
+ Free-busy information generated from "VAVAILABILITY" components MUST
+ NOT include information other than busy or free time periods. In
+ particular, user specified property values such as "SUMMARY" and
+ "DESCRIPTION" MUST NOT be copied into the free-busy result data.
+
+ Beyond this, this specification does not add any additional security
+ issues that are not already present in [RFC2445] and [RFC2446].
+
+
+7. IANA Considerations
+
+ TBD - register new components using 2445bis templates.
+
+
+8. Acknowledgments
+
+ This specification came about via discussions at the Calendaring and
+ Scheduling Consortium.
+
+
+9. Normative References
+
+ [I-D.desruisseaux-caldav-sched]
+ Daboo, C., Desruisseaux, B., and L. Dusseault, "Scheduling
+ Extensions to CalDAV", draft-desruisseaux-caldav-sched-02
+ (work in progress), June 2006.
+
+ [I-D.dusseault-caldav]
+ Daboo, C., Desruisseaux, B., and L. Dusseault,
+ "Calendaring Extensions to WebDAV (CalDAV)",
+ draft-dusseault-caldav-15 (work in progress),
+ September 2006.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 13]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ [RFC2445] Dawson, F. and D. Stenerson, "Internet Calendaring and
+ Scheduling Core Object Specification (iCalendar)",
+ RFC 2445, November 1998.
+
+ [RFC2446] Silverberg, S., Mansour, S., Dawson, F., and R. Hopson,
+ "iCalendar Transport-Independent Interoperability Protocol
+ (iTIP) Scheduling Events, BusyTime, To-dos and Journal
+ Entries", RFC 2446, November 1998.
+
+
+Appendix A. Example Calendar #1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 14]
+
+Internet-Draft Calendar Availability November 2006
+
+
+ iCalendar object
+
+ BEGIN:VCALENDAR
+ CALSCALE:GREGORIAN
+ PRODID:-//example.com//iCalendar 2.0//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+ LAST-MODIFIED:20040110T032845Z
+ TZID:America/Montreal
+ BEGIN:DAYLIGHT
+ DTSTART:20000404T020000
+ RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+ TZNAME:EDT
+ TZOFFSETFROM:-0500
+ TZOFFSETTO:-0400
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ DTSTART:20001026T020000
+ RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+ TZNAME:EST
+ TZOFFSETFROM:-0400
+ TZOFFSETTO:-0500
+ END:STANDARD
+ END:VTIMEZONE
+ BEGIN:VEVENT
+ DTSTAMP:20061113T044111Z
+ DTSTART;TZID=America/Montreal:20061106T120000
+ DURATION:PT1H
+ SUMMARY:Meeting
+ UID:60A48841ECB90F3F215FE3D2 at example.com
+ END:VEVENT
+ BEGIN:VAVAILABILITY
+ UID:20061005T133225Z-00001 at example.com
+ DTSTAMP:20061005T133225Z
+ DTSTART;TZID=America/Montreal:20061002T000000
+ BEGIN:AVAILABLE
+ UID:20061005T133225Z-00001-A at example.com
+ SUMMARY:Monday to Friday from 9:00 to 18:00
+ DTSTART;TZID=America/Montreal:20061002T090000
+ DTEND;TZID=America/Montreal:20061002T180000
+ RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ END:AVAILABLE
+ END:VAVAILABILITY
+ END:VCALENDAR
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 15]
+
+Internet-Draft Calendar Availability November 2006
+
+
+Authors' Addresses
+
+ Cyrus Daboo
+ Apple Computer, Inc.
+ 1 Infinite Loop
+ Cupertino, CA 95014
+ USA
+
+ Email: cyrus at daboo.name
+ URI: http://www.apple.com/
+
+
+ Bernard Desruisseaux
+ Oracle Corporation
+ 600 blvd. de Maisonneuve West
+ Suite 1900
+ Montreal, QC H3A 3J2
+ CA
+
+ Email: bernard.desruisseaux at oracle.com
+ URI: http://www.oracle.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 16]
+
+Internet-Draft Calendar Availability November 2006
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2006).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr at ietf.org.
+
+
+Acknowledgment
+
+ Funding for the RFC Editor function is provided by the IETF
+ Administrative Support Activity (IASA).
+
+
+
+
+
+Daboo & Desruisseaux Expires May 18, 2007 [Page 17]
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070112/03661078/attachment.html
More information about the calendarserver-changes
mailing list