Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the TidBITS Content Network for Apple consultants.

Banging My Head Against iCal Server's Limitations

I know a lot of people hate iCal, but I've always been a fan. As a longtime Microsoft Outlook user, I appreciate iCal's simplicity and clean display. It isn't that Outlook does anything wrong - I think it's vastly superior to competing enterprise messaging and calendaring solutions - but if you don't need all those additional features, iCal is a great substitute. (I briefly tried Microsoft Entourage, Outlook's nearest Mac equivalent, but found it lacking in multiple ways). As someone who has bounced around dozens of different mobile devices, I also appreciate the general consistency of iCal on the iPhone and Mac, and how current versions synchronize the calendar colors.

iCal, in Mac OS X 10.6 Snow Leopard and on the iPhone, even offers extensive Exchange support for Mac users in enterprise environments - which makes it all the more maddening that Apple's support for iCal Server on Macs and iPhones is absolutely horrific. It's as if Apple is deliberately driving users away from Mac OS X Server and into the waiting arms of Microsoft.

A Voyage of a Thousand Miles -- My journey of iCal and iCal Server despair began almost two years ago when I purchased an Apple Xserve running Mac OS X Server 10.5 Leopard to run my security consulting business. Leopard Server seemed like a near-ideal solution for a Mac-based small business, for three key reasons.

  • It enabled us to manage our email internally, which was important to us for security reasons.
  • It includes a well-designed wiki server that is directly tied to user groups, mailing lists, and a shared calendar. Since I run a research-based business, the wiki helped with internal collaboration and enabled us to build and share an easily organized library of content. Aside from normal wiki functions, the server indexes and displays Web page tabs for all email messages sent to the wiki's group mailing list, the group's calendar, and group blogs.
  • It included iCal Server for individual and group calendaring.

Obviously, Leopard Server has many additional features, but these three were what we needed to support our operations without having to install and manage an Exchange server.

While Leopard Server's mail and wiki servers performed exactly as expected (actually, the wiki exceeded our expectations), iCal Server quickly failed to meet our needs. Although we could set up and access the group calendars through the wiki's Web interface, there was no official way to access these directly from iCal on our computers (I've since found an unofficial method over at Mac OS X Hints). In other words, although the group calendars were configured and managed from iCal Server like user calendars, access was available only through the wiki Web interface.

Also, I hoped the Web-based group calendar in the wiki would allow us to view each others' appointments via the Web interface, but it supported only the single, Web-only group calendar. Additionally, at that time the iPhone didn't support Apple's own CalDAV calendars (CalDAV is the protocol iCal Server uses), something that's absolutely essential to me due to my heavy travel schedule. Starting with iPhone OS 2.0, the iPhone could completely support Exchange calendars, but not Apple's CalDAV calendars.

Detour to MobileMe -- Since I couldn't access CalDAV calendars from my iPhone, set up shared calendars, or offer iCal access for group calendars, I decided to stick with an alternate Apple service: MobileMe. With MobileMe, at least my calendars would synchronize with my iPhone wirelessly, although I still couldn't create the mythical shared calendar so that, for example, my wife and I could coordinate family events (never mind any shared/group calendars for work).

Going with MobileMe unfortunately restricted me from using one essential business calendaring feature: meeting invitations. For reasons only Steve Jobs can fathom, you cannot accept meeting invitations on an iPhone unless you are using a Microsoft Exchange account. When a meeting invitation arrives in an email message in the iPhone's Mail app, you see the standard iCal icon, but double tapping only makes it a little bigger or smaller, as if you're trying to zoom the icon. It's almost as if Apple is trying to taunt you.

I could, of course, have switched to an Exchange server, but I assumed these were minor glitches Apple would work out quickly, or at least by the time Snow Leopard was released. Microsoft's Small Business Server would meet all our needs completely, but Mac OS X Server is more lightweight, and more closely matched our goals.

Light at the End of the Tunnel? With the release of iPhone OS 3.0 in June 2009 (see "Apple Previews iPhone 3.0 Software," 17 March 2009, and "iPhone OS 3.0 Ships 17-Jun-09," 8 June 2009), Apple slowly narrowed the feature gap. iPhone OS 3.0 finally supported calendar subscriptions, including connections to iCal Server's CalDAV calendars, but I decided to hold off on changing anything until the release of Snow Leopard because we'd already adapted our workflow for our current infrastructure. The public information on Snow Leopard hinted at greater iPhone support, better calendar sharing, and even free/busy information to help coordinate meetings among a group of individuals. Exactly what we were looking for.

Or not. Three weeks ago I made the transition to Mac OS X Server 10.6 Snow Leopard, only to experience new levels of frustration. Overall, Snow Leopard Server is an excellent upgrade. It removes some of the management inconsistencies of Leopard Server, while adding valuable new features. With improved iPhone access, push notifications, a better mail system, centralized address books, an enhanced wiki, and even the long-awaited iCal Server 2, it's nearly everything I hoped for.

Except for the blasted iCal/calendar support.

The first thing I noticed was that the Web-based wiki calendar integration no longer worked. I mean, I think it's supposed to work, and even though we weren't using it, the feature worked before our upgrade, but now all we get are errors when we turn it on. I've walked through every option in Server Admin (Apple's tool for managing Mac OS X Server), and still can't get the Web calendars to display, only a permissions error.

