« Calendar Upgrade | Main | Wildfire and Spark IM »

August 22, 2006

Partial 2-way iCal Synchronization

While fighting with some of the post-installation issues we've experienced after the calendar upgrade, I thought of a way which would allow people to at least create events and invite other users to those events in the calendar using a non-Oracle client.

The "secret iCal URL" service we offer takes advantage of a calendar utility called uniical (most Oracle Calendar utilities start with "uni-" for historical reasons that are somewhat lost in the mists of time). uniical not only can export .ics out of the calendar, but it can import it back in too. See where this is going?

I'm thinking we'd set up a service that allows users to self-register a URL where their .ics is published - this would probably work best for those using Google Calendar, and would be just as good for those publishing via WebDAV here or elsewhere. We would then set up an hourly(?) process that wgets the registry of URLs, and uniical -import's them into the calendar. With the right invocation of uniical, it should also check attendee's e-mail addresses and if they match the e-mail addresses of users in the calendar server, sets them as invitees.

I've tested the basic principles - I've published an .ics file, and then imported it using uniical. It's not real 2-way synchronization - there's no way to mark you will attend something someone else set up - this would just allow you to create events using iCal or Sunbird or Google Calendar, and invite other users to your events.

I'm just proposing this as a potential idea for the future, and implementation would depend on interest and time being available to do it.

Posted by sdh7 at August 22, 2006 10:40 PM

Trackback Pings

TrackBack URL for this entry:
http://blog.case.edu/sdh7/mt-tb.cgi/9363

Comments

That's an interesting idea. What happens in the use-case where someone is using Google Calendar (GCal) and has their GCal .ics file imported into Oracle calendar, then someone adds a meeting to the person's Oracle calendar? Would the uniical import overwrite the meeting? Basically, does a uniical import command do an append or an overwrite?

Posted by: Jeremy Smith at August 23, 2006 02:37 AM

With the GCal API + uniical, one could come very close to implementing synchronization. (It would get hairy.)

But that solution would *only* work with GCal. To get the best interoperability, you would need another layer in there to emulate WebDAV. (And possible another to do CalDAV... I've never really been sure of the differences between WebDAV and CalDAV.)

Posted by: Jeremy Smith at August 23, 2006 02:40 AM

As far as I can tell, uniical -import (or -process, to be more specific), should append the events, since they would have different event IDs. I'll have to try it out just to make sure.

I actually spent a little time trying to figure out how to put a CalDAV frontend onto Oracle Calendar, but it started to give me a headache. Supposedly Oracle's done a proof-of-concept of such a thing, but it's not available for public consumption.

Posted by: sdh7 at August 23, 2006 11:16 AM

What's the state of me getting this working for the Oracle Calendar at K-State to my Google Calendar?

Now I'm only asking for myself, but I suppose as the SA by default for the Oracle Calendar server...I might get asked to extend the functionality to the rest of the campus community.

I'm mainly looking for a better (automated/free) way to get my Oracle Calendar to my blackberry....

Posted by: lkchen at December 30, 2007 10:58 AM

Post a comment

¡Comment registration is required but no TypeKey token has been given in weblog configuration!