Docstoc

Calconnect-CalDAV-Matrix---CalConnect---The-Calendaring-and-

Document Sample
Calconnect-CalDAV-Matrix---CalConnect---The-Calendaring-and- Powered By Docstoc
					CALDAV Draft 7 Feature Set 1.2 XML Namespaces

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition MUST NOT The namespace "urn:ieft:params:xml:ns:caldav" is reserved for the XML elements defined in this specification, its revisions, and related CalDAV specifications. It MUST NOT be used for proprietary extensions. The XML declarations used in this document are incomplete, in that they do not include namespace information. Thus, the reader MUST NOT use these declarations as the only way to create valid CalDAV properties or to validate CalDAV XML element type. Some CalDAV XML element names are identical to WebDAV XML element names, though their namespace differs. Care MUST be taken not to confuse the two sets of names. If a method precondition or postcondition for a request is not satisfied, the response status of the request MUST be either 403 (Forbidden) if the request should not be repeated because it will always fail, or 409 (Conflict) if it is expected that the user might be able to resolve the conflict and resubmit the request. When a particular precondition is not satisfied or a particular postcondition cannot be achieved, the appropriate XML element MUST be returned as the child of a top-level DAV:error element in the response body, unless otherwise negotiated by the request. If a server supports the CalDAV features described in this document, it MUST include calendar-access" as a field in the DAV response header from an OPTIONS request on any resource that supports any calendar properties, reports, methods, or privilege. Page 1 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

MUST NOT

MUST

MUST 1.3 Method Preconditions and Postconditions

MUST

3.1 CalDAV Server Support

MUST

CALDAV Draft 7 Feature Set

4.1.1 Calendar Server

4.2 Calendar Home

4.3 Calendar Collection

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition A value of calendar-access" in the DAV MUST, header MUST indicate that the server REQUIRED supports all MUST level requirements and REQUIRED features specified in this document. 3.1.1 MAY A WebDAV repository MAY include calendar data in some parts of its URL namespace, and non-calendaring data in other parts. Both CalDAV servers and clients MUST MUST ensure that the data is consistent and compliant. MUST Clients MUST be prepared for calendar data on the server to change between the time of last synchronization and when attempting an update, as calendar collections may be shared and accessible via multiple clients. A calendar home collection MUST report the MUST DAV:collection and CALDAV:calendar-home XML elements in the value of the DAV:resourcetype property. Calendar home collections MUST NOT MUST NOT contain other calendar home collections. MAY Multiple calendar home collections MAY be children of the same WebDAV collection. A calendar home collection MAY contain MAY additional collections and non-collection resources of types not defined here. Additional collections contained in a calendar MUST NOT home collection MUST NOT contain calendar home collections. A calendar collection MUST report the MUST DAV:collection and CALDAV:calendar XML elements in the value of the DAV:resourcetype property. Calendar collections MUST NOT contain MUST NOT other calendar collections. Multiple calendar collections MAY be children MAY of the same WebDAV collection. Page 2 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition A calendar collection MAY contain additional MAY collections and non-collection resources of types not defined here. Additional collections contained in a calendar MUST NOT collection MUST NOT contain calendar collections. MAY, 4.4.1 CALDAV:calendar- SHOULD NOT This property MAY be protected and SHOULD NOT be returned by a PROPFIND description allprop request Property MUST, Servers MUST indicate the human language SHOULD of the description using the xml:lang attribute and SHOULD consider the HTTP AcceptLanguage request header when selecting one of multiple available languages. The CALDAV:calendar-description property MAY MAY be defined on any calendar home or calendar collection. MAY, 4.4.2 CALDAV:calendar- SHOULD NOT This property MAY be protected and componentSHOULD NOT be returned by a PROPFIND restriction-set allprop request. Property The CALDAV:calendar-componentMAY restriction-set property MAY be defined on any calendar collection to specify the calendar component types that the CalDAV server support in the calendar object resources contained in the calendar collection. MAY CalDAV servers MAY allow users to set this property on any calendar collection by using PROPPATCH to allow them to restrict the calendar component types themselves. The element <C:comp name=VTIMEZONE"> MUST MUST only be specified if support for calendar object resources that only contains VTIMEZONE components is provided or desired. Page 3 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set 4.4.3 CALDAV:calendarrestrictions Property

4.5 Calendar Object Resource Restrictions in Calendar Collections

4.6 Creating Resources

