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:
----------------------

>From this point, sync-engine no longer relies on libwbxml and pywbxml.
An internal wbxml converter has been implemented in  SyncEngine/wbxml
(thanks to Jonny Lamb for the low level wbxml stuff). The user-facing
API is unchanged.

Note that this has been tested successfully with the OS30 formats, but
has NOT YET BEEN FULLY TESTED with Opensync 0.2x. The only problem that
may be present here is incorrect namespace assignment within the
converter code. Libwbxml parses it out from the strings whereas the
internal implementation looks out for namespace assignments directly to
the nodes in the libxml2 structures.

The implementation of this uncovered a couple of subtle errors in the
general XML handling within sync-engine. These have been fixed, and the
entire pathway will be checked when airsync.py is cleaned up shortly.

Attribute processing is badly broken in the wbxml implementation - this
is not a problem for sync-engine as AirSync does not use attributes in
its XML code. However this should be fixed up (can be as a low priority
job) at some point for completeness and in case Microsoft go and change
things at a later date.




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SynCE-Devel mailing list
SynCE-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to