Okay, we can live without that, but what about iPhone support?

Connecting to the CalDAV calendars published by iCal Server 2 was straightforward, and the calendars display just like any other calendar on the iPhone. Technically, push notifications could keep the iPhone up to date just like MobileMe, although we aren't using those for security reasons (this is more due to the security we have in front of our server than any problems with push notifications).

But how about those meeting invitations? Nope; despite running all Apple software, there's still no way to accept standard meeting invitations (from iCal, Exchange, or any other source) on an iPhone unless you're running an Exchange server.

Okay, we can also live without that, but what about iCal client support?

As with Leopard Server, connecting iCal to Snow Leopard Server's iCal Server 2 is fairly straightforward. I even found the secret path to connect to group calendars, not that we can set them up properly due to the broken wiki functionality.

But a CalDAV calendar in iCal is pretty much worthless. For whatever reason, if you use both local and CalDAV calendars, you cannot accept meeting invitations onto your server calendars! When a meeting invitation arrives in Apple Mail, it's sent over to iCal as expected, but you can accept the invitation only on a local calendar.

This made no sense, and I assumed I was doing something wrong, but a little searching on the Web validated that some bug (or feature) in iCal won't let you accept meeting invitations and assign them to your server-based calendar. Your only option is to duplicate the entry, which makes you the meeting organizer, and assign that duplicate to the server calendar. You can create your own entries on the server calendars, you just can't accept meeting invitations... even from other users on the same server. If you Command-click an event made locally, you can assign it to any calendar in iCal, whether it's local or on a server. Command-click a meeting invitation, and only local calendars show as options.

It's just broken, unless, that is, you switch to a Microsoft Exchange server. Snow Leopard and iCal 4.0 include excellent support for Exchange servers, just like the iPhone.

I'm really starting to wonder if my ongoing dedication to iCal Server is indicative of a serious mental disorder. Despite running an all-Apple infrastructure with the Xserve, the Mac, and the iPhone, I'm unable to carry out the most basic of business calendaring tasks. I can't accept meeting invitations with iCal or my iPhone and assign them to my business calendar, nor use the built-in Web calendar that used to work before our upgrade. All of these features are fully supported if I switch to a Microsoft Exchange server, but after two major version releases of Mac OS X, Mac OS X Server, and the iPhone OS, Apple still can't produce a functional calendaring system.

And as I travel down path after frustrating path, a shadowy voice keeps whispering in my ear. "Microsoft Exchange", it says. "Exchange..."


READERS LIKE YOU! Support TidBITS by becoming a member today!
Check out the perks at <>
Special thanks to Barry Bedrick, John C Ohlsen, JSK, and John Cooper
for their generous support!

Comments about Banging My Head Against iCal Server's Limitations
(Comments are closed.)

Brian Korek  2009-12-07 17:13
Thank you Rich. I appreciate you expressing the very same frustrations I've had with Apple's Xserve and calendaring. At least now I know it's not just me. My years of experience with Exchange were awful, and I've heard nothing but praise for Kerio. So my solution will either be Kerio or Google Apps.
Rob Russell  2009-12-07 17:59
Yep. When BusyCal 1 shipped, we solved all of our problems. I don't know how it would fit in your scenario, but it has been very worth the [not much] money in our situation here.
SumWare Consulting
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:45
BusyCal is great, but it's even more limited than iCal when it comes to CalDAV calendars. It can only read them, not write.
Scott Rose  2009-12-07 18:51
Would BusyCal or BusySync solve your problems? We have found both of those products to be OUTSTANDING and SUPERIOR in every way possible, compared to Apple's calendar offerings.
Glenn Fleishman  2009-12-07 19:10
It's tricky. BusyCal and BusySync, which I love, are not server products. Nonetheless, they do precisely what everyone wants for small groups. And the developers are insanely responsive. (I've known one of them for going on 20 years, so I may be biased.)
Nick Collingridge  2009-12-21 15:35
I have been running BusySync on a server for over a year now. The way to use it is to set up the calendars using iCal on the server and then sync to them from the workstations - it's been fine. I had been planning to swap over to iCal server with SL, but based on this article it seems to be as broken as AddressBook Server.

