Outlook, Google, Evolution and One Old Palm

So here’s the deal. At work we run MS Exchange with Outlook on the desktop. Of course my personal e-mail is mostly on gmail, with some forwarders out to various owned domains (like lembobrothers.com). At both work and home I’ve also got CentOS Linux. Some time ago I set up my own personal Google Calendar and installed the Windows sync tool to upload my work schedule so that the family can keep track of me (by logging into my Gmail account).

I’ve also got an old Palm Zire 31 that up until recently I was able to sync with an Outlook client that lived inside a Windows VM on my Linux laptop (making the USB connection from the host machine into the Windows guest where I had Palm’s sync software running).

But when I upgraded to VMware 2.0 Server the Windows guest couldn’t make the USB connection anymore, preventing me from synching with Outlook. I next tried synching with Evolution on my Linux desktop, with the aim of then connecting through to Exchange using Evolution and completing the circle. Problem is the version of Evolution I have, 2.12, no longer connects with the latest version of Exchange. I could, however, still sync between Outlook in that VM and Google Calendar on the Internet.

After looking into a bunch of different options for synching Google Calendar to Evolution on Linux (the latter could still talk to the Palm using its gpilot plugin), I finally settled on the following:

1. Set up a read-only WebCal connection in Evolution to my Google Calendar (see this earlier post).

2. Configure the ECalendar conduit in Evolution so that it reads from that Google Calendar webcal rather than the default Personal Calendar. Then set the sync options to “Copy to Pilot”, with the same as the initial “One Time Action”.

3. Set all other conduits so they sync with the Palm, with the initial “One Time Action” being to “Copy from Pilot” (this will populate the Personal contacts, tasks and memo lists from what is on the Palm).

4. From that point forward make all schedule changes in either Google Calendar or Outlook, being careful to sync the two after doing so. Currently I have the sync doing updates once an hour when the Windows machine is up and connected to the network.

Another solution I looked into that didn’t pan out was the open source Java server called GCALDaemon that is supposed to sync calendars by monitoring changes in .ics files up on Google and in Evolution’s local cache. Like a lot of Java stuff I’ve seen over the years, it didn’t work for me. Of course the “message logs” didn’t provide any clue as to what was wrong. All I got out of it after several hours invested was a completely scrubbed Google Calendar (which I restored by re-synching with Outlook).

Evolution with Google Calendar

Postscript: A very useful command to know when working with evolution is

evolution --force-shutdown

which gracefully kills off all evolution processes without making you log out of your session. It’s always a good idea to use it after making configuration changes.