Re: ContactDb implementation




This is the fact, a face addressDb is available (that's actually why the addressconduit still works with os5 pda's)

Its not really "available", its populated runtime (think of it as a "view", like you would use in an rdbms, which is exactly what the PalmOS record/resource types are; an in-OS, in-hardware SQL query language). If you request the resource by creator 'addr', you get a "view" of ContactsDb-PAdd's data that is legacy compatible. Its not supposed to linger around on the system once you close or exit, but I've noticed that it does create and keep AddressDB around (this is bad for several reasons).

The problem is that you end up missing the Contacts fields, and its not clear that changes to AddressDB are migrated back out of the "view" into ContactsDb-PAdd. I've seen both situations, where changes to AddressDB are incorporated back into Contacts, and situations where repeated entries into an app that uses AddressDB, does NOT re-populate Contacts with the updated information.

But a switch at runtime is not that easy. As you just register the conduit with a specific Db id to gnome-pilot, and it will look if that database is available and begin calling all the function in the conduit with gtk-signals.

You need to do both... but you need to do Contacts first, even on non-OS5 PDAs, as well as OS5 PDAs who may have copies of both AddressDB and ContactsDb-PAdd.

Its a tricky situation, but you always want to use Contacts where available, even if AddressDB exists. It gets sticky when users have a third-party application that reads/writes to AddressDB, but doesn't know about Contacts.. and they keep their data in AddressDB.. It can get really ugly in those situations.

Another option is to try to open ContactsDb-PAdd *AND* AddressDB, and do a slow-sync, merge them, re-populate ContactsDb-PAdd via the g-p conduit, and then delete AddressDB (which is what I think Palm Desktop, the Outlook Palm conduits and other "approved" third-party conduits do anyway).

Retaining the data integrity is important here, so don't screw up! :)


David A. Desrosiers
desrod gnu-designs com
http://gnu-designs.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]