Talking of the last (ABS), the article refers to shared address books using it. I can't for the life of me see how this is possible - does anyone have a recipe? It sure as anything isn't addressed in the manual.
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:46
No- for two reasons (and yes, they are great products and we hoped they would work). BusCal can't write to CalDAV calendars. And while it does wonderful things with Google calendars, we can't use those for security reasons.
Try Zimbra. Server software installs on OS X. Handles email and calendar. Is free and supports CALDAV for the iPhone.
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:46
Thanks Sean,

I've looked at that and Kerio but we really want the wiki integration due to the nature of our work (research). Zimbra doesn't have that.
It's immensely frustrating. I can only presume that Apple do not use iCal Server themselves at Apple HQ or they would have realised iCal's short comings long ago.

Here's looking forward to BusyCal Server edition.
I've recently successfully deployed Snow Leopard iCal Server for my department.

As for your broken calendars, you should check that the extended attributes of the files are not corrupted. They're required by iCal server.

Also, if you're not subscribed to Apple's iCal Server mailing list, I highly recommend doing so. Between the Apple documentation and the list I've been able to get all my answers.
Joseph  2009-12-08 08:52
You got all your questions answered? But did you ask, "Can I do basic things like group calendaring and invitation acceptance with iCal and iCal server?"

You might get an answer, but that answer is going to be "No. Basically iCal Server doesn't work for groups or companies."

So here's to getting answers, and them being *good* answers.
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:47
Jose- can you post the link? (I will, of course, also go Google it).
OrchardBoy  2009-12-08 09:21
Would Kerio be able to do this for you?
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:47
The calendaring, but not the wiki integration we would like.
Will ONeal  2009-12-08 14:19
To add events to your ical, try this. Disable the "Automatically retrieve invitations from Mail" option in iCal. Then when you get an event, you'll see it in your Mail inbox, and you can drag it to the right calendar.
Tim Pinker  2009-12-09 00:52
Are you sure you are configured correctly, we use invitations all the time, and it all works as advertised, as well as wiki calendaring, I suspect you have an ssl or path error with your web wiki as well. For us iCal works well and we have big calendars. Don't give up.
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:49
Tim, do you use both local and CalDAV calendars? From my research, that seems to be what breaks the meeting invitations. I looked around in the forums and such and this seems to be a common issue.
Tim Pinker  2010-01-06 12:39
My apologies for not replying earlier, yes we use both, and of course the invitations only work with the caldav accounts, what exactly breaks? Our setup uses 5 main caldav calendars, with 3 delegates who do most of the booking of appointments. One of the main caldav accounts gets 99% of its appointments as an invitee of the other 4, the appointments made almost universally by the 3 delegates. And it all hums along happily, last time I looked we had accumulated about 17,000 appointments over 2 years. Problems I have seen discussed elsewhere usually associated with incorrectly configured permissions, ssl, datastore paths and authentication, and ours works because I have been fastidious about those things.

Eric Morrison  2009-12-09 05:51
I feel EXACTLY the same way. We installed iCal Server in February 2008 after finally giving up on Now Up-to-Date. We've dealt with these same frustrating limitations (along with a pile of very, very critical bugs), hoping that each new version of OS X Server would fix our problem. The news that Snow Leopard (I have it but haven't upgraded to it yet) STILL does not fix these problems is incredibly discouraging. Our local FileMaker rep told me four months ago that Apple switched to iCal internally so I was hoping they would fix these issues.

I am beside myself. We're a 99% Mac organization and we need to run Exchange to get a real calendaring solution! This is the absolute worst of what Apple has to offer. Heads should hang in the calendar group for this mess.

