I’ve been experimenting with PHPiCalendar (the site’s currently down, which makes that a bit difficult) for a site I’m redesigning. When used with WebDAV, PHPiCalendar works pretty well with iCal, which is one of the reasons it’s so attractive. However, I’m passing off control of the web site in January and there’s no guarantee the next web master will have a Mac, so I’ve been looking for solutions that will work cross-platform.
Many folks have already been quite frustrated trying to use Outlook with the iCalendar standard. RemoteCalendars seems to have a decent reputation, except I can’t get it to install on my computer, so I’d have a difficult time recommending it to my replacement.
I’ve started looking at Google Calendar as a cross-platform option for managing the schedule. It can import files from iCal and it can export ics files. Combine that with the WebDAV support built-in to both OS X and Windows and it seems like this might be a winning solution.
Except it’s never that easy. When I tried adding a Google Calendar-created ics file to my PHPiCalendar installation, the events didn’t appear properly on my web site. The appropriate event title and starting time show up in the actual calendar view, but none of the details appeared in the popup window. Importing the ics file into iCal generates a valid calendar with complete information.
Sending a calendar from iCal to Google Calendar to PHPiCalendar works, but new events created in Google Calendar exhibit the same problems as those seen in the previous test.
I’m tempted to think that the disconnect lies in PHPiCalendar parsing code, since iCal is able to handle the Google-generated ics files. Since the PHPiCalendar site is down, though, I can’t check the forum to see if anybody else is seeing these issues.
Update: The PHPiCalendar site is back up and, apparently, I’m not the only person to have this problem. Furthermore, Ry4an Brase developed a patch to address this issue. Excellent. As somebody pointed out in the forum, the ability to natively parse Google Calendar feeds might be cooler (depends on your opinion of hosting the calendar on your server or on Google’s, I suppose), but this is definitely a good start.
Update 2: Two things:
1. It appears I jumped the gun in blaming PHPiCalendar’s parsing code. That’s certainly where the disconnect was occurring, but it appears the problem actually lies in Google’s calendar implementation. Even though I have my calendar set up as being shared with everybody and I have my events set up inheriting the calendar’s default setting, the events are marked as “PRIVATE” in the ical file. PHPiCalendar is just honoring the (seemingly incorrect) data it gets from Google’s file.
2. Ry4an’s fix apparently does allow you to use the ical files stored on the Google server, provided you sprinkle in a little Apache magic. As I’m perfectly happy editing my calendars in iCal, I think I’ll hold off on this step. It’s something to consider before handing control off to the next person, though.