Hi Patrick,

I just saw your patch:

slow sync: avoid empty anchors, that confuses ScheduleWorld

This patch fixes http://bugzilla.moblin.org/show_bug.cgi?id=4703,
"ScheduleWorld: delete on server can not sync to client (after doing slow sync)".

Somehow the ScheduleWorld server has problems with <last></last>.
Saving the mapping on the server fails in that case. Mark called
an empty anchor string invalid.

I don't agree with that and think this issue should be fixed on
the server, but as it can be worked around easily (and perhaps
more quickly) on the client side, here's the patch for it.

Instead of "" it now uses "no local anchor". For symmetry reasons
(not required to solve this problem) the last remote anchor is
set to "no remote anchor".

I'm a bit confused, because I don't see how an empty <last></last> can be created at all. The <last> tag is optional within <anchor>, and it is therefore created using newPCDataOptString() in newMetaAnchor(), which does not create the <last> element at all when the input string is missing or empty. So IMHO the engine NEVER sends a <last></last>.

Still, if the problem is that Scheduleworld also cannot handle a missing <last> tag, I'd favor a patch that would insert a dummy <last> just when creating the actual SyncML command (i.e. at the points where newMetaAnchor() is called), and not touch fLastLocalAnchor or fLastRemoteAnchor.

Reason is that these variables have the semantic meaning of "no anchor" = "empty string". Changing that could mess up code testing these for emptyness e.g. to detect first-time-sync status (I haven't checked if that is really used somewhere, but it would be OK to do so).

Best Regards,

Lukas Zeller (l...@synthesis.ch)
-
Synthesis AG, SyncML Solutions  & Sustainable Software Concepts
i...@synthesis.ch, http://www.synthesis.ch





_______________________________________________
os-libsynthesis mailing list
os-libsynthesis@synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to