Steve... get your act together and put someone in charge of the server group who actually is competent.
Bhavesh  2009-12-09 06:06
I have to say it was pretty hard to set up iCal server on Snow Leopard....I finally got it working, but I'm still not sure exactly why it's working (e.g. it's working for users, but the not the primary administrator).

In addition, with a relatively modest feature set compared to Exchange or even BusyCal, it's hard to make the case for using it, except Push notifications and the sheer fact that you feel like you are using all Apple, and therefore hope for better reliability and consitency.
Rich Mogull  An apple icon for a TidBITS Staffer 2009-12-09 08:50
Bhavesh, I think the administrator problem is a known issue. Check in the Apple support forums and there may be a workaround.
Kirk Godtfredsen  2009-12-09 10:56
Rich - I think its only fair that what you are really frustrated with is the lack of a really robust caldav client on both the Mac, iPhone and maybe even a PC. You can for sure argue that maybe the Apple server guys should have junked CalDav for something based on ActiveSync becuase their cohorts on the client side seem to be more interested in it. I look at the SL ICal Server feature set and all the features you want are there, just not exposed or exposed rather weakly by the different clients. Maybe your article should have been entitled "Banging my Head Against iCal, iPhone and Apple's lame support of their own iCal server..."
Joshua Yeidel  2009-12-14 16:48
Please always say "Exchange 2007" when discussing Snow Leopard integration with Exchange. No Mac product integrates very well with the previous version, Exchange 2003, and SL improves that integration not at all. This is relevant because many organizations (like mine) have put off upgrading to the 2007 version for various reasons. Ordinary users may not know what version of Exchange the enterprise is running, and have their SL hopes dashed when they find out their Exchange is the 2003 version.
Marco Musso  2009-12-17 07:25
It seems that Exchange 2007 integration with SL uses the all-new web services and no other Exchange 2003 methods.
I use CommuniGate pro which uses ActiveSync to sync to the iphone quite good. Also Zimbra Enterprise will do the trick by implementing ActiveSync. I'll check invitation on my iCal remote calendar (CalDAV on CommuniGate)
Nick Lashly  2010-01-04 01:21

Something is going on with your setup for Snow Leopard-iCal Server - this is a full blown shared calendar - invite - check to see if everyone is available, etc.
Speaker to Wolves  2010-01-04 10:37
Hi Rich,
I'm not sure but I think part of your frustration with 10.6 iCal server, in particular with the Wiki, may be due to the upgrade method you used. While upgrade in place is much improved in 10.6, I think Apple still recommends the migration approach in some cases (particularly with customized configs, etc.) I seem to recall ICal server was one of the apps that benefits from this approach, but can't find my notes at the moment.

Yeah, I know, not much help to just post "Ur doing it wrong" and run but aside from the local calendar/server calendar integration issue you are experiencing, I think your experience should be the exception to the rule not the norm.
RasKal  2010-01-05 12:53
Hi list,
Just a (stupid) question (I'm a real newbie with MAC, and just installed a mini SL server): do you all set your SL server with Open Directory? Mine was but I revert to Default/Local because I need to allow an individual login access to the server console (with OD, I couldn't login, with both a OD user or a "Local" user. The screen was shaking shortly and returning to the login invite). Without OD, login on the console is ok with non admin users and they can map drive, access wiki, mail etc... except the iCal Web part).
Tim Pinker  2010-01-06 18:10
You should run OD, if you could not login with both the OD user and local it may be because you are using the same username and password for both. The logs may show something about a resource already being in use, but the take home message is the local and OD users (especially if admins) must have different names and passes, other things may cause it as well such as not selecting the ssl certificate in serverprefs/info/ssl,

RasKal  2010-01-07 01:15
Many thanks for your message Tim!

I think it would be wise to explain what I'd achieve: providing shared services (folders sharing, Wiki, Address book, Calendars) to a couple of MBP SL clients and a WinXP laptop.

I just reinstalled and I am now in "Standard" mode (no Workgroup or OD). I created an Administrator user during installation, + 3 "standard" users; all can login on the console (and ok, they have their $HOME created). The user accounts are exactly the same as the one on the clients (as per some doco I found).
I didn't run Workgroup Manager and Server Admin so far, only working with the "local" Preferences.
The SL server pops up in the other MAC's Finders (via Bonjour I guess) and from WindowsXP and MAC SL clients DNS works fine as I can resolve the server A and PTR records (for the server's FQDN I opted for non existent TLD like server.good.stuff).
Next steps are to map/access the $HOME from the clients + start configuring services.
I will post progress, if any :-)
RasKal  2010-01-11 02:45
Ok Tim, I got now the meaning of your remark about Local vs. OD Users... because the shortname of both the local user account and the network user account are the same. The search policy for Directory Services on the client will always look to the local machine for authentication first.
( Source: )
I will re-re-install and do an advanced installation with OD Master :-)