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
Horde, specifically the Turba module for address books, supports CardDAV 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 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.
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.
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:
RedirectPermanent /.well-known/carddav /horde/rpc/
See your web server's documentation about how to set up redirects.
Service Discovery can also be implemented via DNS setup. Please refer to http://code.google.com/p/sabredav/wiki/ServiceDiscovery for details.
There are two different kind of CardDAV service end points which may or may not be supported by different clients:
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.
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 | ||||
Outlook CalDav Synchronizer (Outlook CalDAV/CardDAV Plugin) | Yes | Yes | Yes | |||
Apple Address Book | Yes | Yes | Confirmed with Address Book 6.1/OS X 10.7 , works on manual for El Captain , Contacts 9.0 (1679) ; only loads one address book at the moment | |||
Mobile Devices | ||||||
DAVdroid (Android 4+) | Yes | Yes | Yes | |||
ContactSync (Android) | Yes | Yes | Yes | |||
!CardDAV-Sync (Android) | Yes | Yes | ||||
iOS | Yes | Yes | Tested with iOS 5.1.1, 6.1.3, and 7.0.3. Service Discovery is required due to a buggy client implementation. | |||
BlackBerry | Yes | Yes | Tested with BB10 simulator. |