Open Calendar Sharing and Scheduling with Caldav
Total Page:16
File Type:pdf, Size:1020Kb
Editor: Jim Whitehead, [email protected] Open Calendar Sharing Track Standards and Scheduling with CalDAV Building on a decade of work on calendar standards, the CalDAV protocol promises to unlock the potential of widespread calendar interoperability. It permits calendar sharing over the Web and reduces the coordination cost of scheduling meetings across and within organizational boundaries.The protocol extends the Web Distributed Authoring and Versioning (WebDAV) protocol — itself, a simple extension of HTTP — to provide services for calendar maintenance, queries, event scheduling, and security. onsider for a moment the effort it nology can see dramatic benefits as Lisa Dusseault takes to schedule a meeting that meeting-coordination time drops from Open Source Cincludes people from multiple orga- tens to single-digit minutes — as long as Applications Foundation nizations. Currently, doing so involves everybody uses client software that sup- phone calls and multiple rounds of ports the chosen enterprise application. Jim Whitehead email, usually coordinated by one per- Unfortunately, these applications work University of California, Santa Cruz son, to build consensus for a time that only within existing organizations. Con- works for most people; the coordinator sider what happens when Jim, who works must also delicately handle cases in outside the organization, wants to sched- which the chosen time excludes one or ule a meeting with Larry and his cowork- more participants. ers, who are inside. Because he doesn’t For meetings in which everyone comes have an account on the internal calendar from the same organization, participants system, Jim must send an email to Larry, can solve scheduling issues largely via who then takes on the coordination task calendar sharing and scheduling software. to find meeting slots that work for his To schedule a meeting with Oracle Calen- coworkers. Larry must then negotiate dar or Microsoft Exchange/Outlook, for with Jim for a time slot that works for example, you log in to a calendar server members of Jim’s organization. Even if and then issue search requests for avail- Larry and Jim both had access to calen- able times among a group of meeting par- dar systems for their respective organiza- ticipants. Once the application finds a free tions, the process would remain tedious time slot, it sends a meeting request and and prone to coordination breakdowns. then handles acceptance or rejection To efficiently schedule meetings, users replies. Organizations that adopt this tech- need an interoperability protocol that lets IEEE INTERNET COMPUTING 1089-7801/05/$20.00 © 2005 IEEE Published by the IEEE Computer Society MARCH • APRIL 2005 81 Standards Track a diverse range of calendar clients and servers operations via email, has seen some success, communicate over the Internet. With such a pro- including several vendor implementations and tocol, we could use existing tools to schedule some cross-vendor interoperability. However, iMIP cross-organization meetings as efficiently as with- isn’t commonly used today by typical calendaring in-organization meetings. This protocol would also or email applications. make it easier to support calendar access and CAP provides services that calendar applica- scheduling functionality on a broad range of tions can use to access calendar items from remote devices by providing an open, consistent, stan- servers, search for open time periods in another dardized way to retrieve calendar data. person’s calendar (known as free/busy queries), and schedule meetings. (See www.calsch.org/ History of ietf/drafts.html for a complete list of CalSch’s doc- Calendar Interoperability uments, drafts, and issues.) In versions 00 through Protocol developers have long recognized the need 05 of CAP (released between August 1999 and for a calendar access and scheduling protocol. A July 2001), CalSch developed an entirely new pro- July 1996 press release from Netscape Communi- tocol that was distinct from all existing applica- cations heralded the formation of a working group tion-layer protocols, although it borrowed some- dedicated to developing standards for calendaring what from the Post-Office Protocol (POP) for its and scheduling on the Internet.1 That group became interaction style. In versions 06 through 11 the IETF’s Calendaring and Scheduling (CalSch) (November 2001 through July 2003), the working working group, which operated from October 1996 group used the Blocks Extensible Exchange Pro- through September 2004. CalSch initially divided tocol (BEEP) for its marshalling syntax and mes- its work into three main lines of development: saging behavior.5 CalSch made no further progress on CAP, and the IETF closed the working group in • a data model and textual representation for cal- September 2004. After four years of development, endar events (which generated the iCalendar CAP was dead. specification), As CAP development was slowly progressing, • the transport of calendar information via several implementers were routing around the email and LDAP (which resulted in the working group to release functional Internet cal- iCalendar Message-Based Interoperability Pro- endars. In 2002, Apple Computer released its iCal tocol [iMIP]), and personal calendar application, which supports • a general-purpose specification for calendar Internet-based calendar sharing. With iCal, a user access and scheduling (which became the Cal- can publish a calendar to a server running Web endar Access Protocol [CAP]). Distributed Authoring and Versioning (WebDAV),6 from which anyone else can view and download A key problem in developing interoperable calen- events. Although Apple designed the application dar applications is determining a standard way to to integrate with its WebDAV-based .Mac service, represent calendar items, including those that iCal works with any WebDAV server. A few open- repeat over time (a meeting held every Monday at source clients adopted iCal-over-WebDAV as the 11 a.m., for instance). CalSch built on earlier work de facto first open calendaring standard. by the Versit consortium, which developed an ini- In WebDAV,6 Apple made an interesting choice. tial calendaring and scheduling specification called The protocol extends HTTP to include overwrite vCalendar (www.imc.org/pdi/). After two years of prevention (locking), namespace operations (list refining that work, CalSch produced RFC 2445,2 collection, move, copy, create collection), and which is now in widespread use. The iCalendar metadata (properties). Combined with HTTP’s capa- data format it defines shares vCalendar’s non-XML bilities for reading, writing, and deleting Web format for representing attribute-value pairs. resources, WebDAV provides all the features nec- CalSch also developed the iCalendar Transport- essary for remote publishing and sharing of calen- Independent Interoperability Protocol (iTIP) for dars. Given that Apple was already using WebDAV calendar retrieval and scheduling operations.3 This for access to its .Mac Internet disk service, it was document described conceptually how to perform able to piggyback calendar sharing on top of the calendar-related operations, but it didn’t provide existing WebDAV server infrastructure — a far a concrete, on-the-wire protocol. The iMIP speci- more attractive option than implementing and fication,4 which describes how to perform iTIP fielding server infrastructure for a new protocol 82 MARCH • APRIL 2005 www.computer.org/internet/ IEEE INTERNET COMPUTING CalDAV such as CAP. Apple showed, in a very public way, that calendars could be treated like any other Web Daughter Father resource accessible via HTTP. Although Apple’s iCal provides useful capabil- Mother ities for individuals to publish and share their cal- endars, it does have drawbacks for corporate use. It CalDAV CalDAV CalDAV isn’t easy to search for free/busy times across a large set of people or to find other people’s calen- Family calendar dars. Due to synchronization issues, iCal also March makes it very tricky to have someone else manage your calendar for you. These problems largely stem CalDAV server from protocol-level shortcomings. Although native (at ISP) WebDAV easily supports individual publishing and sharing, it doesn’t provide any support for calen- dar locating, searching, or workflow scheduling. Figure 1. Collaborative editing scenario with a shared calendar. This Yet, Apple’s success with iCal-over-WebDAV raised family uses a shared calendar maintained on a CalDAV server run the question of whether specialized calendar sup- by their ISP. The father uses a laptop computer at work and home port could be added to WebDAV, rather than to update the calendar; the mother uses a PDA with wireless access. requiring a new protocol like CAP. Ideally, we Their daughter keeps in synch with the rest of the family by viewing would like a calendar access protocol to support and updating the calendar from her cell phone. standard within-organization meeting scheduling, as well as collaborative calendar sharing such as a family might use (Figure 1). Additionally, we want to make it much easier to schedule a meeting Open Source University of California, between participants from multiple organizations Applications Foundation Santa Cruz (Figure 2). Supporting these scenarios is the moti- iMIP vation for the Calendaring and Scheduling Exten- sions to WebDAV (CalDAV) protocol.7 Lisa Jim CalDAV in a Nutshell CalDAV The base CalDAV protocol provides three main CalDAV CalDAV features: CalDAV • Calendar maintenance. Users can create multi- Lisa's calendar Jim's calendar ple personal calendars (one each for work, con- March March OSAF UCSC ference time slots, home, and so on) via a new CalDAV server CalDAV server mkcalendar method. • Calendar queries. People can search other peo- ple’s calendars for free/busy times, or they can discover who is participating in a given meet- ing. Calendar applications can use queries to Figure 2. Scheduling across an organizational boundary. Lisa and Jim discover when to-do list items are due, and a work for two separate organizations and need to schedule a flexible new report type supports a wide meeting. Using her CalDAV calendar client, Lisa first searches their range of calendar queries.