Thanks for the quick reply, merrells! I'm glad to hear that access control will be coming, and in the meantime I think I'll still go ahead and implement sync, as I assume that I could add the access control easily later?
Thank you John ! And so you said the timestamps are used but does it check the time when the guy was online/offline ?
(sorry if it sounds stupid but I would like to be sure)
at 08:00 user1 and user2 start to work online
at 09:00 user1 has not network so he works "offline" on localdata
at 09:30 user2 who is still online changes the data "name"
at 10:00 user1 who is still offline changes the data "name" which is after user2 but not yet synchronized with the server because offline
at 11:00 user1 is back online and synch..
Which timestamp is used ?
1) when user1 got offline at 9:00 (so before user2) ? So user1 who were offline "lose"
2) when user1 changed the data (even if he was offline) at 10:00 (so after user2) ? So user1 who were offline "wins"
No, there's no notion of on or off line in the system. Just the current time.
(Full disclosure: We don't really use just the wall clock time. It's actually
a logical clock that has time as a component. And we also synchronize
the logical clocks of all the replicas of a datastore... so in effect it's a global