Thursday, 29 January 2015

Adding delegated calendars to iOS devices under Mavericks or Yosemite and iOS8

Apple seem to just make this harder and harder.

Calendar Server in Mavericks and Yosemite has a feature called calendar delegation which allows sharing of calendars with other users.  This works great can even be leveraged to allow groups to share particular calendars either as read-only or read-write users, perfect for business etc.

The gotcha is that while you can connect to a Calendar Server (CALDAV server) from your iPhone or iPad, there is currently no option to show calendars to which you have delegated access.  A great example of Apple failing to help itself win over business customers.

Fortunately, there is a workaround which will allow you to add those calendars to which you have been granted delegated access in (quite) a few (not very) simple steps.  Read on....

PLEASE NOTE:  This guide assumes quite a bit, like that you have some terminal and calendar server experience and are running a dedicated calendar server under Mac OS Mavericks Server or Mac OS Yosemite Server and using LDAP user accounts.  You might need to modify things if that's not your setup.

Firstly, you need to find the GeneratedUID of the user whose Calendar account you have been granted delegated access to.  This is easily done using the DSCL tool from the command line.

So, on a mac that is connected to your directory open terminal and enter: -
dscl /LDAPv3/ldap.mycompany.com -read /Users/username GeneratedUID
This should return a long hex code eg. '937CE9D7-4050-401C-866A-51381DAB3646'


Next, Go to Settings > Mail, Contacts and Calendars - Click 'Add Account'



Choose the account type 'Other'



Select 'Add CalDAV Account'



Enter your credentials for your calendar on the server (Don't enter the details of the delegated calendar you want access to at this point)



Once it is configured, click the 'Account' line for details.



Change the description to describe the delegated account you are adding, then click 'Advanced Settings'.



Replace the GeneratedUID at the end of the Account URL with that of the delegated account you found earlier so that the line reads something like: 

https://server.myorg.com/principals/__uids__/937CE9E7-4060-401C-866A-51381DAB3646/



Now go back and you should see your account set up



Go in to Calendar.app and check your results.  You should see the calendar listed and any events should appear on your calendar.


Good luck!

1 comment:

  1. This comment has been removed by a blog administrator.

    ReplyDelete