Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The carddav server delivers content out of a hierarchy of information. The shape of that hierarchy is determined by the configuration. Different parts of the hierarchy are typically delivered by different directory handlers. For example, as configured, the "/directory/users" branch is a gateway to the enterprise user directory - delivering vcards based on the account information.

Principal searches

The caldav server uses carddav to provide information about principals via teh principal-property-search report. A query of the form

Code Block
<?xml version="1.0" encoding="utf-8" ?>
<D:principal-property-search xmlns:D="DAV:"
            xmlns:C="urn:ietf:params:xml:ns:caldav"
            xmlns:CD="urn:ietf:params:xml:ns:carddav">
  <D:property-search>
    <D:prop>
      <D:displayname/>
    </D:prop>
    <D:match>dougl</D:match>
  </D:property-search>
  <D:prop>
      <D:displayname/>
      <C:calendar-user-address-set/>
      <CD:address-data content-type="application/vcard+json" />
  </D:prop>
</D:principal-property-search>

will result in a carddav query. Currently the url used is built in to the system and is /pubcarddav/directory/. The query has the form

Code Block
<?xml version="1.0" encoding="UTF-8" ?>

<C:addressbook-query xmlns:C="urn:ietf:params:xml:ns:carddav"
              xmlns="DAV:">
  <prop>
    <getetag/>
    <C:address-data content-type="application/vcard+json"/>
  </prop>
  <C:filter test="anyof">
    <C:prop-filter name="FN">
<C:text-match collation="i;unicode-casemap" match-type="contains">dougl</C:text-match>    </C:prop-filter>
  </C:filter>
</C:addressbook-query>