One thing that's become really obvious to us is that while there's a good Internet specification for individual calendar events, which allows you to efficiently pass calendar information around the Internet. But this breaks down at the company level: there is really no good way of moving an entire server of scheduling information from one platform to another.
Surprisingly, there are just three solutions: syching each user's calendar with PDAs, massively emailing iCal events, and exporting and importing individual calendars. All of these have the same several drawbacks:
- You lose Guest Lists
- You lose recurrence patterns
- You lose Guest Responses
- This really does not sit well with end users who have to live through it, re-entering information they have previously entered
- It is fraught with difficulty, lack of management, and massive logistical drawbacks
- Usually conference rooms and resources are an afterthought, though any confusion in their allocation causes more pain quicker than any single user's calendar except the CEO's
Working on legacy Meeting Maker (http://www.meetingmaker.com) data as we've moved it into Microsoft Exchange (http://www.microsoft.com/exchange) and more recently IBM's Lotus Notes (http://www.lotus.com), Sumatra developed the notion of a Common Calendar Format (CCF) to facilitate movement of entire calendar servers between different groupware platforms.
The idea is simple and like iCal aims to abstract out on the information that is always needed, but from the standpoint of the entire collection of users rather than just the standalone user.
Let's define a few terms:
The source is the originating system, usually one past its freshness date, which the end user wishes to obsolete in favor of a newer system.
The target is the desired end point. Usually Microsoft Exchange or Lotus Notes / Domino.
Data is extracted from the source and inserted into the target.
Usually between the extraction and the insertion there is the need to map user ids between the source and target systems.
The mediator of all ofthis is a single relational database which contains the calendar data from the source system, as well as the user ID mapping between the source and target systems.
This approach has several advantages:
- It allows us to write one application per source system to do the extraction and one application per target system to do the insertion.
- It retains more of the information in the server than is otherwise possible
- It centralizes the entire process so it can be handled by the MIS team
- It compresses the necessary time-frame so that this data can be inserted (usually) over the course of a weekend
- An intermediate stage allows more fine control over management of data. The migration team can selectively archive past calendar data, or optimize for speed of insertion of current data.
As you have seen, we have source readers for Meeting Maker and (under development) GroupWise, and insertion code for Microsoft Exchange and Lotus Notes (via a development partner). Others are under development as we get demand from customers.