Forum OpenACS Q&A: Response to Syncing OpenACS with the PalmPilot?

Collapse
Posted by Matthew Burke on
Before I got sacked at aD, Dominik K and I were working on syncing the Palm and ACS.  We'd finished a rough version of calendar and address book syncing.  I'm not sure what the current status of the work is and through a slip-up on my part, I didn't get a copy of the software before I lost access to the aD machines.

Here, in random order, are some issues:

1) you can write your conduits in Visual C or Java with the Java Conduit Development Kit being somewhat buggy.  Actually more recently then when I was working on this, Palm has released a new version of the Conduit Development Kit which allows you to write conduits in (any?) language that supports COM.  I have heard that the new CDK fixes a lot of the Java bugs.

2) If your users have the new Palm desktop, they'll have the appropriate dlls for Java and COM conduits.  If they have older versions, you'll need to distribute jsynch.dll and others.

3) the datamodel on the acs side will need modification.  In particular, records on the Palm have an ID that must be assigned by the Palm so you will need to add this record ID to the ACS data model.  There are a bunch of status flags as well that (I think) you'll want to add to the acs data model.

4) Perhaps the biggest question is do your users want to sync only to the acs site or do they want to sync to the web site and their desktop PIM application?  If they want both, then, to paraphrase Tom Leher, begins the fun.... you can only have one conduit registered for a particular creator ID (CID)*  So, for example, if you register your conduit on the CID date (the Palm datebook), they will no longer be able to sync their calendar to Outlook (or whatever it is they are currently using).  Here's how we (started) to work around this.  In retrospect I'm not sure if we wouldn't have run into a big dead end.  I wrote a small app for the Palm called aDsync.  The app allows you to specify a URL, a username and a password to be used for accessing the ACS web site.  I registered a CID for the app with Palm, ad00.  Now we can hang our conduit off of that CID because the conduit won't run unless there's a database on the Palm with that conduit's registered CID, but when the conduit is invoked, it can open whatever db it wants (addressbook and calendar in this case).

Hope this helps some,

Matt

* each palm app has to have a unique, 4 character creator ID.