Shared Calendars with a CalDav Server

With Mac OSX 10.5 (Leopard), proper support for CalDav has arrived. Along with this, Apple also developed a CalDav server, which compiles cleanly on 10.4 and above. As I had a 10.4 Powermac which isn’t fast enough to run Leopard, I decided to stick the CalDav server on it and see if it works. It does.

You should, I believe, be able to compile the CalDav server on any Unix-like OS. It’s mostly Python based.

Getting the CalDav server running

This works on OSX 10.4.11 on PowerPC, with Fink and the Developer Tools (gcc) installed.

Download the latest version of the CalDav Server from http://trac.calendarserver.org/projects/calendarserver/. You currently have to use SVN.

sudo bash
apt-get install svn-client
apt-get install python24
mkdir calendar
cd calendar 
svn checkout http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk CalendarServer
cd CalendarServer
./run -s
cp ./conf/caldavd-test.plist ./conf/caldavd-dev.plist
  • Edit conf/caldavd-dev.plist and remove ‘127.0.0.1’ from the section regarding listening interfaces.
  • Also, open the firewall on the server for ports 8008 and 8043. (Blocked by default on OSX).

In calendar/CalendarServer:

./run

The run command takes about a minute to startup, and it logs all sorts of stuff. Once it stops spewing verbosely, you should be able to connect from a web browser. Try http://servername:8080 and see if there’s any output. It should ask for authentication. Default username and password are ‘admin’ and ‘admin’.

Using the Calendar Server

With multiple clients subscribed to the CalDav server account, the changes you make on one client are seen in the other, as this is a CalDav server, not a subscription to a read-only calendar. Your client has to talk CalDav, not just WebDav or read ICS files. So far, the official list is Leopard iCal, Sunbird, Chandler and Mulberry.

With Leopard iCal, you can attach files to an events. These are saved on the CalDav server and should be visible by any CalDav client.

I’ve not worked out how you can CalDav subscribe to other people’s calendars. You can WebDav subscribe and have a read-only view of other CalDav caledars, but that doesn’t let you edit them or view attached files.

Sunbird’s manual refresh of remote calendars sometimes shows your calendar as empty. Keep refreshing until it shows some events.

Configure your Calendar client

iCal

  • Open iCal
  • Select from the Menu - iCal, Preferences
  • Click + at the bottom of the Accounts window
  • Fill out the username and pasword
  • The URL is “http://username@servername:8080/principals/users/username/” - Don’t miss out the username@ or it’ll fail.
  • Close Preferences
  • Select from the Menu - File, New Calendar, Then the name of the account you created.

Add some test events to your new calendar.

Sunbird

I’ve only test Sunbird 0.7 on Mac OSX 10.5. It seems reasonably stable.

  • Open Sunbird
  • Select from the Menu - File, New Calendar
  • In the window that pops up, select “On the network”, click continue.
  • In the next window, select “caldav”.
  • Click Continue
  • Enter a name for your calendar, click continue.
  • Sunbird should then ask for your username and password.

Create some new events.

ToDo

  • Managing accounts
  • Viewing and Editing other people’s calendars
  • Web interface to calendars (phpmycalendar?)
 
calendaring.txt · Last modified: 2008/01/09 18:33 by gavin
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki