# (c) 2004 Martin Konold <martin.konold@erfrakon.de>

# This schema is derived from RFC 2739 and may act as a substitute
# when used with OpenLDAP as the original schema from RFC 2739 
# is syntactically not accepted by OpenLDAP 2.2.14
#
# Copyright (C) The Internet Society (2000).  All Rights Reserved.
#
#  This document and translations of it may be copied and furnished to
#  others, and derivative works that comment on or otherwise explain it
#  or assist in its implementation may be prepared, copied, published
#  and distributed, in whole or in part, without restriction of any
#  kind, provided that the above copyright notice and this paragraph are
#  included on all such copies and derivative works.  However, this
#  document itself may not be modified in any way, such as by removing
#  the copyright notice or references to the Internet Society or other
#  Internet organizations, except as needed for the purpose of
#  developing Internet standards in which case the procedures for
#  copyrights defined in the Internet Standards process must be
#  followed, or as required to translate it into languages other than
#  English.
#
#  The limited permissions granted above are perpetual and will not be
#  revoked by the Internet Society or its successors or assigns.
#
#  This document and the information contained herein is provided on an
#  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
#  TASK FORCE DISCLAIMS 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.

# slapd.conf then looks like
#  include /kolab/etc/openldap/schema/core.schema
#  include /kolab/etc/openldap/schema/cosine.schema
#  include /kolab/local/etc/openldap/schema/inetorgperson.schema
#  include /kolab/local/etc/openldap/schema/rfc2739.schema
#  include /kolab/local/etc/openldap/schema/kolab2.schema

#
################################
# rfc 2739 calendar attributes #
################################

# contains the URI to a snapshot of the user's entire
# default calendar
attributetype ( 1.2.840.113556.1.4.478
  NAME 'calCalURI'
  DESC 'RFC2739: URI of entire default calendar'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# contains the URI to the user's default
# busy time data
attributetype (1.2.840.113556.1.4.479
  NAME 'calFBURL'
  DESC 'RFC2739: URI to the users default freebusy data'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# contains a URI that can be used to communicate with 
# the user's calendar
attributetype (1.2.840.113556.1.4.480
  NAME 'calCAPURI'
  DESC 'RFC2739: URI used to communicate with the users calendar'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# contains a URI that points to the location to which event
# requests should be sent for that user
attributetype (1.2.840.113556.1.4.481
  NAME 'calCalAdrURI'
  DESC 'RFC2739: URI for event equests destination'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# multi-valued property containing URIs to snapshots of 
# other calendars that the user may have
attributetype (1.2.840.113556.1.4.482
  NAME 'calOtherCalURIs'
  DESC 'RFC2739: multi-value URI for snapshots of other calendars'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# multi-valued property containing URIs to snapshots of other 
# free/busy data that the user may have
attributetype (1.2.840.113556.1.4.483
  NAME 'calOtherFBURLs'
  DESC 'RFC2739: multi-value URI for other free/busy data'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

# multi-valued property containing URI to other calendars that
# the user may have
attributetype (1.2.840.113556.1.4.484
  NAME 'calOtherCAPURIs'
  DESC 'RFC2739: multi-value URI to other calendars'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

#  URIs to other locations that a user may want
#   event requests sent to
attributetype (1.2.840.113556.1.4.485
  NAME 'calOtherCalAdrURIs'
  DESC 'RFC2739: multi-value URI to other request destinations'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  USAGE userApplications )

objectclass (1.2.840.113556.1.5.87
  NAME 'calEntry'
  DESC 'RFC2739: Calendar Entry'
  SUP top AUXILIARY
  MAY ( calCalURI $ 
        calFBURL $
        calOtherCalURIs $
        calOtherFBURLs $
        calCAPURI $
        calOtherCAPURIs ) )
