Calendar Delegation on OSX

Setting up Calendar App on OSX to view Shared Calendars

OSX 10.8 (Mountain Lion) supports syncing the native Calendar application via CalDAV – this allows read/write access to your own calendars and also to calendars shared with you.

How to set-up CalDAV on OSX 10.8

  • Open Calendar app > Preferences > Accounts
  • Click the plus sign to add a new account
  • Select account type CalDAV
  • Enter your email address in full as the Username and then fill in the password and server address fields
  • The account will be set-up and after a while you should be able to view the Server Settings and Delegation tabs
  • Close the preferences and after a while you will see your calendars start to appear in the list within the Calendar app

How to view Shared Calendars using CalDAV on OSX 10.8

It is possible to edit shared calendars from within CalDAV clients and therefore from within OSX Calendar App. 

  • Login to your mailbox via webmail
  • In Preferences > Calendars, scroll to the bottom of the settings and make sure that there is a tick in the check box labeled “Enable delegation for Apple iCal CalDAV client”
  • Save and close the Preferences
  • Still within Webmail, confirm that you can view the shared calendar
  • On your Mac, Open Calendar app > Preferences > Accounts
  • Click on the existing CalDAV account
  • Click on the Delegation tab
  • After a while you should see a list of all calendars which have been shared with you – select each one you want to display within Calendar app and then exit out of Preferences
  • Back in Calendar app you should see the shared calendars start to appear

Clearing the Calendar App cache on OSX 10.8

Sometimes it is useful to edit account settings and force Calendar App to update – this can be done easily by deleting the Calendar Cache file: 

  • Close Calendar App
  • Copy the cache file to another location – the cache file is located here: /Users/[your user]/Library/Calendars/Calendar Cache
  • Delete /Users/[your user]/Library/Calendars/Calendar Cache
  • Start Calendar App – note that it rebuilds the list of Calendars from the server

What to do if you also want to allow iOS devices to edit shared calendars

Because iOS does not support delegated calendars, when the Calendar Preference: “Enable delegation for Apple iCal CalDAV client” is enabled, shared calendars will not be shown on the iOS device. This can be irritating if you want to be able to edit shared calendars on OSX and also display them on your iOS devices (shared calendars are read only on iOS devices, but there is a workaround). 

NB – This is a workaround which is unsupported – following these instructions is entirely at your own risk. 

  • Assuming you’ve already got a CalDAV account set-up as per the instructions outlined above in “How to set-up CalDAV on OSX 10.8”
  • Edit the CalDav account – the server settings tab will be populated and the Server Path field will contain /principals/users/yourMailbox@yourdomain/
  • Modify the the Server Path replacing yourMailbox@yourdomain with the name and domain of the shared mailbox. For example: /principals/users/
  • Exit the settings dialogue and Quit the calendar app
  • Delete the calendar cache file using the instructions provided above
  • Open Calendar app – it should update and eventually you’ll see the appointments from the shared calendar. You will now be able to edit as required.