CalDAV
Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access scheduling information on a remote server. It extends WebDAV (HTTP-based protocol for data manipulation) specification and uses iCalendar format for the data. The access protocol is defined by RFC 4791. It allows multiple client access to the same information thus allowing cooperative planning and information sharing. Many server and client applications support the protocol. Extensions to CalDAV for automated scheduling are also standardized, as RFC 6638.
Communication protocol | |
Purpose | Access remote scheduling information |
---|---|
Introduced | March 2007 |
Based on | WebDAV |
OSI layer | Application |
Port(s) | Any |
RFC(s) | RFC 4791, 6638 |
History
The CalDAV specification was first published in 2003 as an Internet Draft submitted to the Internet Engineering Task Force (IETF) by Lisa Dusseault. In March 2007, the CalDAV specification was finished and published by the IETF as RFC 4791, authored by Cyrus Daboo (Apple), Bernard Desruissaux (Oracle), and Lisa Dusseault (CommerceNet). CalDAV is designed for implementation by any collaborative software, client or server, that needs to maintain, access or share collections of events. It is developed as an open standard to foster interoperability between software from different implementers.
Specification
The architecture of CalDAV (partially inherited from the underlying specifications) organizes the data (events, tasks, free-busy info, notes) in directories (collections), where multiple items (resources) reside. The resources and collections can be accessed by one or more users, using standard HTTP and DAV semantics to detect conflicting changes, or to provide locking.
For access control the concept of ACLs are used, so each operation (view, edit, delete etc.) can be denied or granted per user. Therefore, the specification requires that CalDAV servers must support "WebDAV Access Control Protocol" (RFC 3744). The calendar resources must use iCalendar format, which allows the server to understand and process the data. Parsing the iCalendar items is necessary, because the server has to support a number of calendaring-specific operations such as doing free-busy time reports and expansion of recurring events. With this functionality, a user may synchronize his or her own calendar to a CalDAV server, and share it among multiple devices or with other users. The protocol also supports non-personal calendars, such as calendars for sites or organizations.
Software
Client
The list of CalDAV clients includes:[1]
- AgenDAV (Open Source multi-language CalDAV WebClient with AJAX interface)
- iPhone (version 3.0 or version 2.1 with Remote Calendar)
- CalDavZAP (Web-based HTML5 / JavaScript application, Open Source)[2]
- CalDAV Tasksync for Android[3]
- CalDAV-Sync for Android[4]
- CalendarSync for Android[5]
- DAVx⁵ (previously called DAVdroid) for Android (Open Source)[6]
- EVO Collaborator for Outlook add caldav sync capability to Outlook [7]
- Evolution (Linux, Unix, Windows) [8]
- eM Client (Windows)
- gSyncit[9] (Sync Microsoft Outlook with mobile/tablet device)
- Horde Groupware[10]
- iCal4OL (No longer available for new customers)
- iCal/Calendar.app (Since Mac OS X Leopard !V 10.5)
- iCal Import/Export CalDAV for Android[11]
- Mailfence CalDAV client through iCAL/vCAL
- Sunbird or Thunderbird with the Lightning extension (Linux, Windows, Unix, Mac OS X)
- OpenSync for Android
- Outlook CalDav Synchronizer (open source) adds CalDAV support to Microsoft Outlook[12]
- vdirsyncer synchronizes calendars (and addressbooks) between two storages, e. g. CalDAV (CardDAV) server with a local folder or file.[13]
- Windows 10, though restricted to certain providers[14]
Server
The list of CalDAV servers includes:[15]
- Apple Darwin Calendar Server
- Baikal[16] Lightweight CalDAV+CardDAV server
- Bedework (former UWCalendar)[17]
- Bynari Collaboration Suite[18]
- Chandler Server (Cosmo)
- CommuniGate Pro Since version 5.2
- Cyrus IMAP server since version 2.4.17
- DAViCal[19]
- DPCalendar[20]
- DavMail
- Daylite CalDAV Server[21]
- Dingo Calendar Server
- EGroupware Since version 1.6
- EVO Mail Server[22]
- Fabasoft Folio Cloud
- Google Calendar[23]
- Horde Groupware[10]
- Icewarp-E-Mail-Server Since version 8.x
- Kerio Connect[24]
- MDaemon Email Server
- Mailfence[25]
- mod caldav[26]
- Nextcloud[27]
- Open-Xchange
- Oracle Beehive
- Oracle Siebel CRM
- Oracle Communications Calendar Server[28]
- ownCloud[29]
- Radicale (CalDAV)[30]
- SOGo[31]
- SabreDAV[32]
- Scalix[33]
- Sun Java Calendar Server
- Synovel CollabSuite[34]
- Xandikos[35]
- Yahoo Calendar
- Zarafa Since la version 6.30.0
- Zimbra Since version 4.5[36]
- sync!Egw[37]
See also
- Exchange ActiveSync
- Comparison of CalDAV and CardDAV implementations
- Calendar
- CardDAV
- GroupDAV, an effort to create a simplified, straightforward protocol for calendars as well as contacts.
- iCalendar
- Scheduling OSID defines a software interface abstraction for calendaring protocols
- SyncML
- vCalendar
- WebDAV
References
- "CalDAV Clients (English)". September 18, 2010. Archived from the original on May 23, 2016. Retrieved December 17, 2010.
- CalDavZAP
- TaskSync
- CalDAV-Sync
- CalendarSync
- DAVx⁵
- EVO Collaborator for Outlook
- "Using a CalDAV calendar". help.gnome.org. Retrieved February 28, 2019.
- Fieldston Software
- Horde Groupware
- iCal Import/Export CalDAV
- Outlook CalDav Synchronizer
- https://vdirsyncer.pimutils.org/
- "Windows 10 can sync email/contacts/calendars with all major providers – chooses to pick winners and losers in the market instead". Ctrl. Retrieved March 2, 2017.
- "CalDAV Servers (English)". Retrieved January 7, 2014.
- "Baikal". Archived from the original on November 14, 2015. Retrieved November 8, 2013.
- "Bedework". Archived from the original on December 2, 2011. Retrieved November 10, 2015.
- Bynari Collaboration Suite
- DAViCal
- DPCalendar
- "Daylite CalDAV Server". Archived from the original on October 15, 2015. Retrieved November 10, 2015.
- EVO Mail Server
- Google Calendar
- Kerio Connect
- Mailfence
- mod_caldav auf SourceForge
- Nextloud
- Oracle Communications Calendar Server
- ownCloud
- Radicale
- SOGo
- sabre/dav
- Scalix
- Synovel
- Xandikos
- Zimbra
- sync!Egw