CalDAV and CardDAV Extensions
Cyrus implements several proprietary extensions to WebDAV, CalDAV, and CardDAV. These extensions use Cyrus-specific XML namespaces, distinct from the standard namespace URIs defined by the relevant RFCs.
XML Namespaces
The http://cyrusimap.org/ns/ namespace is used for Cyrus extensions,
conventionally using the prefix CY.
Properties
CY:schedule-user-address
This property can be found on CalDAV resources.
This stores the scheduling addresses associated with the authenticated user for
a particular calendar resource. This is populated from the
X-Schedule-User-Address header stored with the calendar object in the IMAP
message store. The property is presented as DAV:href children containing
mailto: URIs.
CY:scheduling-enabled
This property can be found on CalDAV collections.
A boolean-like flag that controls whether CalDAV Auto-Schedule (RFC 6638) is
advertised and active for a given calendar collection. When absent or set to
any value other than F or no, scheduling is enabled (the default). Setting
it to F or no suppresses the calendar-auto-schedule token from the DAV:
response header for that collection and prevents automatic iTIP processing for
events stored in it.
This property is read/write via PROPPATCH. The Scheduling-Enabled: F HTTP
request header has the same suppression effect for individual calendar resource
PUT requests.
CY:address-groups
This property can be found on CardDAV resources.
Lists the vCard groups (vCards with KIND:group) that contain this contact.
The property element has zero or more CY:address-group child elements, each
containing the UID of a group that includes this contact's UID in its member
list.
This property is read-only and is only meaningful on vCard resources.
Privileges
Cyrus defines several sub-privileges in the CY namespace that refine the
standard WebDAV ACL privilege tree. These appear in the
DAV:supported-privilege-set response for calendar and address book
collections. They map to underlying Cyrus IMAP ACL bits as noted.
Under DAV:write-properties
Privilege |
Description |
IMAP ACL bit |
|---|---|---|
|
Write properties on a collection |
w |
|
Write properties on a resource |
n |
These are just the standard DAV:write-properties privilege, split into two
because Cyrus stores collection-level properties and resource-level properties
in different IMAP constructs with different ACL bits.
Under DAV:bind
Privilege |
Description |
IMAP ACL bit |
|---|---|---|
|
Create a new sub-collection |
k |
|
Add a new resource to a collection |
p |
Under DAV:unbind
Privilege |
Description |
IMAP ACL bits |
|---|---|---|
|
Delete a collection |
x |
|
Delete a resource |
te |