CalDAV
Encyclopedia
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 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.
submitted to the Internet Engineering Task Force (IETF) by Lisa Dusseault. In March 2007, the CalDAV specification was described in the RFC 4791. 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.
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.
Internet standard
In computer network engineering, an Internet Standard is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force .-Overview:...
allowing a client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....
to access scheduling
Calendaring software
Calendaring software is software that minimally provides users with an electronic version of a calendar. Additionally, the software may provide an appointment book, address book, and/or contact list. These tools are an extension of many of the features provided by time management software such as...
information on a remote server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
. It extends WebDAV
WebDAV
Web-based Distributed Authoring and Versioning is a set of methods based on the Hypertext Transfer Protocol that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers...
(HTTP-based protocol for data manipulation) specification and uses iCalendar
ICalendar
iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics...
format for the data. The 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.
History
The CalDAV specification was first published in 2003 as an Internet DraftInternet Draft
Internet Drafts is a series of working documents published by the IETF. Typically, they are drafts for RFCs, but may be other works in progress not intended for publication as RFCs. It is considered inappropriate to rely on Internet Drafts for reference purposes...
submitted to the Internet Engineering Task Force (IETF) by Lisa Dusseault. In March 2007, the CalDAV specification was described in the RFC 4791. CalDAV is designed for implementation by any collaborative software
Collaborative software
Collaborative software is computer software designed to help people involved in a common task achieve goals...
, client or server, that needs to maintain, access or share collections of events. It is developed as an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....
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
Access control list
An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject...
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
ICalendar
iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics...
format, which allows the server to understand and process the data. Parsing the iCalendar
ICalendar
iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics...
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.
Implementations
- On August 7, 2006, Apple ComputerApple ComputerApple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...
announced that Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
10.5 "Leopard" would include iCalICaliCal is a personal calendar application made by Apple Inc. that runs on the Mac OS X operating system. iCal was the first calendar application for Mac OS X to offer support for multiple calendars and the ability to publish/subscribe calendars to WebDAV server....
3.0, an application that supports the CalDAV access and scheduling standards. Mac OS X ServerMac OS X ServerMac OS X Server is a Unix server operating system from Apple Inc. The server edition of Mac OS X is architecturally identical to its desktop counterpart, except that it includes work group management and administration software tools...
10.5 Leopard includes iCal ServerICal ServeriCal Server is a service included in Mac OS X Server v10.5. iCal Server is based on the CalDAV calendar standard. The iCal Server is a CalDAV standards-compliant server that allows multiple users to collaboratively share calendaring information....
, which implements the CalDAV access and scheduling protocols.. The iCal Server has been released under an open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
license as the Darwin Calendar ServerDarwin Calendar ServerThe Darwin Calendar Server is a standards-compliant server that allows multiple users to collaboratively share calendaring information. It provides a shared location on the network to store schedules, and allows users to manage and send invitations. It was publicly released during Apple's Worldwide...
. On March 17, 2009, Apple Computer announced that CalDAV would be included in the iPhoneIPhoneThe iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...
3.0 SDK. - DAViCalDAViCalDAViCal is a server for calendar sharing. It is an implementation of the CalDAV protocol which is designed for storing calendaring resources on a remote shared server...
is an open source calendaring server that uses the CalDAV format compatible with multiple calendaring clients. - dotCal, a calendar web app .
- Fabasoft Folio CloudFabasoft Folio CloudFabasoft Folio Cloud is software for Cloud Computing. It was developed by Fabasoft in Linz, Austria and launched in January 2010. The product also features secure document management and teamwork applications...
- ZimbraZimbraZimbra Collaboration Suite is a groupware product created by Zimbra, Inc., located in Palo Alto, California, USA. The company was purchased by Yahoo! in September 2007, and subsequently purchased by VMware on Tuesday, January 12, 2010. The software consists of both client and server components...
- Oracle BeehiveOracle BeehiveOracle Beehive is collaboration platform software developed by Oracle Corporation that combines email, team collaboration, instant messaging, and conferencing in a single solution...
, a unified communication and collaboration software solution, supports a number of open standards including CalDAV . This allows Beehive to work with a number of calendaring clients including Apple iCal, Mozilla Lightning, and Mozilla Sunbird . - Google CalendarGoogle CalendarGoogle Calendar is a free time-management web application offered by Google. It became available on April 13, 2006, and exited the beta stage in July 2009...
supports CalDAV using iCal 3.x and Mozilla Sunbird 0.8+. - Yahoo! CalendarYahoo! CalendarYahoo! Calendar is a Web-based calendar service from Yahoo!. It can read calendar feeds and events syndicated from sites that make use of the published Yahoo! calendar programming interfaces. While users are not required to have a Yahoo! Mail account, they are required to have a free Yahoo! ID in...
supports CalDAV using iCal 3.x . - The Mozilla Calendar ProjectMozilla Calendar ProjectThe Mozilla Calendar Project is the name for the Mozilla project that led to the development of Sunbird calendar application and the Lightning integrated calendar...
applications (Lightning, a plugin for Thunderbird , Seamonkey internet suite and SunbirdMozilla SunbirdMozilla Sunbird is a free and open source, cross-platform calendar application that was developed by the Mozilla Foundation, Sun Microsystems and many volunteers...
(a standalone version) also support CalDAV calendars. Other freely available client software include Evolution, MulberryMulberry (e-mail client)Mulberry is a formerly proprietary, now open sourced email client marketed by Cyrusoft from approximately 1995 to 2005. On October 1, 2005, Cyrusoft International, Inc./ISAMET, declared Chapter 7 bankruptcy and went out of business...
, ChandlerChandler (PIM)Chandler is a personal information management software suite described by its developers as a "Note-to-Self Organizer" designed for personal and small-group task management and calendaring. It is free software, previously released under the GNU General Public License, and now released under the...
and eM ClientEM ClienteM Client is a Windows-based Communication Client for managing E-mail, calendars, contacts and tasks. It contains integrated Instant Messaging for XMPP and Skype integration....
. - SynchronicaSynchronicaSynchronica plc is a public listed software vendor that develops and markets mobile push email and synchronization solutions, as well as mobile messaging solutions targeted at mobile network operators and device manufacturers....
, a developer of mobile push email and synchronization solutions announced that their Synchronica Mobile Gateway and Synchronica Mobile Backup products are both fully compatible with the CalDAV standard, allowing compatibility across a wide range of calendar applications. - TrytonTrytonTryton is a three-tier high-level general purpose computer application platform on top of which is built a business solution through a set of so-called Tryton modules....
, an Open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
platform for business solution, supports CalDAV server since version 1.4 - Atmail provides a complete client & server Calendaring solution - Based on the CalDAV protocol, Atmail provides a complete, full server implementation, and support for a wide range of desktop clients and mobile devices.
- Kerio Connect (formerly Kerio MailServer) - supports CalDAV since version 6.5
- Bedework (formerly UWCalendar)
- SabreDAVSabreDAVSabreDAV is an open source WebDAV server built in PHP. It is an implementation of the WebDAV protocol , providing a native PHP server implementation which operates on Apache 2 and Nginx web servers.- Features :...
, a WebDAV framework for PHP, supports CalDAV since version 1.2 - Radicale, a CalDAV server in Python (programming language)Python (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
- CalDAV-Sync provides event synchronization via CalDAV for Android devices
- EGroupwareEGroupWareEGroupware is free open source groupware software intended for businesses from small to enterprises. Its primary functions allow users to manage contacts, appointments, projects and to-do lists....
, a web-based open source groupware server, contains support for CalDAV since version 1.8 - sync•gw, a PHP based synchronization gateway provides support for CardDav and CalDAV (using SabreDAV framework)
See also
- WebDAVWebDAVWeb-based Distributed Authoring and Versioning is a set of methods based on the Hypertext Transfer Protocol that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers...
- GroupDAVGroupDAVGroupDAV is a computer protocol used to connect Open Source groupware clients with Open Source groupware servers. It is a lightweight protocol whose primary design goal is to be as simple as possible to implement, focusing more on real world issues with open source applications than on an...
, an effort to create a simplified, straightforward protocol for calendars as well as contacts. - CardDAVCardDAVCardDAV 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....
- SyncMLSyncMLSyncML is the former name for a platform-independent information synchronization standard. The project is currently referred to as Open Mobile Alliance Data Synchronization and Device Management...
- iCalendarICalendariCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics...
- vCalendar
- CalendarCalendarA calendar is a system of organizing days for social, religious, commercial, or administrative purposes. This is done by giving names to periods of time, typically days, weeks, months, and years. The name given to each day is known as a date. Periods in a calendar are usually, though not...
- Scheduling OSID defines a software interface abstraction for calendaring protocols
RFCs
- RFC 2616 – HTTP
- RFC 3744 – WebDAV Access Control Protocol
- RFC 4791 – CalDAV
- RFC 4918 – WebDAV
- RFC 5545 – iCalendar
- RFC 5546 – iTIP