Roundup Tracker - Issues

Issue 1118790

classification
Collision detection mechanism looses change note
Type: Severity: normal
Components: Web interface Versions:
process
Status: closed fixed
:
: richard : richard, rouilj
Priority: normal :

Created on 2005-02-08 17:57 by rouilj, last changed 2005-02-13 22:05 by richard.

Messages
msg1851 Author: [hidden] (rouilj) Date: 2005-02-08 17:57
From the mailing list:
======
On Tue, 8 Feb 2005 11:35 am, John P. Rouillard wrote:
> While I can understand collisions on regular fields, just
> submitting a file attachment or a change note
> shouldn't be able to cause a collision since they create
> entirely new messages/links which can't collide.

Yes, since they're both just an append operation, it
should be safe to go ahead with the edit. I'd be
comfortable with this being changed - it'd make
the code a little trickier though.

> Even if you disagree that the change note/file upload's
> can't conflict, the values of the change note and file
> uploads should be preserved in the reload since there
> is no change that could be made to this issue that
> would override these fields.

You actually can't preserve a file upload over a submit, 
but you can do so with a textarea, and we should. I'd
classify the loss of the change note as a bug.

    Richard
=======

So here is the bug report 8-).

-- rouilj
msg1852 Author: [hidden] (richard) Date: 2005-02-13 22:05
Logged In: YES 
user_id=6405

I have modified collision detection in 0.8 to only raise an error if: 
 
- the item was edited underneath the user, 
- there was a property edited that changes a value on the item, and 
- the edited property isn't a multilink, and the edit wasn't just an append. 
 
That means that the following cases won't generate a conflict: 
 
1. two users adding change messages (or attaching files) to the same 
    issue. 
2. two users resolving the same issue. 
 
Conflicts will be raised if: 
 
1. two users edit the status of an issue to different values. 
2. two users edit the "nosy" list of an issue to different values. 
3. one user *removes* a message from an issue while another adds a 
   change note (implementation detail - the first operation is an edit, the 
   second  an append - this could be changed but the code would get 
   ickier ;). 
 
If there is a conflict, the user is punted back to the edit page with an error 
message. The message would say something like "Edit Error: someone 
else has edited this issue (status). View their changes in a new window." 
where "(status)" is a generated list of the properties conflicting and "their 
changes" is a link to open the new window. 
 
History
Date User Action Args
2005-02-08 17:57:03rouiljcreate