Symbian developer community

wiki

CalDav

From Symbian Developer Community

Jump to: navigation, search

Contents

Introduction

Sun Microsystems, Inc., a big supporter of CalDAV, is committed to contribute CalDAV support for Symbian OS.

CalDAV is a relatively new, open calendar synchronization standard, which quickly gained support within the industry and is now implemented by all major calendar software vendors, including Sun Microsystems, Oracle, Apple and many others. Many desktop clients, such as Mozilla Thunderbird/Lightning and Apple iCal, provide CalDAV support and are able to sync with these servers.

It is therefore desirable for Symbian to support CalDAV out-of-the-box on all devices for personal, business and enterprise use.

There is also a blog entry on the offical Symbian Foundation blog.

Scope

The following standards are supported:

  • CalDAV: This is the standard itself.
  • CTag: An extension to CalDAV to check quickly whether a calendar collection has changed.
  • Collection Synchronization for WebDAV: To receive only changed events from a server, thus significantly speeding up synchronization.
  • GroupDav: Similar to CalDAV, but easier to implement on the server side, e.g. a plain Apache + mod_dav is enough.
  • two way synchronization of calendar's displayname and calendar's color (Apple's calendar color extension)

These are the requirements to support basic functionality.

Get involved! It would make sense to look into the following for the future:

  • Scheduling: add invitees and support free/busy lookup
  • caldav-pubsub: True push from a CalDAV server.
  • Use of SRV records for locating CalDAV calendar services: [1]
  • create/delete new calendars on the server, using MKCALENDAR/extended MKCOL

For an introduction and code pointers, see Did you know: organizer package

Related technology for contacts: Carddav

Mobile Interoperability Test Suite: [2]

Architecture

The design will follow Symbian's client-server architecture. All neccessary GUI elements will be integrated into the native calendar application as an ECOM plugin.

File:Uml_client_server.png File:Ecom_plugin.png

Testing

To ensure high quality and integration with a large number of different servers, the CalDAV plugin is automatically tested by an automated testsuite against many different servers:

  • Sun Calendar Server 7 Release Version
  • Sun Calendar Server Tip Version
  • Google
  • Chandler
  • Bedework
  • Yahoo
  • Apple
  • Oracle
  • Sogo
  • Kerio
  • DaviCal
  • Apache + mod_dav

You can also run and test the plugin by checking out the caldav branch of the FCL organizer package. You can setup and use your own, existing CalDav account by entering url, username and password under Options-Settings-CalDAV Customization. Alternativly, you can use a provided demo account:

or

Info

Open Issues

  • CalendarInfo::SetColor and CalendarInfo::SetDescription change does not show up until restart - see Bug 1649
  • PropertyKeysL() crash if count is 0 - see Bug 451
  • Calendar app needs AllFiles, DRM and NetworkControl capabilities - see Bug 1648
  • correct init of CCalEntryImpl
  • the internal iCalendar importer/exporter has several issues - see Bug 225
  • currently, the CalDAV setting appear inside Options-Settings using the Calendar Settings API. This is the only solution currently, but actually the multiple calendar view would be the right place to integrate CalDAV. This can be hopefully improved in Symbian^4
  • to make it work also on Nokia devices, which do not have the code from the Symbian Foundation codeline directly, support for ETag is not included. This will be hopefully fixed with Symbian^4

Sign in to comment…