Hello Patrick,
ext Patrick Ohly wrote, On Friday 05 November 2010 02:36 PM, UTC +0530:
Who is the client- the MeeGo OS stack or a sync application like Buteo's
sync client plugin?
The Buteo sync client plugin. The client supplies the desired
configuration to the buteo-syncml stack.
From what you said it sounds like that this setting
must be made on a per-peer basis and might have to be different for
OVI.com, ScheduleWorld, Memotoo, Google, etc. Have you tested against
these peers or only against OVI.com?
Now that's just me trying to understand the effects ;-)
With reference to the SyncML 1.1 specification
(http://www.syncml.org/docs/syncml_sync_protocol_v11_20020215.pdf),
section 5.3 (Data Update Status From Client):
"Note. This package MAY NOT be sent if the server has indicated that it
does not require a response to its last package to the client. If the
client decides that it does not send this message, it MUST be able to
cache the Map operations until the next synchronization will happen,
when these Map operations can be sent to the server (See also Chapter
2.3.1). However, the client is always allowed to send this Data Update
Status package to the server, even if the server has not requested a
response.
"
With ovi.com, we found that the server explicitly sent a <NoResp/> for
the <Sync> fragment in package #4 (as there were no changes on the
server end). Before this fix, the buteo SyncML stack would send the data
update status package to the server, and would wait for a response from
the server. The response would not come as application/wbxml, but as
plain text, causing the stack to flag an error.
The fix here only applies, if the stack has nothing else to send to the
server other than the status for the <SyncHdr> fragment in package #4
(Which will only happen when the server has no changes to send, _and_
and explicitly asked for NoResp on the Sync Cmd).
We tested this with google and Memotoo peers, and the fix has no impact,
as those servers do not implement the optimization, unlike ovi.com.
The much simpler question is: how should the OVI.com problem be fixed in
MeeGo? Modify /etc/sync/meego-syncml-conf.xml to have
omit-data-update-status == 1 and use that for all SyncML peers?
You can do that. From our testing with Google, and Memotoo, the setting
has no impact on clients other than ovi.com, as they require a response
for package #4.
Best Regards,
Santosh
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev