On Do, 2010-11-11 at 14:52 +0000, Patrick Ohly wrote:
> Hello!
> 
> I have a question about matching items. Here's my situation:
>       * Client and server both have the same iCalendar 2.0 VEVENT (UID
>         is identical).
>       * SUMMARY is changed on server, one line is added to description.
>       * SUMMARY is changed on client.
>       * Slow sync.
> 
> I had changed the "calendar" field list so that all fields have
> compare="never", except for UID and ORIGSTART, which have
> compare="always". The rationale is that if it is known that both sides
> support UID, that alone should be used to find matches.
> 
> What I expect in this case is that:
>      1. Synthesis engine finds the match.
>      2. The more recently modified SUMMARY from the client is preserved
>         (DMODIFIED = LAST-MODIFIED is marked as age="yes").
>      3. The additional line of the description is preserved (DESCRIPTION
>         has merge="lines").
> 
> What happens instead is that the engine finds the match, but then skips
> merging the items and updating them on server and client, leaving them
> unsynchronized. Is that the desired behavior? Do I have to configure the
> engine differently?

Yes. Lukas told me that there are configuration options, and then I also
found them in the documentation:

11.36.6 <updateclientinslowsync>: update client records
during slowsync
Contained in:          <remoterule> or <server> (settings in <server> are 
defaults for sessions with-
                       out a remote rule applied or with a remote rule applied 
that does not specify a
                       value for this particular option)
Can contain:           boolean value
Attributes:            none
Default:               off
If this option is set in a remoterule, the SyncML server will try to update 
client records with
server data if comparison shows that the server has additional data that the 
client does not have
during non-first time slow sync. Note that this updating always takes place in 
first-time sync, regardless of this
options's setting. It is off by default because many clients cannot store some 
data but also cannot
inform the server what they can store exactly, so turning this option on will 
cause much un-
needed client updates at slow sync. For clients that store everything they 
report in devinf how-
ever, this feature can be switched on resulting in better data consistency 
after a slow sync. See
also corresponding function in 6.14.6.

11.36.7 <updateserverinslowsync>: update server records
during slowsync
Contained in:          <remoterule> or <server> (settings in <server> are 
defaults for sessions with-
                       out a remote rule applied or with a remote rule applied 
that does not specify a
                       value for this particular option)
Can contain:           boolean value
Attributes:            none
Default:               off
If this option is set in a remoterule, the SyncML server will try to update 
server records with cli-
ent data if comparison shows that the client has additional data that the 
server does not have
during non-first time slow sync. Note that this updating always takes place in 
first-time sync, regardless of this
options's setting. It is off by default because differences in client and 
server database layouts often
cause uneeded updates which will cause other clients to be updated on the next 
sync as well. For
clients that store everything they report in devinf however, this feature can 
be switched on result-
ing in better data consistency after a slow sync. See also corresponding 
function in 6.14.6.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.



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

Reply via email to