[commits] [Wiki] created: CardDAV

Jan Schneider jan at horde.org
Tue Nov 12 13:40:15 UTC 2013


jan  Tue, 12 Nov 2013 13:40:15 +0000

Created page: http://wiki.horde.org/CardDAV

+ CardDAV

CardDAV is an address book client/server protocol designed to allow  
users to access and share contact data on a server.

The CardDAV protocol was developed by the IETF and has been published  
as RFC 6352 in August 2011. CardDAV is based on WebDAV, which is based  
on HTTP, and it uses vCard for contact data.

-- Wikipedia

++ People

((JanSchneider|Jan Schneider))

++ Description

Horde, specifically the Turba module for address books, supports  
CalDAV as a server for external address book clients, providing a  
central cloud storage for multiple devices of the users. It cannot use  
an external CardDAV server as an address book client on its own yet.

Horde utilizes the 3rd party [http://code.google.com/p/sabredav/  
SabreDAV] library for the grunt work of implementing the CardDAV and  
related protocols.

Full CardDAV support has been added with Horde 5.1/Turba 4.1.

++ Configuration

The Horde_Dav library is automatically pulled in as a dependency when  
installing Turba. The necessary database tables can be created as  
usual from the Horde configuration screen or via {{horde-db-migrate}}.  
The storage backend for all DAV operations has to be enabled in the  
Horde configuration screen.

++ Service Discovery

Some CardDAV clients support automatic discovery of the CardDAV  
service end points just by providing the user's email address or a  
host name, and some even require it. To enable service discovery,  
redirect aliases have to be set in your web server's configuration.  
The redirect target is either the {{horde/rpc/}} directory if you have  
"pretty" URLs enabled in your Horde configuration, or the  
{{horde/rpc.php}} file otherwise. This is an example for Apache web  
servers:

<code>
RedirectPermanent /.well-known/carddav /horde/rpc/
</code>

See your web server's documentation about how to set up redirects.

++ Client configuration

There are two different kind of CardDAV service end points which may  
or may not be supported by different clients:

* **Principal URLs** are single URLs for each individual user. These  
provide information about the user himself, and all of his available  
(CalDAV and CardDAV) resources.
* **Address book URLs** are URLs for each individual address book.  
Clients not supporting Principal URLs require users to enter each  
Address Book URL individually. They are also required if users want to  
suscribe to shared address books of other users.

Both types of URLs can be retrieved from the address books' edit  
forms. In the Turba interface click on the edit icon next to an  
address book name and copy the required URL from there.

++ Features

This is a list of devices known to work with Horde's CardDAV  
implementation. Please update if you gather new information, or have  
more detailed knowledge about the supported features or versions.

||~ Client/Device ||~ Principal URLs ||~ Address Book URLs ||~ Service  
Discovery ||~ Notes ||
||~ //Desktop Clients// |||||||| ||
|| SOGo Connector for Thunderbird || No || Yes ||  ||  ||
||~ //Mobile Devices// |||||||||||| ||
|| !CardDAV-Sync (Android) || Yes ||  || Yes ||  ||
|| iOS || Yes ||  || Yes || Service Discovery is required due to a  
buggy client implementation ||



More information about the commits mailing list