INTERNET-DRAFT Alec Dun Expires: October 24, 1997 Microsoft Corporation Denis Hennessy ISOCOR April 1997 Schema for Storing Calendaring Information in a Directory Service draft-dun-calsch-schema-00.txt 1. Status of this Memo This document is an Internet-Draft. 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." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). 2. Abstract The Lightweight Directory Access Protocol [1][2] defines a standard protocol for accessing diverse directory services. One common use of a directory service is the location of application services, among which are a user's calendar and a user's free busy time. This document defines a set of object classes and attributes for storing information including URLs to the user's calendar and free/busy time. 3. Overview To meet these requirements the schema defines one object class: @ calEntry and 3 attributes: @ calCalendarURL @ calFreeBusyURL Dun, Hennessy [Page 1] INTERNET-DRAFT Schema for Calendaring Info April 1997 @ calFreeBusyData The calendar object class is a class which contains the calendaring attributes. 4. Objects and Attributes The 'top', 'country', 'locality', 'organization' and 'organizationalUnit' object classes are included in the "LDAPv3 Standard and Pilot Attribute Definitions", a work in progress [2]. 4.1. Notation The notation used in this document is the same as that used in [2]. 4.2. Object Definitions 4.2.1. calEntry The Calendar Entry is an class derived from top [2], which contains the four calendaring attributes. ( 1.2.840.113556.1.5.87 NAME 'calEntry' TOP AUXILIARY MAY ( calCalendarURL $ calFreeBusyURL $ CalFreeBusyData $ rfc822Mailbox ) ) 4.3. Attribute Definitions Calendaring implementations search on a well-known set of properties.Implementations of this schema are advised to index the following properties for performance reasons: - rfc822Mailbox 4.3.1. calCalendarURL A string representing the URL to the user's calendar. At minimum, one of the URLs must be an HTTP URL. Dun, Hennessy [Page 2] INTERNET-DRAFT Schema for Calendaring Info April 1997 ( 1.2.840.113556.1.4.478 NAME 'calCalendarURL' EQUALITY caseIgnoreMatch SUBSTRING caseIgnoreMatch SYNTAX IA5String MULTI-VALUE USAGE userApplications ) 4.3.2. calFreeBusyURL A string representing the URL to the user's free/busy times. At minimum, one of the URLs must be an HTTP URL. The URLs should locate a MIME body part using the FREE-BUSY/REPLY profile as described in [9]. ( 1.2.840.113556.1.4.479 NAME 'calFreeBusyURL' EQUALITY caseIgnoreMatch SUBSTRING caseIgnoreMatch SYNTAX IA5String MULTI-VALUE USAGE userApplications ) 4.3.3. calFreeBusyData A string representing the free/busy data for a particular user. The format of this data is a text/calendar MIME body part using the FREE-BUSY/REPLY profile as described in [9]. ( 1.2.840.113556.1.4.497 NAME 'calFreeBusyData' EQUALITY caseIgnoreMatch SUBSTRING caseIgnoreMatch SYNTAX IA5String SINGLE-VALUE USAGE userApplications ) 5. Usage Model 5.1 Obtaining user's free busy time. The following describes a mechanism a calendaring client could use to obtain a user's free/busy time. Dun, Hennessy [Page 3] INTERNET-DRAFT Schema for Calendaring Info April 1997 The client first parses the domain name out from the rfc822 mailbox name. For the fictitious mailbox 'foo@bar.com', the domain name would be 'bar.com'. Given the domain name, the client queries the DNS server for the LDAP server for 'bar.com'. [6], [7]. The DNS server returns the IP address for an LDAP server for 'bar.com'. The user queries the LDAP server for all calEntry records where rfc822mailbox=foo@bar.com. [2], [3] The LDAP server returns the matching calEntry. The client can use either the calCalendarURL or calServerName entry If the free/busy time is returned with the calEntry, the mechanism is complete. If the free/busy time is not returned, then the client uses the calFreeBusyURL attribute to obtain the URL to the free/busy time. The client uses the URL to obtain the free/busy time, the format is described in [8], [9]. At minimum, it is expected that one of the URLs will be an HTTP URL, so clients can count on that. 5.2 Obtaining user's calendaring server. The following describes a mechanism a calendaring client could use to locate the user's calendaring server. The client first parses the domain name out from the rfc822 mailbox name. For the fictitious mailbox 'foo@bar.com', the domain name would be 'bar.com'. Given the domain name, the client queries the DNS server for the LDAP server for 'bar.com'. [6], [7]. The DNS server returns the IP address for an LDAP server for 'bar.com'. The user queries the LDAP server for all calEntry records where rfc822mailbox=foo@bar.com. [2], [3] The LDAP server returns the matching calEntry. The client uses the calCalendarURL to obtain data from the user's calendar. The URL for accessing calendaring data is still to be defined. 6. Authors' Addresses Alec Dun Dun, Hennessy [Page 4] INTERNET-DRAFT Schema for Calendaring Info April 1997 Microsoft Corporation 1 Microsoft Way Redmond, WA. 98053 USA e-mail: alecdu@microsoft.com Denis Hennessy ISOCOR 42-47 Lower Mount Street Dublin 2 Ireland e-mail: denis.hennessy@isocor.ie 7. Bibliography [1] W. Yeong, T. Howes, S. Kille, 'Lightweight Directory Access Protocol', RFC 1777, March 1995, [2] M. Wahl, T. Howes, S. Kille, et al. "Lightweight Directory Access Protocol (Version 3)", INTERNET-DRAFT , February 1997. [3] M. Wahl, A. Coulbeck, T. Howes, S. Kille, 'Lightweight Directory Access Protocol: Standard and Pilot Attribute Definitions', INTERNET DRAFT October 1996 [4] The Directory: Selected Attribute Types. ITU-T Recommendation X.520, 1993. [5] The Directory: Selected Object Classes. ITU-T Recommendation X.521, 1993. [6] P. Leach 'Selecting a server from among many replicas', Internet Draft , February 1997 (work in progress). [7] P. Leach 'Locating Native Internet LDAP Servers', Internet Draft , March 1997 (work in progress). [8] D. Stenerson, F. Dawson 'Internet Calendaring and Scheduling Core Object Specification (iCalendar)', Internet Draft , Dun, Hennessy [Page 5] INTERNET-DRAFT Schema for Calendaring Info April 1997 March 1997 (work in progress). [9] F. Dawson 'MIME Calendaring and Scheduling Content Type Profile' Internet Draft , November 1996 (work in progress). Dun, Hennessy [Page 6]