Bug 54998 - disable PHOTO syncing for specific peers
Summary: disable PHOTO syncing for specific peers
Alias: None
Product: SyncEvolution
Classification: Unclassified
Component: SyncML (show other bugs)
Version: unspecified
Hardware: Other All
: high enhancement
Assignee: SyncEvolution Community
QA Contact:
Depends on:
Reported: 2012-09-17 08:03 UTC by Patrick Ohly
Modified: 2018-10-13 12:37 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Patrick Ohly 2012-09-17 08:03:53 UTC
Some peers, in particular older phones, have problems when being sent lots of photo data. It may be more useful to exclude photo data altogether for such peers.
See "[SyncEvolution] Sync failure due to large addressbook entires."

A possible solution would be:
- introduce a new session variable in the <sessioninitscript>
- set that variable in remote rules (see stripUID for an example)
  or based on a new config property (see preventSlowSync)
- extend the <outgoingscript> for contacts such that it
  unsets the PHOTO property before encoding a contact for the peer
  if that session variable is set - see VCARD_OUTGOING_PHOTO_INLINING_SCRIPT

That should take care of sending data to the phone. Ensuring that the photo doesn't get lost when receiving an update is harder. Something might be possible with a custom <mergescript>, but I am not sure whether it really gets invoked during a normal import.

Alternatively, dynamically updating the field attributes after parsing the peer's CtCap would be a more elegant solution, because it would use existing libsynthesis mechanisms:
- don't send properties to a peer which the peer doesn't support
  (strip PHOTO when sending)
- preserve local properties not supported by the peer (preserve PHOTO)

However, implementing that will require considerable changes in libsynthesis:
- expose the field list attributes to scripts
- ensure that a script is called after parsing CtCap and before using the
  field list (perhaps <datastoreinitscript> is suitable)
Comment 1 GitLab Migration User 2018-10-13 12:37:45 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/SyncEvolution/libsynthesis/issues/21.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.