1.. _carddav:
2
3=======
4CardDAV
5=======
6
7Configuration
8=============
9
10.. sidebar:: addressbookprefix
11
12    |change-default-config|
13
14   .. include:: /imap/reference/manpages/configs/imapd.conf.rst
15       :start-after: startblob addressbookprefix
16       :end-before: endblob addressbookprefix
17
18When enabled, the CardDAV module allows Cyrus to function as a contacts server.
19This module uses a subset of the mailbox hierarchy as addressbook collections,
20the toplevel of which is specified by the ``addressbookprefix`` option. The public
21addressbook hierarchy will reside at the toplevel of the shared mailbox
22namespace. A user's personal addressbook hierarchy will be a child of their
23Inbox.
24
25For example, using the default value for addressbookprefix, an
26addressbook named Default for user "murch" would reside in the mailbox named
27``user.murch.#addressbooks.Default``.
28
29.. warning::
30
31    Note that mailboxes in the addressbook hierarchies (those under
32    addressbookprefix) **should not** be accessed with an IMAP client as doing so will
33    leave a mailbox in a state unsuitable for CardDAV. To this end, addressbook
34    mailboxes will not returned by Cyrus imapd in response to an IMAP client's
35    request for the available mailbox list, but Cyrus imapd can not otherwise
36    prevent an IMAP client from accessing them.
37
38Administration
39==============
40
41The CardDAV module will *automatically* create a default addressbook for a user
42the first time that the user authenticates to the CardDAV server. Note that the
43user MUST have an existing IMAP Inbox in order for the addressbook to be
44created.
45
46There is also a Cyrus web GUI for managing addressbook resources.
47It allows you to:
48
49    * Create new collections
50    * Delete existing collections
51    * Download existing collections via prepared URLs
52
53To access the Cyrus web GUI for addressbook management, point
54a web browser at ``https://<servername>/dav/addressbooks/user/<username>``
55
56Addressbook access controls
57---------------------------
58
59Cyrus uses the same :ref:`access controls for addressbooks <calendar_ACL>`  as it
60does for calendars, except that the scheduling rights (7, 8, 9) have no use with
61addressbooks and are ignored.
62