Network Working Group | C. Joy |
Internet-Draft | Oracle |
Intended status: Standards Track | C. Daboo |
Expires: December 04, 2011 | Apple Inc. |
M. Douglass | |
RPI | |
June 02, 2011 |
Schema for representing resources for calendaring and scheduling services
draft-cal-resource-schema-04
This specification describes a schema for representing resources for calendaring and scheduling. A resource in the scheduling context is any shared entity that can be scheduled by a calendar user, but does not control its own attendance status.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on December 04, 2011.
Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This specification defines a schema for representing resources to ease the discovery and scheduling of resources between any calendar client and server.
LDAP and vCard mappings of the schema are described in this document. The Object model chosen is the lowest common denominator to adapt for LDAP.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Data values must have valid representation for the chosen format with respect to escape characters, line folding, and so on.
A resource object definition should contain all information required to find and schedule the right resource. For this, it should contain all, or a set of the attributes described in Section 5. The cn attribute, described in Section 5.1 MUST be present in any resource object. Additional proprietary attributes may be defined as well, but must begin with "X-". Clients encountering attributes they don't know about must ignore them.
Attributes or Properties required to contact the resource are not included in this specification. LDAP attributes defined in [RFC4519] and VCARD properties defined in vCard Format Specification [I-D.ietf-vcarddav-vcardrev] can be used to include contact information for the resource.
In LDAP, a resource object SHOULD be defined as an objectclass with attributes as defined in Section 5. This objectClass MUST be an auxiliary class. Its Superior class is the calEntry objectClass as defined in Section 2.4.3.1 of [RFC2739].
Definition of the CalendarResource ObjectClass:
cn attribute as defined in Section 2.3 of [RFC4519]. This attribute MUST be present in a CalendarResource object.
FN property as defined in Section 6.2.1 of [I-D.ietf-vcarddav-vcardrev].
In LDAP, this information can be represented by including the right category objectlass.
Possible objectclasses are:
Person objectclass as defined in Section 3.12 of [RFC4519].
groupOfNames objectless as defined in Section 3.5 of [RFC4519].
groupOfUniqueNames objectless as defined in Section 3.6 of [RFC4519].
device objectless as defined in Section 3.4 of [RFC4519].
room objectclass as defined in Section 3.8 of [RFC4524].
In the absence of an objectclass that accurately describes the type of the object, the KIND attribute defined below MUST be used.
Definition of the kind LDAP attribute:
Property KIND that specifies the kind of object represented, as defined in Section 6.1.4 of [I-D.ietf-vcarddav-vcardrev]. A new value of "thing" will be used to represent any physical object or device.
KIND Value Mapping Table:
LDAP Objectclass | VCard Value |
---|---|
person | individual |
groupOfNames or groupOfUniqueNames | group |
device | thing |
room | location |
Definition of the vcarduid LDAP attribute:
UID property as defined in Section 6.7.6 of [I-D.ietf-vcarddav-vcardrev].
Definition of the nickname LDAP attribute:
NICKNAME property as defined in Section 6.2.3 of [I-D.ietf-vcarddav-vcardrev].
description attribute as defined in Section 2.5 of [RFC4519].
NOTE property as defined in Section 6.7.2 of [I-D.ietf-vcarddav-vcardrev].
ou attribute as defined in Section 2.20 of [RFC4519].
ORG property as defined in Section 6.6.4 of [I-D.ietf-vcarddav-vcardrev].
Definition of the categories LDAP attribute:
CATEGORIES property as defined in Section 6.7.1 of [I-D.ietf-vcarddav-vcardrev].
member attribute as defined in Section 2.17 or uniquemember attribute as defined in Section 2.40 of [RFC4519].
MEMBER property as defined in Section 6.6.5 of [I-D.ietf-vcarddav-vcardrev].
Definition of the admittanceinfo LDAP objectclass:
Definition of the restricted LDAP attribute:
Definition of the admittanceurl LDAP attribute:
Definition of the accessibilityurl LDAP attribute:
Definition of the capacity LDAP attribute:
Definition of the inventoryinfo LDAP attribute:
Definition of the inventorylist LDAP attribute:
Definition of the inventoryurl LDAP attribute:
owner attribute as defined in Section 2.21 of [RFC4519].
Definition of the resourcemanager LDAP attribute:
Calendar access attribute calCAPURI as defined in Section 2.4.4.3 and calOtherCAPURIs as defined in Section 2.4.4.7 of [RFC2739] respectively.
Calendar access property CAPURI as defined in Section 2.3.3 of [RFC2739].
Calendar access attribute calFBURL as defined in Section 2.4.4.2 and calOtherFBURLs as defined in Section 2.4.4.6 of [RFC2739] respectively.
FBURL attribute as defined in Section 2.3.1 of [RFC2739] and further explained in Section 6.9.1 of [I-D.ietf-vcarddav-vcardrev].
Scheduling Address attribute calCalAdrURI as defined in Section 2.4.4.4 and calOtherCalAdrURIs as defined in Section 2.4.4.8 of [RFC2739] respectively. This is the address that would be used by a Scheduling and Calendaring application to schedule the resource. Its value must be a uri string, in most cases a mailto: uri. The mail attribute value of the resource should be used for scheduling, in the absence of this attribute.
Scheduling Address property CALADRURI as defined in Section 2.3.2 [RFC2739] and further explained in Section 6.9.2 of [I-D.ietf-vcarddav-vcardrev]. This is the address that would be used by a Scheduling and Calendaring application to schedule the resource. Its value must be a uri string, in most cases a mailto: uri. The EMAIL property value of the resource should be used for scheduling, in the absence of this attribute.
Definition of the timezoneid LDAP attribute:
TimeZone property TZ as defined in Section 6.5.1 of [I-D.ietf-vcarddav-vcardrev].
Definition of the multiplebookings LDAP attribute:
Definition of the maxinstances LDAP attribute:
Definition of the bookingwindowstart LDAP attribute:
Definition of the bookingwindowend LDAP attribute:
Definition of the schedapprovalinfo LDAP objectclass:
Definition of the autoschedule LDAP attribute:
Definition of the approvalinfourl LDAP attribute:
Definition of the schedadmin LDAP attribute:
Definition of the cost LDAP objectclass:
Definition of the nocost LDAP attribute:
Definition of the costurl LDAP attribute:
Definition of the related LDAP attribute:
The property RELATED as defined in Section 6.6.6 of [I-D.ietf-vcarddav-vcardrev].
As this document only defines schema for representing resource information for calendaring and scheduling and does not refer to the actual storage mechanism itself, or the calendaring and scheduling protocol, no special security considerations are required as part of this document.
New LDAP objectclasses and attributes defined in this document need to be registered by the Internet Assigned Numbers Authority (IANA) as requested in the following template. Once the assignment is done, this document needs to be updated with the right OID numbers for all the newly defined objectclasses and attributes.
New LDAP ObjectClass and Attributes Table:
Name | Type | Definition | OID |
---|---|---|---|
CalendarResource | ObjectClass | Section 4.1 | IANA-ASSIGNED-OID |
Kind | Attribute | Section 5.2.1.1 | IANA-ASSIGNED-OID |
VcardUid | Attribute | Section 5.3.1 | IANA-ASSIGNED-OID |
NickName | Attribute | Section 5.4.1 | IANA-ASSIGNED-OID |
Categories | Attribute | Section 5.7.1 | IANA-ASSIGNED-OID |
AdmittanceInfo | ObjectClass | Section 5.9.1 | IANA-ASSIGNED-OID |
Restricted | Attribute | Section 5.9.2.1 | IANA-ASSIGNED-OID |
AdmittanceURL | Attribute | Section 5.9.3.1 | IANA-ASSIGNED-OID |
AccessibilityURL | Attribute | Section 5.10.1 | IANA-ASSIGNED-OID |
Capacity | Attribute | Section 5.11.1 | IANA-ASSIGNED-OID |
InventoryInfo | ObjectClass | Section 5.12.1 | IANA-ASSIGNED-OID |
InventoryList | Attribute | Section 5.12.2.1 | IANA-ASSIGNED-OID |
InventoryURL | Attribute | Section 5.12.3.1 | IANA-ASSIGNED-OID |
ResourceManager | Attribute | Section 5.14.1 | IANA-ASSIGNED-OID |
TimeZoneID | Attribute | Section 5.18.1 | IANA-ASSIGNED-OID |
MultipleBookings | Attribute | Section 5.19.1 | IANA-ASSIGNED-OID |
MaxInstances | Attribute | Section 5.20.1 | IANA-ASSIGNED-OID |
BookingWindowStart | Attribute | Section 5.21.1 | IANA-ASSIGNED-OID |
BookingWindowEnd | Attribute | Section 5.22.1 | IANA-ASSIGNED-OID |
SchedApprovalInfo | ObjectClass | Section 5.23.1 | IANA-ASSIGNED-OID |
Autoschedule | Attribute | Section 5.23.2.1 | IANA-ASSIGNED-OID |
ApprovalInfoURL | Attribute | Section 5.23.3.1 | IANA-ASSIGNED-OID |
SchedAdmin | Attribute | Section 5.23.4.1 | IANA-ASSIGNED-OID |
CalendarResourceCost | ObjectClass | Section 5.24.1 | IANA-ASSIGNED-OID |
Nocost | Attribute | Section 5.24.2.1 | IANA-ASSIGNED-OID |
CostURL | Attribute | Section 5.24.3.1 | IANA-ASSIGNED-OID |
Related | Attribute | Section 5.25.1 | IANA-ASSIGNED-OID |
The following new VCard Properties need to be registered by IANA.
New VCard Properties Table:
VCard Property Name | VCard Property Definition |
---|---|
RESTRICTEDACCESS | Section 5.9.2.2 |
ADMISSIONINFO | Section 5.9.3.2 |
ACCESSIBILITYINFO | Section 5.10.2 |
CAPACITY | Section 5.11.2 |
INVENTORYLIST | Section 5.12.2.2 |
INVENTORYURL | Section 5.12.3.2 |
RESOURCEOWNER | Section 5.13.2 |
RESOURCEMANAGER | Section 5.14.2 |
MAXINSTANCE | Section 5.20.2 |
BOOKINGWINDOWSTART | Section 5.21.2 |
BOOKINGWINDOWEND | Section 5.22.2 |
AUTOSCHEDULE | Section 5.23.2.2 |
APPROVALINFO | Section 5.23.3.2 |
SCHEDADMIN | Section 5.23.4.2 |
NOCOST | Section 5.24.2.2 |
COSTINFO | Section 5.24.3.2 |
The following new VCard Property Values need to be registered by IANA.
New VCard Property Values Table:
VCard Property Name | Additional VCard Property Value | Value Definition |
---|---|---|
KIND | thing | Section 5.2.2 |
This specification is a result of discussions that took place within the Calendaring and Scheduling Consortium's Resource Technical Committee. The authors thank the participants of that group, and specifically the following individuals for contributing their ideas and support: Arnaud Quillaud, Adam Lewenberg, Andrew Laurence, Guy Stalnaker, Mimi Mugler, Dave Thewlis, Bernard Desruisseaux, Alain Petit, Andrew Sciberras, and Jason Miller.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC4519] | Sciberras, A., "Lightweight Directory Access Protocol (LDAP): Schema for User Applications", RFC 4519, June 2006. |
[RFC2739] | Small, T., Hennessy, D. and F. Dawson, "Calendar Attributes for vCard and LDAP", RFC 2739, January 2000. |
[RFC4524] | Zeilenga, K., "COSINE LDAP/X.500 Schema", RFC 4524, June 2006. |
[I-D.ietf-vcarddav-vcardrev] | Perreault, S, "vCard Format Specification", Internet-Draft draft-ietf-vcarddav-vcardrev-22, May 2011. |
[ISO.8601.2004] | International Organization for Standardization , "Data elements and interchange formats -- Information interchange -- Representation of dates and times ", 2004. |