We have faced one issue of data disappearing in concurrent clients. I am explaining the scenario below.
One User log in to the Application in Smart Client and start putting some texts in one field and without clicking outside. At the same time another user log in to the application with same Smart Client and do some changes and do a commit. When the 2nd. user do a commit, the entered input in that field for the first user is disappeared(The fist user has not clicked outside yet).
yes it shouldnt do this, it should only overwrite if both are on the same field of the same record and person number 1 is faster and saves it.
Then person nr 2 will see those changes,so his value is gone. But for other fields this shouldnt matter.
we have the same problem and we are trying to control when 2 clients are editing the same record (using adquireLock Servoy’s method for the first client that wants to edit a record and sending a message to the second client notice him about the lock).
Our main problem is concurrent clients, so for this we are trying to lock the record that is in use by 2 clients using onRecordEditStart and onRecordEditStop events.
The second problem is that our solution for the main problem is not working properly, our problems are:
release locks at radiobuttons,checks,… (not textfield or textarea)
when we edit a field (from a db table) and we want to edit other field (based in other db table) the onRecordEditStart event doesn’t trigger, it only works the first time you edit a record after a saveData() so we can’t identify when we are editing another record to release the actual lock and generate other lock for the record.
I guess it would be better if you have an explicit edit mode for this then
So that you can go into edito that sets all the locks and goes out of edit that releases all the locks