SUP Version - 2.1.3 PL01 Client - iOS
Customer is experiencing an issue
where the
client device is losing data that
has been flagged for synchronization
(SubmitPending) but has not been
explicitly pushed to SUP (Synchronize for
specific group not called
yet). The problem stems from submitted data that is
not explicitly
synced
because the device did not have connectivity when the data
was created/modified. If you “SubmitPending” data, don’t
sync that data immediately, then a subsequent sync for a different sync
group occurs,
the pending data will be sent to the back end, but the local
data will
be reverted to the unsynced version of data.
f.ex. Create row 1 on device and call SubmitPending(): Aaa Bbb Ccc Null Null Null
Synchronize(Group1) Updated row shows up back
end: Aaa Bbb Ccc Null Null
Null Modify, save, submit pending data for row 1 on device while
disconnected
(don't sync): Aaa Bbb Ccc Ddd Eee Fff Reconnect and Sync another
group (not Group1): Synchronize(Group2) Updated row shows on back end: Aaa Bbb
Ccc Ddd Eee Fff Device DB now contains: Aaa Bbb Ccc Null Null Null
A few
questions:
1. Is it expected behavior that pending data for a
sync group is sent
to
the back end even when Synchronize is called for a totally different
sync
group that does not have any pending changes?
2. What is the
way to ensure
the created/modified data is not lost if
such a scenario is hit?