On Mon, 2010-04-26 at 00:04 +0100, Jeff wrote:
>
> I can only speak for the contact backend, as the calendar backend was
> done by Ove. With contacts in EDS, I know that "contact lists" are not
> synchronized (
http://bugs.meego.com/show_bug.cgi?id=1008). The main
> reason is that there is no standard format commonly understood between
> SyncML peers. When using SyncEvolution on both sides, that isn't a
> problem, and something that works in that combination could be added.
>
I don't mind if contact lists don't sync as long as they are not lost
on the evolution side during sync.
My interest is in a syncevolution to syncevolution case...
You say "something that works in that combination could be added"
I'm confused by that ... what needs to be added?
For example, contact lists. They are represented as a single contact
with additional properties. These additional properties are not modeled
in the XML datatype configuration and profile. As a result some data is
lost when synchronizing such a special contact back and forth.
> On the N900, there are like to be some Nokia extensions which
are not
> synchronzed. I don't know what the situation is with those in Maemo 5,
> but earlier there were such extensions
> (
http://bugs.meego.com/show_bug.cgi?id=666).
>
Fields that don't exist at one side should be ignored as Synthesis does.
Is this what happens? or does data get lost as a consequence?
They get lost when overwriting the item. That's because when receiving
an update, the following happens:
1. read existing item from data store
2. convert to field list
3. convert update to field list
4. update field list
5. create item from field list and write back
"item" for EDS is a vCard, which completely replaces the one in the data
store. So any property lost during the vCard<->field list conversion is
also eventually lost in the data store.
This can be avoided by only using one-way synchronization, which never
writes into the local data store. But that is also less useful.
> To put you at ease a bit, the automatic database dumps made by
> SyncEvolution do not pass the data through the Synthesis engine. They
> take a vCard directly out of EDS and put them into files, so the
> complete contacts can be restored again should something go wrong.
>
Please tell me a bit more about these backups and at what stage of the
sync process they are made and where they are located...
They end up in the session directories, see "syncevolution
--print-session". They contain the name of the source ("addressbook")
and whether they were made before or after the sync
("before"/"after").
Hard links are used to minimize overall disk usage.
The backups are created after a session has started successfully (client
and server agree on credentials and on which sources are active), and
before any data is modified ("before"). The "after" dump is done when
the session ends.
"synccompare" compares the two dumps to figure out whether data has
changed.
If I understand you correctly, you mean in the syncevolution with
http
server configuration connecting with a syncevolution client (such as the
N900), data traveling to the client is taken straight from the EDS and
placed directly into files on the client.
So Synthesis is not part of the process?
No, Synthesis is involved. There is no special case for
Evolution<->Evolution sync.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.