smarter collision handling




Creating/Changing Bugs
17 years ago
5 years ago


(Reporter: Alec Flett, Assigned: myk)


Windows 2000




17 years ago
I think there should be a way to avoid collisions when collisions don't change
any fields that were changed since the submission that caused the collision.

What I mean is this: Say user A and B view a bug. User A changes form field
"foo" and adds a comment, then hits submit. User B changes form field "bar" and
adds a comment, then hits submit.

In the current world this is a collision because we can't tell what other form
fields the user has actually changed, or did not want to change.. There are a
few ways of handling this:
1) Create a single, hidden form field which keeps a list of all the form fields
that have changed since viewing the bug.. whenever the user changes a form
field, you'd have to call some JS which manages the value of this hidden field..
When this form is submitted, the CGI knows which form fields the user has
touched, and which they have left alone.
2) For each form field, have a corresponding hidden field which indicates the
original value of that form field. Upon submission, the CGI would compare the
old values with the values that just were submitted, and if any had changed,
they would know which fields to update.. this wouldn't require any JS, but would
require a whole lot more form fields, resulting in twice as much data sent to
the server.

This came off bug bug 109545, because for mobile users who make changes to bugs
while offline, it may be a few hours before their changes are finally submitted,
resulting in a much higher likelyhood of collisions. Furthermore, collisions
wouldn't be detected because the way the channel system works, the results of
form submits are only seen by the user if they happen to be a part of the channel. 

(one way to fix that is to have a non-interactive collision mode, which sends
e-mail to the user when there was a collision, and gives them a link to a bug
with the values they changed, so they could resubmit.. but frankly the
complexity behind making that work seem quite daunting)

*** This bug has been marked as a duplicate of 107306 ***
Last Resolved: 17 years ago
Resolution: --- → DUPLICATE
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.