Ditching Oracle Calendar Sync

Since I need to interoperate with Oracle Calendar, and I want to sync with my Mac, and Oracle’s Mac Calendar sync client will not work with my E2, it follows that I need to come up with a way to get the Oracle Calendar data onto the Palm without using the sync client.

The Oracle Calendar client includes an “Export” feature which will export data into a vCal file. I can export data for any specified date range, then import this data into any app that supports vCal. Palm Desktop supports this, as does Apple’s iCal app that comes bundled with MacOS X. So, a simple solution would be to just export the Oracle Calendar data regularly, import it into one of those apps, and then sync the data with the Palm.

The obvious drawback to this is that it’s a one-way operation; this will pull data out of Oracle Calendar, but it will not take new entries created on the Palm and back-populate them into Oracle Calendar. If I specifically need something (a meeting for work, etc.) to show up in Oracle Calendar, I’ll need to use the Oracle Calendar client to create it. I can live with this, but it will mean changing my calendar habits, using Oracle Calendar only for work stuff like meetings etc. and using Palm Desktop or iCal as my “main” calendar. I won’t be able to use the Palm to schedule group meetings at work, but I never used it for that anyhow, because the sync client doesn’t support the concept of multiple attendees. So, no great loss there.

Another issue is the export/import process itself. It’s cumbersome and time consuming, but certainly doable in the immediate term. Oracle does provide an API which I could potentially use to automate things on the export side. I’ve managed to track this API down. It’s part of the Supplemental package supplied with the Oracle Collaboration Suite product. Oracle offers a free download. They provide a C++ interface and a Java/Web Services interface. However it appears they are phasing out the C++ interface. The current stuff from Oracle only has C++ libraries for the Mac (happily, that’s what I’d be using). It’s also unclear if either of these interfaces will work with UMBC’s slightly-out-of-date version of the calendar server.

I may give this a shot at some point, but it will take some time (I will also need to get up to speed with developing stuff on the Mac). In the meantime, I can do it manually.

Here is a link to some sample code that uses the C++ API to export Oracle Calendar data.

There’s also a package out there called OraCal2iCal which purports to automatically download Oracle Calendar data into Apple’s iCal app. From reading about it, it sounds like it works by actually driving the GUIs for the Oracle Calendar client and iCal to do the work for you. A cute idea, but a bit hackish for my tastes. Still, it might be worth a look at some point, particularly if I’m not able to work out a solution that uses Oracle’s API.

5 Easy Steps to Calendaring Nirvana

Let’s make a laundry list of stuff I want to be able to do with my calendar.

  1. View and update calendar from my Palm, my laptop, and all my desktop machines, be they Linux, XP or OSX based.
  2. View and update calendar from the web.
  3. Interoperate somehow with Oracle Calendar, because that’s where all my work stuff lives.
  4. Work with the Palm’s PIM apps without crippling features like “To Do” list categories, etc.
  5. Avoid snafus inherent to calendar synchronization, i.e. duplication of events
  6. Work with a minimum of hassle
  7. Allows me to sync the Palm on my Mac.

That’s a tall order, and I don’t think I’ll be able to find a solution that does all of this perfectly. The challenge, then, is to find the best compromise of functionality, reliability and convenience.

No Sync for You

So, Oracle Calendar sync worked more-or-less OK for me under Windows with my old Palm. So let’s try it out on the Mac, with the E2. Should work fine, right? Wrong. Everything installed correctly. Configured stuff, without a hitch. Attempted to hotsync. Barfage. Some sort of “database full” error or somesuch. Google. Turns out the MacOS Oracle Calendar sync stuff won’t work with the E2’s flash memory. Oracle promises an update “real soon now”. ETA on the update is second quarter 2005. It’s now November 2005. Guess I shouldn’t hold my breath, huh?

I subsequently spent a couple hours in broken-conduit-reinstall-palm-desktop hell trying to eradicate the non-functional Oracle Calendar conduits from the Mac. For future reference: After clean install of Palm Desktop, go to /Library/Application Support/Palm HotSync/Conduits. Back up all conduits. Restore them by copying the backups back into this directory. If HotSync complains about “duplicate conduits”, follow the prompts and HotSync again, repeat as necessary until the problem goes away. Once I figured that out, I could restore my conduits whenever I wanted to without having to reinstall Palm Desktop.

So it looks like I’m going to have to actually switch on the brain here and figure out a new calendaring solution. Or, I could wait for Oracle to release a Mac Sync client that works with the E2. In the meantime I could use my Windows box to sync. But, I don’t want to sync with my Windows box, I want to use my laptop. And truth be told, if I can find an acceptable solution that doesn’t rely on the Oracle calendar sync client, I’d be more than happy. Seems like I need to step back, decide just what it is I want to accomplish, and then figure out the best way to do it.

The Calendar Saga

OK, so I’ve got this shiny new Palm and shiny new Powerbook. Right now my entire life schedule lives on UMBC’s Oracle Calendar server (barf). In a perfect world, I would like to be able to view and interact with the same calendar on my Palm, my Mac, my Linux desktop at work, my wife’s doze box at home, etc. etc. So, how do I do it?

Oracle Calendar, obfuscated beast that it is, actually handles this task pretty well for everything except the Palm, as long as I’m connected to the internet. That’s because everything in Oracle Calendar lives on a central server at UMBC, and I can pull the info up with an Oracle Calendar client, and there are clients available for every desktop OS I use (XP, OSX and Linux). There’s even a web interface for places where I don’t have access to the calendar client. All in all, it works pretty well despite being a big, archaic, bloated, closed-source monster. And I’m stuck with using it in some capacity anyhow, as long as it’s UMBC’s enterprise calendar of choice, which figures to be the case for the next couple years at least.

Enter…… the Palm. This is my first Palm in a year or so (when I punted my old hand-me-down M105). I used to synchronize the old M105 with Oracle Calendar using Oracle’s suppled Palm-sync client on a Windows box at work. That worked pretty well, with one major annoyance: It screwed up my “To Do” list categories on a regular basis. But, it provided me with a synchronized, up-to-date calendar on my Palm, so I put up with it.

I hated the M105, though, because the battery gauge was inaccurate and I was constantly losing data when the batteries ran down unexpectedly. I think it had a bad capacitor too. When I pulled the batteries out, it instantly erased all my data. All in all, it was a bloody pain.

The new Palm is a Tungsten E2. It has flash memory. It supposedly won’t lose its mind if the battery runs down. Which is going to take me awhile to test, because the battery seems to last forever. But anyhow, it seems pretty cool so far. Honestly I wouldn’t have bought another Palm if they hadn’t done something about the memory-loss issue. Of course, as I soon learned, nothing is perfect……..