Some points of note regarding the backup & sync process:
- After first backup, there’s only ever 1 version of your data, and that’s the last version that was backed up.
- The data model is not flat, it’s a tree; relationships between ancestor (e.g. property), parent (e.g. paddock) and children (e.g. site, records, land types) objects inform function and behaviour of apps and data validation.
- Despite the number of devices the app is installed on, the system only sees all activity as coming from one user account.
This means there can be conflict situations where a backup can overwrite another backup’s changes due to the data relationships, here’s a scenario:
- Person A and Person B are working with Account ‘Macca’, and have both synced at the same time and start with the same data.
- Person A deletes Paddock 1 and backs up.
- Person B adds 2 Sites to Paddock 1 and backs up after Person A.
- Person B’s backup will revert Person A’s deletion, because Person B’s version was the last backed up, and for his 2 new sites to exist, Paddock 1 cannot be deleted.
- As the system sees these actions performed by the same account ‘Macca’, it can’t interpret intent of individual user actions.