Overlapping updates can cause data loss
Posted: Sun Oct 25, 2020 8:42 pm
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.
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.