Re: improving the Evolution addressbook conduit



Hey Matt,

Been a long time since I commented on anything here. I'm finally getting back to a point where I feel like I can contribute again (or at least look at things).

The biggest thing that I've noticed with the Evolution conduits is that memcmp() is used to compare a Pilot record to the Desktop (Evo) record. Since the two records support different features, memcmp() will fail a lot of the time because one of the records aren't created properly. This will cause duplicate records. One of the main reason for this is the AddressDB since it doesn't support many of the features that ContactsDB does (e.g. Home, Work, Other address). Maybe this can be changed so that we compare only the fields known to be supported for AddressDB (and the other conduits).

More below...

--- On Wed, 8/20/08, Matt Davey <mcdavey mrao cam ac uk> wrote:

> From: Matt Davey <mcdavey mrao cam ac uk>
> Subject: improving the Evolution addressbook conduit
> To: gnome-pilot-list gnome org
> Date: Wednesday, August 20, 2008, 8:41 AM
> I'm beginning to take a look at the Evolution conduits,
> and have started
> with the addressbook conduit.
> 
> I'm aiming to start by fixing some data corruption bugs
> that have
> annoyed me for a while.  An early win is fixing the
> 'other' field bug: 
>    http://bugzilla.gnome.org/show_bug.cgi?id=547223

Glad to see someone responded on this. Thanks for fixing it.

> There are several other bugs that need fixing and lead to
> data rot.
> Once that is out of the way I'll look at adding support
> for ContactsDB
> and the 'new' fields such as birthdays and photos. 
> Support for
> ContactsDB will require some limited new API on the
> gnome-pilot side.

I don't know how much gnome-pilot would have to implement. Shouldn't the conduit just open/register the ContactsDB database type when gnome-pilot loads the conduit? Maybe I'm missing something.

Also, I was thinking maybe the first cut at the Contacts conduit could be a standalone conduit. A refinement would be to make 1 conduit where the user chooses which PalmOS version is being used. If PalmOS 5 is being used, then the conduit uses the Contacts database. If PalmOS 4 or lower is being used, then the AddressDB database is used. Of course, the conduit would default to AddressDB since devices are supposed to support it.

> This work will definitely go faster if I get help from
> people willing to
> build from source and test modified gnome-pilot and
> evolution/evolution-data-server source.  I can help you get
> up and
> running with a build-from-source setup.  If you have
> time/skills to help
> with the development, too, so much the better.


Let me know when there's something to test or if I can help you with any of the code. I have a Tungsten E sitting around doing nothing right now so I could put any test data on it I wanted. Also, I've been working on a mapping of ContactsDB fields to Evolution EBook fields. There's quite a few EBook fields that don't have a complement in the ContactsDB, but I think the syncing should be able to be resolved. Unfortunately, I don't have access to that spreadsheet right now. I'll post a link in the next few days to the list (probably Saturday or Sunday).

Thanks,
Nathan



      


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