4.6.1 MKCALENDAR Method

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition MAY, SHOULD NOT Conformance: This property MAY be protected and SHOULD NOT be returned by a PROPFIND allprop request. MAY The CALDAV:calendar-restrictions property MAY be defined on any calendar collection to specify restrictions a CalDAV server may have on a calendar collection. Calendar object resources contained in MUST NOT, calendar collections MUST NOT contain MUST more than one type of calendar component (e.g., VEVENT, VTODO, etc.) with the exception of VTIMEZONE components which MUST be specified for each unique TZID parameter value specified in the iCalendar object. The UID property value of the calendar MUST components contained in a calendar object resource MUST be unique in the scope of the calendar collection, and all its descendant collections, in which the calendar object resource is contained. Calendar components in a calendar MUST collection that have different UID property values MUST be stored in separate calendar object resources. Calendar components with the same UID MUST property value, in a given calendar collection, MUST be contained in the same calendar object resource. MUST, MUST Both client and server MUST comply with the requirements in this document, and MUST understand objects appearing in calendar collections or according to the data model defined here. MAY A server MAY restrict calendar collection creation to particular collections. Page 4 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition Clients SHOULD use the DAV:displayname SHOULD property for a human-readable name of the calendar. SHOULD NOT Clients SHOULD NOT set the DAV:displayname property to be the same as any other calendar collection at the same URI level". When displaying calendar collections to SHOULD users clients SHOULD check the DAV:displayname property and use that value as the name of the calendar. In the event that the DAV:displayname MAY property is empty, the client MAY use the last part of the calendar collection URI as the name. If a MKCALENDAR request fails, the server MUST state preceding the request MUST be restored. Marshalling: If a request body is included, it MUST MUST be a CALDAV:mkcalendar XML element. If a response body for a successful request MUST is included, it MUST be a CALDAV:mkcalendar-response XML element. The response MUST include a CacheMUST Control:no-cache header. A resource MUST NOT exist at the RequestMUST NOT URI. MUST The Request-URI MUST identify a location where a calendar collection can be created. The DAV:bind privilege MUST be granted to MUST the current user. Postcondition: The DAV:resourcetype of the MUST calendar collection MUST contain both DAV:collection and CALDAV:calendar XML elements.

EVDB

Isamet

Support OSAF

Oracle

RPI

Page 5 of 11

CALDAV Draft 7 Feature Set 4.6.2 Creating Calendar Object Resources

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition SHOULD If the client intends to create a new noncollection resource, such as a new VEVENT, the client SHOULD use the HTTP header IfNone-Match: *" on the PUT request. MUST The Request-URI on the PUT request MUST include the target collection, where the resource is to be created, plus the name of the resource in the last path segment. SHOULD Servers SHOULD return an ETag header containing the actual ETag of the newly created resource on a successful creation. The server MAY support upload formats MAY, MUST other than iCalendar but then the server MUST validate each component uploaded according to the chosen format syntax. A CalDAV server MUST support WebDAV 5.1 Calendaring MUST ACL. Privileges MUST A CalDAV server MUST also support the calendaring privilege defined in this section. MUST 5.1.1 Servers MUST support this privilege on CALDAV:read-freecalendar collections and any calendar object busy Privilege resources within those collections. In the WebDAV ACL standard, servers MUST 5.1.2 Privilege MUST support the DAV:supported-privilegeaggregation and set property to show which privileges are the abstract, which privileges are supported, how DAV:supportedthe privileges relate to another, and to privilege-set provide text descriptions (particularly useful property for custom privileges). Although the list of supported privileges MAY MAY, MUST vary somewhat from server to server (the WebDAV ACL specification leaves room for a fair amount of diversity in server implementations), the following restriction MUST hold for a CalDAV server: Page 6 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition The server MUST support the CALDAV:readMUST free-busy privilege. The CALDAV:read-free-busy privilege MUST MUST be non-abstract, and MUST be aggregated under the DAV:read privilege. MAY, 5.2.1 CALDAV:calendar- SHOULD NOT This property MAY be protected and SHOULD NOT be returned by a PROPFIND home-URL allprop request. Property MAY, 5.2.2 CALDAV:calendar- SHOULD NOT This property MAY be protected and SHOULD NOT be returned by a PROPFIND address-set allprop request. Property SHOULD This property SHOULD be searchable using the DAV:principal-property-search REPORT. The DAV:principal-search-property-set SHOULD REPORT SHOULD identify this property as such. This section defines the reports which a MUST 6. Calendaring CalDAV server MUST support on calendar Reports collections and calendar object resources. CalDAV Servers MUST advertise support for MUST these reports with the DAV supported-reportset property defined in RFC3253. SHOULD Clients SHOULD request the DAV:getetag property whenever executing reports that return calendar data, to ensure that any local cache used for synchronization is kept up to date with the latest changes on the server. A server that supports calendar-access MUST 6.1 REPORT MUST support the DAV:expand-property Method report. The rules defined in [3] for determining the 6.3 Reports and MUST actual start and end times of calendar recurring items components MUST be used. The server MUST expand recurring items to MUST determine whether any one or more recurrence instances overlap the requested time range. Page 7 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Calendaring Extensions to WebDAV (CalDAV) Feature Set Requirement Condition A request to retrieve the value of a property MUST 6.4 which does not exist is an error and MUST CALDAV:calendarbe noted with a response XML element query Report which contains a 404 (Not Found) status value. Support for the calendar-query REPORT is REQUIRED REQUIRED. The request body MUST be a MUST CALDAV:calendar-query XML element as defined in Section 8.1. MUST The response body for a successful request MUST be a DAV:multistatus XML element. MUST The response body for a successful calendarquery REPORT request MUST contain a DAV:response element for each iCalendar object that matched the search filter. REQUIRED 6.5 Support for the calendar-multiget REPORT is CALDAV:calendarREQUIRED. multiget Report The request body MUST be a MUST CALDAV:calendar-multiget XML element, which MUST contain at least one DAV:href XML element, and one optional CALDAV:calendar-data element. MUST, MAY If the Request-URI is a collection resource, then the DAV:href elements MUST refer to resources within that collection, and they MAY refer to resources at any depth within the collection. The Depth" header MUST be ignored by the MUST, SHOULD NOT server and SHOULD NOT be sent by the client. If the Request-URI refers to a non-collection MUST resource, then there MUST be a single DAV:href element that is equal to the Request-URI. Page 8 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition MUST The response body for a successful request MUST be a DAV:multistatus XML element. MUST The response body for a successful CALDAV:calendar-multiget REPORT request MUST contain a DAV:response element for each calendar object resource referenced by the provided set of DAV:href elements. In the case of an error accessing any of the MUST provided DAV:href resources, the server MUST return the appropriate error status code in the DAV:status element of the corresponding DAV:response element. 6.6 CALDAV:free- REQUIRED Support for the CALDAV:free-busy-query busy-query REPORT is REQUIRED. Report MUST The response body for a successful request MUST be a DAV:multistatus XML element. MUST The response body for a successful CALDAV:free-busy-query REPORT request MUST contains a DAV:response element for each calendar collection for which free-busy information has been computed. The CALDAV:calendar-data XML element MUST MUST contain an iCalendar object with a single VFREEBUSY component, with zero or more FREEBUSY property values that describe the busy time intervals for the calendar object resources being targeted, and with other properties set according to the rules of iCalendar. Applications desiring free time information MUST MUST infer this from available busy time information.

