Hello Andris,

On Sep 12, 2011, at 11:59 , Andris Pavenis wrote:

> There are following problems synchronizing contacts between libsynthesis
> based server (our own implementation) and S60 3rd edition mobile phones
> (I used Nokia E65 and E50 for testing). I'm giving an example to illustrate
> the problem:
> 
> - let us assume that contact on both server and in mobile phone address book
>   contain one or several phone numbers of the same type (for example
>   TEL_FLAGS[xx]:8):
>        TEL[0]:11111111
>        TEL_FLAGS[0]:8
>        TEL[1]:22222222
>        TEL_FLAGS[1]:8
>        TEL[2]:33333333
>        TEL_FLAGS[2]:8
>        TEL[3]:44444444
>        TEL_FLAGS[3]:8
>  
> - a part of phone numbers are deleted on server side (not from the end):
>        TEL[0]:33333333
>        TEL_FLAGS[0]:8
>        TEL[1]:44444444
>        TEL_FLAGS[1]:8
> 
> - An attempt to synchronize device causes SyncML Replace command
>   to be generated for updating contact on client side. First 2 numbers
>   on client device are replaced with 2 numbers send from server
>   but 3rd and 4th number remains unchanged
>        TEL[0]:33333333
>        TEL_FLAGS[0]:8
>        TEL[1]:44444444
>        TEL_FLAGS[1]:8
>        TEL[2]:33333333
>        TEL_FLAGS[2]:8
>        TEL[3]:44444444
>        TEL_FLAGS[3]:8
> 
> The same problem appears also when there is only one number of each type
> present and some of them are deleted on server side. After synchronization
> it is still present on client side (none replaced, so the first remains where 
> it was)
> 
> As far as I checked Funambol server tries to workaround this problem by 
> sending
> empty phone number after I remove phone number using Funambol WebGui demo
> version (it supports however only one number of each type so test 
> possibilities are
> rather limited)

There is a config option for libsynthesis for repeating properties. You can set 
the "minshow" attribute on <position> (see SySync_config_reference 10.3.7, 
approx page 84) to force the engine to produce empty fields in excess of the 
number of stored values.

The problem is that the handling of empty properties is highly client specific 
(from crashing, to ignoring them, to interpreting them to actually wipe 
existing fields).

Note that the "suppressempty" attribute of <property> as well as the 
<noemptyproperties> in <remoterule> can both overrule a "minshow" specification.

Best Regards,

Lukas


Lukas Zeller, plan44.ch
l...@plan44.ch - www.plan44.ch


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

Reply via email to