Hack 30 Publishing and Subscribing to iCal Calendars


Publish your own iCal calendars on .Mac or any WebDAV-enabled web server for subscription.

iCal, Apple's calendaring application for Mac OS X, is already being used by hundreds of people who are publishing their own calendars for subscription. Apple's site has a bunch of calendars for obvious things like sporting events, television season premieres, and state and religious holidays. iCalShare (http://www.icalshare.com) has even more.

30.1 Publishing

Publishing a calendar to a WebDAV server [Hack #95] is just about as simple as publishing to .Mac, since the latter, in fact, uses WebDAV. Choose the calendar you wish to publish in the top-left iCal pane and select Calendar Publish . . . In the Publish Calendar dialog box (shown in Figure 3-52), select "Publish on a web server" rather than "Publish on .Mac"; the box will expand to accomodate three new fields: URL, Login, and Password. You'll need to fill in the appropriate location and authentication information specific to your WebDAV [Hack #95] setup. In the URL box, be sure to put only the path where the calendar should be kept on the WebDAV server; iCal will fill in a filename for you (e.g., Home.ics for a calendar called Home). If you'd like to have your published calendar updated live each time you make an alteration to the local copy, be sure to check the "Publish changes automatically" box. When you're ready, click the Publish button and away your calendar goes.

Figure 3-52. Publishing a calendar to WebDAV

The path on your WebDAV-enabled web server will differ. I've used a path and account created in [Hack #95].

If you decide not to enable autoupdating, you can always manually push the latest using Calendar Update. And if you decide to take the calendar down after an event has passed or the local theater season is over, simply select Calendar Unpublish.

30.2 Subscribing

You subscribe in the same way to a published calendar, whether it was published to .Mac, pushed to a WebDAV server, or exported to an .ics file made available on a web server.

Select Calendar Subscribe . . . to bring up the Subscribe to Calendar dialog box. Type or paste the published calendar's URL, including the filename (ending in .ics). If you believe the calendar will be updated regularly, check Refresh and select an appropriate frequency at which iCal should revisit the calendar and grab the latest. It's up to you whether or not you want to remove alarms and to-do items from the published calendar; simply click the associated checkbox to check or uncheck it.

If the calendar has restricted access, click the disclosure triangle next to "Advanced options", check the "Needs authentication" checkbox, and fill in an authorized login and password. The screenshot in Figure 3-53 shows authenticated access to a password-protected calendar in action.

Figure 3-53. Subscribing to a calendar

Click the Subscribe button and you should see the calendar slot itself nicely into your own iCal view of the world.

You can make subscription easier on your audience by providing a link directly to the .ics file, available via email or on your web site, allowing them to simply click on a link to launch iCal and subscribe.

?Erik T. Ray