Page 1 of 1

Overlapping updates can cause data loss

Posted: Sun Oct 25, 2020 8:42 pm
by PaulSpencer
Overlapping updates of Task, Meetings, Todos, ... are "last one wins"

Use case: On user is editing the text fields on the task to describe the testing results of a part while a second user is uploading related photographs.
While user "Student 1" is updating a task, user "Photographer 1" opens the same task to upload pictures. While the pictures are being uploaded, "Student 1" saves changes to the several field on the task. Then user "Photographer 1" saves the task with the new images.

All of the changes user "Student 1" made to the task are overwritten by "Photographer 1", even if "Photographer 1" only uploaded images. To make matters worse, neither users where aware the task was being edited by another, nor where they notified of changes the other user made.

User Case: Two users are simultaneously updating different field on the same task.
Steps to recreate:
- Login from two devices as User A on the first device and User B on the second device.
- User A creates and saves a Meeting
- User A Create and saves a task with the "Quick Description" equal to "Test Conflicting Changes"
- User A opens the "Test Conflicting Changes" task and clicks the "Edit Pencil"
- User B opens the "Test Conflicting Changes" task and clicks the "Edit Pencil"
- User A set the Part Name to "Spinner"
- User A saves the task by pressing the "Submit" button
- User B change the task type to "Build"
- User B saves the task by pressing the "Submit" button
- User A and User B
- Click the meeting name to return the "Open Meeting" pages
- Click the "Test Conflicting Changes" task in the "Tasks / Work Done" section.
Notice the "Part Number" is blank and the Task Type is Build. Thus the change made by User A was lost.

Re: Overlapping updates can cause data loss

Posted: Sun Oct 25, 2020 8:49 pm
by Randy
Yes, this is known behavior. There might be some ways to get an easy win on this one - like saving the time stamp information at the beginning of edit then recognizing if they have changed at save.
With regards to the photographer scenario, I would suggest that a photographer not be the one to attach the images to a task. I would have these team members selecting the "Season Images" option from the season home page and uploading there. Then the task author would be the one to select the images they want for the task they are entering on the website.