August 1, 2005

Share calendars over the Internet with iCal

Author: George Cudd

How would you like to add your favorite team's schedule to your personal calendar in Evolution or Microsoft Outlook, or download a calender that contains information about your country's secular or religious holidays, or other events? An Internet specification called iCalendar or iCal (RFC 2445) lets you import calendars published on the Internet and add them to your personal calendar. Even better, it lets you export your personal calendar so you can share it with others.

The iCal specification standardizes the exchange of calendar information for meetings and appointments. It works with Microsoft Outlook and Outlook Express, KOrganizer, Evolution, Mozilla Calendar and Sunbird, and many other programs. Many of these programs have an export feature that lets the owner of a calender download it to a file he can send in a email as an attachment, in a manner similar to downloading a virtual business card or vCard.

You can also post or publish a calendar to the Web so others can share it. For example, a college student can share his calendar with his parents and all family members to help coordinate schedules.

Unfortunately, I could find no way to publish a calendar to the Internet using Evolution, my preferred email client. Mozilla Calendar and Sunbird do allow you to publish to the Web, and I downloaded the Firefox Calendar extension and got it working within Firefox.

You can publish your calendar to the Web at iCal Exchange, they will host your public iCal calendar for free. All you have to do is register and publish your iCal calendar from within the Firefox Calendar extension. iCal Exchange also offers an optional private calendar URL for a small fee. After you've published your calendar at iCal Exchange, you can list it at a calendar directory on the Web. One such site, iCalShare, provides a long list of shared calendars that you can synch up with. iCalShare will list your calendar for free. Using a directory is a convenient place to find calendars.

After you register at iCal Exchange you need to configure Firefox to publish to that site. Start by opening Firefox, go to Tools, and select Calendar. Once Mozilla Calendar opens, go to File > New Calendar. Fill out the information in the dialog box that opens. Fill in the calendar name and select a color for your appointments. You can choose to save a copy of your Internet calendar to your hard drive. Then fill in the remote server URL by pasting the URL from iCalExchange (e.g. . Make sure you add the Calendar name with the .ics extension to the URL address. Click OK, and you're almost done. Just edit the preferences within Mozilla Calendar, select Publishing, and make sure the URL is pointing to the same remote server URL.

To test your configuration, add a few events to your calendar in Mozilla Calendar, then make sure that they are posted to your Internet calender file and not your local My Calendar file. You can log in to iCal Exchange and check your calendar by clicking on the link labeled HTML, or download your published calendar to your computer as a .ics file by clicking on the link labeled .ics.

Next, configure your email client to subscribe or read your published Internet calendar and sync up whenever you open your email, or use Mozilla Calendar as your primary calendar.

You can repeat the process for everyone in your family, or whatever group whose members you want to share calendars among. Both Mozilla Calendar and Evolution let you select which calendars you want to look at with a simple check box.

You can also host your iCal calendar file on your own Web site, but you'll need to learn more about the iCal standard and the WebDAV Distributed Authoring Protocol specification (RFC 2518). You have to install an Apache WebDAV mod, a content management system, and PHP iCalendar to your site.

Thanks to open Internet standards, you don't need expensive proprietary software such as Microsoft Exchange Server to take advantage of integrated groupware and personal information management.

Click Here!