<firstimage=”//static.makeuseof.com/wp-content/uploads/2010/10/icalserver.jpg”>Last month, we wrote about how you can use Google Calendar to keep multiple instances of iCal and even your Android calendar synchronized. This applies to people who want to keep their own calendar up to date on multiple machines.
Publishing and subscribing to iCal feeds allows you to watch other people’s calendars relative to your schedule. You can use it to coordinate between co-workers, friends and family, or to keep on top of tour dates and important happenings in your area.
Sadly, iCal requires one of two things to publish one of your own calendars; a premium MobileMe subscription or a server with rather specific Mac OS X CalDAV software. Today we’re going to look at two workarounds to publish a calendar using a free online service, or even your own regular server space.
1. Publish iCal Calendars Using Box.net
Box.net is a free personal storage service, much like the acclaimed Dropbox. You can sign up for the free, ‘Lite’ account, which will give you 1GB of storage and a 25MB file size limit; more than enough for a calendar or two. As you probably guessed, Box.net has CalDAV support and will carry our publications without much ado.
You can choose to publish a single calendar, or a whole calendar group, in which case the individual components will be merged. Right-click a calendar or group, and select Publish. Select ‘A private server‘ from the drop-down list and enter
as the base URL, with your credentials below. Check the first box to automatically publish any changes made to the calendar and create an active feed. The other checkboxes are optional depending on your personal preferences.
To subscribe, go to Calendar -> Subscribe… in iCal, and enter
as the URL. Remember what you called the calendar in the publish dialog? That’s our filename (Home.ics in our example above). That’s it!
2. Using Regular Server Space
If you want to keep complete control over your calendar files, or don’t feel like signing up for yet another account, you can use regular server space as well; the same you would use for, say, a WordPress installment. Since these servers generally don’t have calDAV, it’s a little more complicated though. This tutorial requires a Google Calendar account.
First, right-click a single calendar or calendar group and select Publish. Publishing a group will not preserve the individual calendars, but instead merge its components into one single calendar.
Give your calendar a recognizable name and select ‘A private server’ from the drop-down menu. You want to use your server’s FTP address as the base URL, suffixed with www/ to put the calendar in the website root directory. For the sake of keeping organized, you might want to put your calendar in another folder (e.g. ical) instead of the root. This optional folder needs to exist before we can publish our calendar, so you’ll have to create it using your web server’s file manager. Your FTP credentials will need to be entered below.
Check the first box to automatically publish any changes made to the calendar and create an active feed. The other checkboxes are optional depending on your personal preferences.
Sign in to Google Calendar. If you don’t have a Google account yet, sign up for one now. At the bottom of the left sidebar, under Other calendars, select Add -> Add by URL.
This is where you enter the URL to your iCal publication; Google Calendars doesn’t really care if the server supports CalDAV and will pull in the calendar anyway. Note that – compared to your base publication URL – the actual URL is prefixed with http instead of ftp, and misses the www/ insertion. Remember how we called our calendar? That’s our filename.ics .
The calendar will now exist in Google Calendar. From here on, it’s as easy as synchronizing your Google Calendar account with iCal. Go to iCal -> Preferences -> Accounts -> “+” and enter your Google credentials. If you’ve got multiple calendars in Google Calendar, you’ll have to enable them under the Delegation tab.
What do you use your calendar subscriptions for? Tell us in the comments below!