Hi Patrick,
I have a few questions aimed at trying to understand what I see in the backend code
samples. I've been looking at SyncEvolution 0.8, because I assumed it was more stable
at this point in time. Anyway, my questions are a mix of my possibly false assumptions and
actual questions:
1) In the backend, are all the uid parameters local UID's? Need we have any concern
about mapping to remote ID? Is the engine handling that?
2) listAllItems(): the backend itemizes the entire local store and set
revisions[<localUID>] with last revision stamp or modification time.
3) a) createItem(): generate a sync item data blob to ship to the server, which could
be for add or update and we don't need to know?
b) insertItem(): either update or add item to the local store depending on whether UID
already exists locally?
c) deleteitem(): delete item from the local store
Does the sync engine handle deleting items on server based on the results of
listAllItems (UID's detected missing)?
4) Our contacts records do not have a last mod time
a) we are able to get a list of records that changed and another list of records
deleted since last time we checked
b) if my assumption that items not appearing in the listAllItems will be deleted
remotely by the engine, we can ignore this deleted list
c) with the changed records list, we could say last mod time is NOW (say, the start of
sync), and set a custom field in the record to act as last mod time. (Will have to re-save
the record locally.)
d) with unchanged records, do nothing but extract that last mod time from the custom
field
5) exportData walks through all records and create item data blobs - presumably this is
called in the slow sync scenario?
I appreciate your help - maybe these questions have been answered somewhere already. :)
Bob Eggers
________________________________________
From: Patrick Ohly [patrick.ohly(a)gmx.de]
Sent: Sunday, August 02, 2009 7:26 AM
To: Bob Eggers
Subject: Re: SyncEvolution
On Fri, 2009-07-31 at 08:51 -0700, Bob Eggers wrote:
I am looking at using the Posix build of SyncEvolution to support a
contacts client on the Palm webOS. I've been getting familiar with
SyncML concepts and have looked at a few engines. I like SyncEvolution
because of the WBXML support in particular.
You've mentioned Funambol and WBXML support in the same email - just to
be sure that there are no misunderstandings, you are aware of
SyncEvolution 0.9 using the Synthesis SyncML Engine? It no longer
depends on Funambol source code or libraries at all.
One thing I'm struggling with is "getting it". I know
I'm not the
first because I saw a just such a comment today in a Funambol slide
slow. The docs are generally sketchy, as you know, and the naming
conventions they used were not always the clearest.
I might have inherited some of that in SyncEvolution :-/
I have been studying backends that last couple of days trying to
size
up our task. I wonder if you might field a handful of questions from
me? If so, let me know.
Sure, just go ahead. However, if you don't mind, can we have that
discussion on the SyncEvolution mailing list
(syncevolution(a)syncevolution.org)? Don't worry about subscribing (unless
you want to, of course), just mail me with that list on CC and I'll make
sure that all your emails get through.
That way answers will be available for others later on; the other
SyncEvolution developers might also be able to help.
--
Bye, Patrick Ohly
--
Patrick.Ohly(a)gmx.de
http://www.estamos.de/