Saturday, November 28, 2009

Using OS X 10.5 iCal with Google CalDAV - cleaning up import disasters

I don't have a rich enough vocabulary to fully express my opinion of OS X iCal. Can a worse calendar program exist anywhere or anywhen?

And yet ... Google lists iCal as one of precisely two products that will work with Google's CalDAV services. I now use CalDAV with my iPhone, and at the moment I prefer it to iPhone ActiveSync.

That's nice, but not enough to make me bother -- until a recent Google Calendar import misadventure. Google doesn't give users a way to remove all events from a Calendar without deleting the calendar. I need something more powerful than Google's anemic calendar interfaces.

I decided to give iCal CalDAV a try with Spanning Sync as my backup.

First I had to clean out the old calendars, now abandoned since I'd moved my calendaring to Google. It was easy to delete all but the Home Calendar. You can't remove the iCal Home calendar [SEE UPDATE: This was a bug, you should be able to remove it.], and there's no UI to delete all Home Calendar entries (the iCal List view, in particular, having been famously deleted in 10.5 and replaced with the bizarre "." workaround).

I tried the "search on ." method to find entries in a list view and delete them, but there were several undead entries. They returned after deletion. Besides, iCal is sickeningly slow at delete operations.

In the end I had to remove all data in iCal using the Finder:
... Navigate to the folder ~User/Library/Calendars
Delete the contents

Navigate to ~User/Library/Application Support/iCal
Delete the contents...
Once that was done I followed Google's CalDAV setup directions. I now have about five of my Google Calendars in iCal. It's a good way to view a lot of Calendar data in one place.

In early testing, things look promising. I can in fact edit and delete CalDAV entries and the changes are reflected back to Google -- at one time I believe that didn't work. Alarms, however, don't get set in Google even when they're set in iCal.

Update: The directions work for Google Apps domains as well as standard Google Accounts. See also.

Update 11/29/09: You should be able to delete your Home calendar. I found this out while setting up iCal on some of our other machines. When I right clicked on Home the Delete function was black, it had been gray on the first machine I worked with. I went back to the initial machine, my old G5 iMac, and I was able to delete it there as well. I think this was related to the "zombie" recurring appointments (dated 2002) that I couldn't remove. When I deleted all the Calendar data in the Finder I cleared up that problem -- and the problem of the unremovable "Home" calendar. The most likely cause? Permissions, of course. The OS X permissions model needs to be shot.

No comments: