WebDAV
******


Configuration
=============


davdriveprefix
^^^^^^^^^^^^^^

   *This shows the default value: change it in imapd.conf to suit your
   needs.*

   "davdriveprefix:" #drive

      The prefix for the DAV storage mailboxes hierarchies.  The
      hierarchy delimiter will be automatically appended.  The public
      storage hierarchy will be at the toplevel of the shared
      namespace.  A user’s personal storage hierarchy will be a child
      of their Inbox.

When enabled, the WebDAV module allows Cyrus to function as a storage
server. This module uses a subset of the mailbox hierarchy as
collections, the toplevel of which is specified by the
"davdriveprefix" option. The public storage hierarchy lives at the
toplevel of the shared mailbox namespace. A user’s personal storage
hierarchy will be a child of their Inbox.

For example, using the default value for davdriveprefix, a collection
named photos for user “murch” would reside in the mailbox named
"user.murch.#drive.photos". A user would access their storage at
"https://<servername>/dav/<davdriveprefix>/user/<userid>", which for
the example above, comes to:
"https://<servername>/dav/drive/user/murch".

Warning: Note that mailboxes in the storage hierarchies (those under
  *davdriveprefix*) **should not** be accessed with an IMAP client as
  doing so will leave a mailbox in a state unsuitable for WebDAV. To
  this end, storage mailboxes will not returned by Cyrus imapd in
  response to an IMAP client’s request for the available mailbox list,
  but Cyrus imapd can not otherwise prevent an IMAP client from
  accessing them.


Administration
==============


Provisioning
------------

The WebDAV module will automatically create a toplevel (root)
collection for a user the first time that the user authenticates to
the WebDAV server. Note that the user MUST have an existing IMAP Inbox
in order for the root collection to be created.


Storage access controls
-----------------------

Cyrus uses the same access controls for storage  as it does for
calendars, except that the scheduling rights (7, 8, 9) have no use
with storage and are ignored.
