[sync] sync using Synthesis: progress!
Karsten Fourmont
fourmont at gmx.de
Wed Sep 21 14:03:20 PDT 2005
Hi,
did some major poking around in the XML_WBXML package. It took quite a
bit of time (and nerves) but now it's working!
We no longer need (nor use) the external libwbxml library but instead
produce our own wbxml. This sould also result in a performance speedup
as with the external library the produces decoded xml had always had to
be parsed with an xml parser. Now we directly Decode into the SyncML
Contenthandler and encode into the WBXML Encoder (which derives from
Contenthandler).
I started my experiments with the synthesis client by syncing notes.
After a more changes in the SyncML package, syncing of notes does work now.
During that process I removed various small spec violations in our
messages. Maybe some other devices (Nokia?) which refused proper
communication before may work now as well.
Well and my previous comment:
> 1) The client sends a different SessionID for every message.
That's been a config issue on my side: I had entered a URL into the
synthesis pref page that ended with a tab. The tab got trimmed during
the processing and so the response contained a (slightly) different URL
that the one synthesis sent. but the client thought it's a different
server and so started a new session... Tab removed, everyhting's fine.
Next steps are:
1) check what needs to be done to make contacts, adresses and tasks
working as well.
2) The horde syncml code does still not honor the MaxMsgSize info and is
unable to deal with large data chunks being split into more than one
message. So the initial sync may not work for people with too big
address lists...
Cheers,
Karsten
P.S.
For the records: I removed one piece of functionality from the WBXML
Encoder: empty tags (<final></final>) no longer get automatically
combined into one start/stop wbxml tag (wbxml representation of
<final/>). The produced wbxml get's only slightly bigger (one byte for
each empty tag), but the state machine becomes way more obvious and the
code thus easier to read and maintain.
More information about the sync
mailing list