EVDB

Isamet

Support OSAF

Oracle

RPI

Page 9 of 11

CALDAV Draft 7 Feature Set

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition Note that as per the requirements of Section MUST 6.3 the server MUST expand any recurring items to determine whether any instances contribute to the free busy information in the requested time range. Since offline functionality is more important MUST 7.2 to Calendar applications than to other Sychronization WebDAV applications, CalDAV servers Operations MUST support strong ETags. The CALDAV:calendar-data-only element MUST 8.2 MUST be specified in the CALDAV:calendarCALDAV:calendarrestrictions property of calendar collection data-only XML that only provide support for calendar object Element resources. The server MUST return only those MUST 8.3.5 expanded components whose time interval CALDAV:expandintersects the interval specified by the start recurrence-set and end attributes. XML Element The CALDAV:limit-recurrence-set XML MUST 8.3.6 element specifies that a server MUST only CALDAV:limitreturn information about the recurrence recurrence-set instances whose scheduled time intersect a XML Element specified time range for a given calendaring REPORT request. The server MUST use the same logic as MUST defined for CALDAV:time-range to determine if a recurrence instance intersect a given time range. MUST 8.4.2 CALDAV:propThe name" attribute MUST contain an filter XML Element iCalendar property name. SHOULD 8.4.5 Caseless matching SHOULD be CALDAV:textimplemented as defined in section 5.18 of match XML the Unicode Standard. Element The value of the start" and "end" attributes MUST 8.5 CALDAV:timeMUST follow the syntax of the DATE or range XML DATE-TIME iCalendar value type, with any Element time specified in UTC. Page 10 of 11

EVDB

Isamet

Support OSAF

Oracle

RPI

CALDAV Draft 7 Feature Set

10. Security Considerations

Calendaring Extensions to WebDAV (CalDAV) Requirement Condition MUST While the "start" and "end" attributes are not required to allow time ranges opened at one end, at least one of them MUST be specified in the CALDAV:time-range element. HTTP Basic authentication MUST NOT be MUST NOT used unless TLS is in effect. MUST Servers MUST take adequate precautions to ensure malicious clients cannot consume excessive server resources (CPU, memory, disk, etc.) through carefully crafted reports.

EVDB

Isamet

Support OSAF

Oracle

RPI

Page 11 of 11


				
DOCUMENT INFO
Shared By:
Tags: Calco, nnect
Stats:
views:17
posted:11/28/2009
language:English
pages:11
Description: Calconnect-CalDAV-Matrix---CalConnect---The-Calendaring-and-