CalDAV
{{short description|Internet standard for sharing calendar data}}
{{More citations needed|date=April 2014}}
{{Infobox networking protocol
| title = CalDAV
| purpose = Access remote scheduling information
| date = {{Start date and age|2007|03}}
| based on = WebDAV
| osilayer = Application
| ports = Any
| rfcs = {{IETF RFC|4791|6638}}
}}
Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access and manage calendar data along with the ability to schedule meetings with users on the same or on remote servers.{{cite web |archive-url=https://web.archive.org/web/20220504033831/https://devguide.calconnect.org/CalDAV/introduction/ |url=https://devguide.calconnect.org/CalDAV/introduction/ |archive-date=2022-05-04|title=Introduction |publisher=Calconnect}}{{cite web |url=https://devguide.calconnect.org/Appendix/Glossary/ |title=Glossary of Terms}} It lets multiple users in different locations share, search and synchronize calendar data.{{cite web| url=https://www.linux.com/news/introduction-caldav/ |title=Introduction to CalDAV |date=February 14, 2006 |publisher=Linux.com}} It extends the WebDAV (HTTP-based protocol for data manipulation) specification and uses the iCalendar format for the calendar data. The access protocol is defined by {{IETF RFC|4791}}. Extensions to CalDAV for scheduling are standardized as {{IETF RFC|6638}}. The protocol is used by many important open-source applications.
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 vendors.{{Clarify|date=April 2010}}
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" ([https://datatracker.ietf.org/doc/html/rfc3744 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 their 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.
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
{{Reflist}}
External links
- [http://caldav.calconnect.org/ CalDAV Resource Site]
- [http://www.calconnect.org/ CalConnect, The Calendaring and Scheduling Consortium]
- [https://web.archive.org/web/20120626092812/http://webdav.org/ WebDAV Resources]
- [https://www.researchgate.net/publication/3419713_Open_Calendar_Sharing_and_Scheduling_with_CalDAV Open Calendar Sharing and Scheduling with CalDAV] L. Dusseault, J. Whitehead, IEEE Internet Computing 9(2)
- {{IETF RFC|2616|link=yes}}
- {{IETF RFC|3744|link=yes}}
- {{IETF RFC|4791|link=yes}}
- {{IETF RFC|4918|link=yes}}
- {{IETF RFC|5545|link=yes}}
- {{IETF RFC|5546|link=yes}}
{{Use American English|date=June 2019}}
{{Use mdy dates|date=June 2019}}