Discussion:
Libwbxml-free sync-engine
Dr J A Gow
2008-01-31 20:52:13 UTC
Permalink
Folks,

I've just committed the changes to make sync-engine libwbxml-free. I
have tested this with the Opensync 0.3x stuff and it works well for
contacts, tasks and events. At the moment I can't test with the Opensync
0.2x stuff as I don't have OS 0.2x installed on this box. Therefore it
would be helpful if anyone with a bleeding-edge SynCE install and
Opensync 0.2x who can sync, would test this and report problems.

I've left the debug spew in to help with this process - it will be easy
to remove later.

The only problems you are likely to find is related to the fact that our
implementation is now fussy about the correct namespaces being assigned
to the libxml2 node structures - and sometimes this does not seem to
work intuitively across the XSLT transform interface when extension
functions create children. This will manifest itself as an exception
being thrown when the wbxml code can't find the tag in the code page at
the point of conversion. If you get one of these they are quite easy to
fix so please just send me the dump from sync-engine (only the portion
with the exception and, importantly, the XML document immediately before
it) and I will sort it quickly.

Another point is that attribute support is badly broken in our wbxml
implmentation. This does not matter for sync-engine as Airsync XML does
not use attributes - but we should really sort this at some point for
completeness and in case MS change something at a later date and
suddenly decide to start using them!

Have fun.

John.


Excerpt from CHANGELOG:
----------------------
Iain Buchanan
2008-02-12 14:35:43 UTC
Permalink
Post by Dr J A Gow
Folks,
I've just committed the changes to make sync-engine libwbxml-free. I
have tested this with the Opensync 0.3x stuff and it works well for
contacts, tasks and events. At the moment I can't test with the Opensync
0.2x stuff as I don't have OS 0.2x installed on this box. Therefore it
would be helpful if anyone with a bleeding-edge SynCE install and
Opensync 0.2x who can sync, would test this and report problems.
sorry about the lateness, I've been keeping 0.11 around for testing
purposes!

So today I tested the svn version of everything synce, with opensync
0.22. It worked quite well after a few hickups:

Firstly, I still had duplicates problem I was talking to you earlier
about, where there are lots of duplicate entries (left over from
previous bad syncs) but only some of them sync.

So I backup up all my contacts from evolution, re-synced (which emptied
my device), then deleted and re-created the partnership. I then culled
all the duplicates out and sync-ed again.

No errors were reported, sync finished successfully, but I'm still
getting some duplicates created. This time there are (eg) 2 copies of a
contact on the device, but only one copy in evo.
Post by Dr J A Gow
I've left the debug spew in to help with this process - it will be easy
to remove later.
would you like me to repeat this and send you any output? I have a
couple of hundred contacts, so the list may be large! Do you want me to
recreate partnerships, or just send you sync output from now?
Post by Dr J A Gow
The only problems you are likely to find is related to the fact that our
implementation is now fussy about the correct namespaces being assigned
to the libxml2 node structures
[snip]

no exceptions, so looks good.
Post by Dr J A Gow
Have fun.
I did!

thanks,
--
Iain Buchanan <iaindb at netspace dot net dot au>


In the first Jurassic Park movie, the Tyrannosaurus Rex wasn't chasing
the jeep. Chuck Norris was chasing the Tyrannosaurus AND the jeep.
Dr J A Gow
2008-02-12 18:06:07 UTC
Permalink
Post by Iain Buchanan
No errors were reported, sync finished successfully, but I'm still
getting some duplicates created. This time there are (eg) 2 copies of a
contact on the device, but only one copy in evo.
Post by Dr J A Gow
I've left the debug spew in to help with this process - it will be easy
to remove later.
would you like me to repeat this and send you any output? I have a
couple of hundred contacts, so the list may be large! Do you want me to
recreate partnerships, or just send you sync output from now?
At initial glance this looks more like a problem with the sync process
than the wbxml conversions - but let's take a look at the log.

Can you send me the sync-engine log for the sync run where duplicates
are created - and if you can, please highlight the contacts that are
being duplicated so that I can concentrate on the area surrounding
these.

It may pay to start from scratch to avoid anything caused by old data.
First back up your data, then make sure everything is deleted on one
side of the sync.

First delete your partnership. You can back up pim.vol on the phone to
stop the phone from deleting your data when you delete the partnership.

Then on the Evolution side, simply delete everything from the list. Then
recreate the partnership and run the sync, capturing the log. Check for
duplicates, then run the sync again. Send me the log for the run when
you see duplicates appearing.

Just to refresh my memory, which version of Opensync are you running?

John.

Loading...