Hello!
I just noticed one aspect of the example configs that I wasn't aware of:
syncclient_sample_config.xml: <field name="PHOTO" type="blob"
compare="never" merge="fillempty"/>
What I see in a slow is that if all fields are equal except for the
photo, the modified photo is not stored because merging considers it not
relevant (compare="never" => eqm_none).
According to the doc:
"never": field is not compared at all. This is for fields that do not
contain user data, such
as "REV" in vCard. It would not make sense to compare these fields, as
they are not rele-
vant for finding out if two objects have the same data or not.
What was the rationale for using that mode for PHOTO? Is it for storages
which store photo data after re-encoding it? With such a storage, the
comparison would yield a false "field is different", causing unnecessary
writes. But with a storage that stores the data as-is, comparing it is
better (IMHO), because modified data actually gets stored. The downside
is that comparisons become more expensive.
Speaking of comparisons, with EDS this is slightly tricky. Inlined data
gets replaced with a file reference, so what the comparison really needs
to do is not comparing
"file:///tmp/testing/temp-testpim/data/evolution/addressbook/pim-manager-testsync-testcontacts-foo/photos/pas_id_51D53D1800000001_photo-file1.image%252Fjpeg"
against the binary data in the incoming item, but rather the content of that
file.
I probably need to write a <comparescript> for that, right? In that case
compare="never" may be the right thing to do again, but I am not sure.
Won't it lead to the situation again where MERGEFIELDS() incorrectly not
marks an item as changed even though it was?
--
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
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis