You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use Case: A read-only address book is shared with several team members, so that everyone has the correct contacts.
Since there is no way to practically lock contents of an address book under Android users can still edit contacts, but they are reverted to the servers version of the contact after sync. This only happens when the server does not use the "Collection Sync" method.
Actual result
If one user has accidentially edited the contact and the server uses "Collection Sync" the changed contact is only reverted to the original version when the contact is edited on the server. If this specific contact is never changed on the server the locally edited contact will never be reverted, because Collection Sync only transmits the changed contents, and not the whole address book at once.
Expected result
No response
Further info
No response
The text was updated successfully, but these errors were encountered:
Does not the Sync Adapter Framework tell us when a contact changed? Instead of pushing those changes to the server (which we don't, since it's read-only) we could reset the whole collection in question.
Does not the Sync Adapter Framework tell us when a contact changed? Instead of pushing those changes to the server (which we don't, since it's read-only) we could reset the whole collection in question.
Yes, we do a re-sync in this case already. However the problem is the the sync doesn't delete local changes when the "collection sync" algorithm is used.
Do you mean that we shouldn't call "the sync" when a contact is changed in a "read-only" address book, but some other code that resets the collection so that it's completely re-synced?
I think in the read-only address book with changed items case, we should:
prevent local changes from being uploaded (as we already do),
enforce SyncAlgorithm.PROPFIND_REPORT – this would notice items which are not on the server and delete them locally.
Do you mean that we shouldn't call "the sync" when a contact is changed in a "read-only" address book, but some other code that resets the collection so that it's completely re-synced?
My initial idea, yes, but I see now that would be hard to implement, since we do not know the original state of the contact - that is, never kept a copy (and don't want to).
enforce SyncAlgorithm.PROPFIND_REPORT – this would notice items which are not on the server and delete them locally.
Problem scope
App version
Android version and device/firmware type
No response
Steps to reproduce
Use Case: A read-only address book is shared with several team members, so that everyone has the correct contacts.
Since there is no way to practically lock contents of an address book under Android users can still edit contacts, but they are reverted to the servers version of the contact after sync. This only happens when the server does not use the "Collection Sync" method.
Actual result
If one user has accidentially edited the contact and the server uses "Collection Sync" the changed contact is only reverted to the original version when the contact is edited on the server. If this specific contact is never changed on the server the locally edited contact will never be reverted, because Collection Sync only transmits the changed contents, and not the whole address book at once.
Expected result
No response
Further info
No response
The text was updated successfully, but these errors were encountered: