Jan
2012
The Morning After – Calendar Transition
It was a fabulous weekend of football and I was glad to see the Patriots crush the Broncos. The other games were also good, especially the upset by the Giants. My wife reminded me of past life as an ardent Giants fan – a leftover from when I was a grad student going through years of agony of supporting a substandard team until Bill Parcells and Phil Simms turned things around. Somewhere along the line I switched my allegiance, primarily because of children. Anyways, this Sunday will be another terrific day and though I hope that the Pats go all the way and win it all, it is one game at a time at this point!
We also had an adventurous and long night last night, trying to get my Prius up the hill in snow onto Weston Terrace. Somehow survived all of that. It is not the morning after that adventure that I wanted to write about, rather one of our other major transition – Project Goodbye MM!.
The College has been a Meeting Maker user for a long time. When I was at Wesleyan University, I remember the search for a calendar program and choosing Meeting Maker. For its time, it was great. It worked on both Windows and Macs, one of the reasons why everyone went for it. It did the job really well. I remember how carefully accounts were rolled out because every one cost a license fee annually. I was one of the privileged one to get, but did not use it a lot until I became a manager. As someone who moved to Microsoft Outlook very early, it was frustrating that there was no easy way to connect MM to it – you had to export and import events, not a good choice. When we moved the faculty and the staff to Microsoft Outlook/Exchange at Wesleyan, we hired a small company called Sumatra to do the conversion, which went remarkably well.
When we began the plans for transition at Wellesley, we contacted Sumatra again, but they were not doing MM to Google. So we found another vendor and negotiated pricing etc, except to find out that after one migration at NYU, they stopped doing it anymore. The pain was too hard to bear! So, we went back to Sumatra who told us that we are a beta site and they are willing to try. The relationship, trials and retrials and the email exchanges are worthy of a whole length movie, but I will spare you the details. Suffice it to say that by mid-December they admitted defeat. They blamed the unreliable calendar APIs from Google.
What to do? We scrambled and came up with a solution that was refined many times over as and when we found issues. One simple thing we could have done is to ask every individual user to export their MM events and import them into their calendars. Wouldn’t work. Why? Whereas the events got imported fine, attendees were not transferred. As long as you have meetings that involved just you, huh?, then this would have been a perfect solution.
We developed using the Google Calendar API and an authentication scheme called OAuth a three step method that worked. And I would say it worked beautifully. When you exported Meeting Maker events, unfortunately it exported ALL events in your calendar, regardless of whether you created the event or not. So, if there are 5 attendees to a meeting, every one of the five had a repeat instance. In the first step, we took the MM export file and scrubbed it so that only the events you initiated are retained. This is then imported into a user’s calendar by our staff. Each of these events had a unique identifier that MM created and Google retained. This is cool because, even if accidentally you upload them a second time, Google won’t duplicate them, but only update them because of the unique ID. Great.
Now, all events a user initiated are in each of their calendars. But no attendees. So, we take the import file and run a program that parses it and sets the attendees by matching on the unique identifier. This was the last step. There were a few hiccups, like a user’s username in Meeting Maker and Google are different that needed to be adjusted etc. etc.
But, thanks to a lot of LTS volunteers, on Friday last week, we began the transfer process at 9 AM and finished approximately at 3 PM. We decided to do this for our users rather than making the application and steps available to the users. Over the weekend we were notified that any event on which a user has not taken an action (with a response status of needs-action) was not appearing in the calendar of the the person who has not taken action. We quickly modified the code to change the needs-action to tentative and that took care of that problem.
So, the morning after, we were waiting for the Google Support line to be ringing off the hook. Thankfully, we had a few (<5) inquiries, each of which has been taken care of and we are on to the beginning of semester activities. Thank you LTS team who supported this project!