Feature #8691

Better handling of issue update conflict

Added by pasquale [:dedalus] about 6 years ago. Updated about 4 years ago.

Status:ClosedStart date:2011-06-27
Priority:HighDue date:
Assignee:Jean-Philippe Lang% Done:

0%

Category:Issues
Target version:1.4.0
Resolution:Fixed

Description

Redmine should be provide some handling of "mid-air collision" as in Bugzilla. Bugzilla does not lock records. It provides mid-air collision detection, and offers the offending user a choice of options to deal with the conflict: exit without push changes and push changes anyway.

For me this is a defect because cause dataloss, but I add it to tracker feature

bugzilla-approach.png (38 KB) pasquale [:dedalus], 2011-12-25 11:24

mid_air_collision_patch-20110131-trunk_r8743.patch Magnifier - patch for trunk r8743 (16.9 KB) Nayuta Taga, 2012-01-31 10:25

mid_air_collision_patch-20110131-tags_1.3.0.patch Magnifier - patch for tags/1.3.0 (17 KB) Nayuta Taga, 2012-01-31 10:25

mid_air_collision_patch-20110131-trunk_r8743-screenshot.png (12.1 KB) Nayuta Taga, 2012-01-31 10:31

conflict_resolution.png (10.4 KB) Jean-Philippe Lang, 2012-02-04 18:46


Related issues

Duplicated by Redmine - Feature #9292: "Data has been updated by another user." - Allow this to ... Closed 2011-09-21

Associated revisions

Revision 8774
Added by Jean-Philippe Lang over 5 years ago

Better handling of issue update conflicts (#8691).

History

#1 Updated by Etienne Massip over 5 years ago

  • Target version set to Candidate for next major release

#2 Updated by pasquale [:dedalus] over 5 years ago

attached bugzilla-approach.png as proof of concept

#3 Updated by Nayuta Taga over 5 years ago

I wrote a patch for this problem.
When "mid-air collision" happens, it shows a conflict resolution menu like:

    ----------------------------------------------------------------
    Feature #8691
    ----------------------------------------------------------------
    Another user's updates
    ----------------------------------------------------------------
    Updated by Foo Bar less than a minute ago                     #3
    ----------------------------------------------------------------
    note note note note ....
    note note note note ....
    note note note note ....

    +--------------------------------------------------------------+
    | (!) * Data has been updated by another user.                 |
    +--------------------------------------------------------------+
    +--------------------------------------------------------------+
    | Conflict Resolution                                          |
    | ( ) Throw away my changes, and show #8691                    |
    | (*) Submit only my new notes                                 |
    | ( ) Edit agein                                               |
    +--------------------------------------------------------------+
    | Notes                                                        |
    | +----------------------------------------------------------+ |
    | |my note my note my note my note ....                      | |
    | |my note my note my note my note ....                      | |
    | |my note my note my note my note ....                      | |
    | |                                                          | |
    | +----------------------------------------------------------+ |
    +--------------------------------------------------------------+
    [Submit] Preview

If you select "Throw away my changes, and show #8691",
the notes area will be hidden (by javascript) and
the submit button's text will change to "Show #8691".
The button works as same as the #8691 link.

If you select "Submit only my new notes",
you can submit notes only.
Other attributes will never be changed.
This menu does not appear if you wrote no note previously.

If you select "Edit agein", an full update interface is shown.

#6 Updated by pasquale [:dedalus] over 5 years ago

I have applied patch for 1.3.0 stable release and all works fine: some chance to land it on next 1.4.0 milestone?

#7 Updated by Jean-Philippe Lang over 5 years ago

  • File conflict_resolution.png added
  • Subject changed from Better handling of "mid-air collision" to Better handling of issue update conflict
  • Status changed from New to Closed
  • Assignee set to Jean-Philippe Lang
  • Target version changed from Candidate for next major release to 1.4.0
  • Resolution set to Fixed

Feature added in r8774. The proposed patch seems a bit overcomplicated on the controller side but the behaviour was almost preserved, with the option to apply changes anyway, like in Bugzilla.

#8 Updated by Nayuta Taga over 5 years ago

Thank you for fixing this issue. I'm looking forward to the 1.4.0 release.

#9 Updated by Josh Cox about 4 years ago

Is there any reason this wasn't implemented for the wiki pages as well?

#10 Updated by Jean-Baptiste Barth about 4 years ago

Josh Cox wrote:

Is there any reason this wasn't implemented for the wiki pages as well?

I don't think so, feel free to file a new feature request in a separate issue if you want (maybe look around before to see if there's not already an issue for that)

#11 Updated by Toshi MARUYAMA about 4 years ago

Jean-Baptiste Barth wrote:

Josh Cox wrote:

Is there any reason this wasn't implemented for the wiki pages as well?

I don't think so, feel free to file a new feature request in a separate issue if you want (maybe look around before to see if there's not already an issue for that)

For The Record: new issue #13999.

Also available in: Atom PDF