kuma: section edits - collisions

RESOLVED FIXED in 1.6

Status

RESOLVED FIXED
7 years ago
6 years ago

People

(Reporter: groovecoder, Assigned: lorchard)

Tracking

unspecified
x86
Mac OS X

Details

(Whiteboard: u=contributor c=wiki p=2 pa=4)

(Reporter)

Description

7 years ago
figure it out
(Reporter)

Updated

7 years ago
Target Milestone: 1.4 → 1.5
(Reporter)

Updated

7 years ago
Whiteboard: u=editor c=wiki p= → u=contributor c=wiki p=
(Reporter)

Comment 1

7 years ago
"Someone changed this section while you were editing, do you still want to save your revision?"

If no, discard.

If yes, save revision.

Future bug will give a nice UI to resolving section collisions.
Whiteboard: u=contributor c=wiki p= → u=contributor c=wiki p=2
(Reporter)

Updated

7 years ago
Target Milestone: 1.5 → 1.6
(Assignee)

Updated

7 years ago
Assignee: nobody → lorchard
(Assignee)

Comment 2

7 years ago
Progress:
https://github.com/mozilla/kuma/pull/46

Claiming a points-actual of 4, because the conflict detection and resolution process ended up exposing edge cases in at least 4 editing scenarios:

* Full-page editing
* In-line section editing
* New tab section editing
* Save-and-edit button
Whiteboard: u=contributor c=wiki p=2 → u=contributor c=wiki p=2 pa=4
(Assignee)

Comment 3

7 years ago
(Though, maybe it was more like 3pts, but it felt like a lot)

Comment 4

7 years ago
Commits pushed to https://github.com/mozilla/kuma

https://github.com/mozilla/kuma/commit/edd003edf9b67c05c2998b16be43541d09fe461b
Bug 688245 - kuma: section edits - collisions

* Added a "current_rev" field to RevisionForm

* Full page edit will result in conflict resolution UI if another edit
  arrives before submission

* Save-and-edit iframe submission escapes out to conflict resolution UI
  when conflict detected.

* Inline editor will bounce to full-page conflict resolution if the
  edited section conflicts.

* Inline editor will refresh the page if a section submission could be
  merged, but something else on the page changed.

* RevisionForm validation compares "current_rev" against the actual
  current revision ID for the document. If not equal, there's probably a
  conflict.

* If only a section is being edited, changed can be merged if the latest
  revision has the same section content as the original revision where
  editing began

* Current revision field added to edit_document template; omitted during
  conflict resolution so user can choose to overwrite

* Conflict resolution UI added to edit_document template, shows diffs in
  content like revision compare view.

* Current document revision tracked in document template; new message in
  document template for page refresh on section edit merge.

* Hidden form in document template, used to bounce user to full conflict
  resolution page when section edit conflicts.

* Raw content fetch now offers the current revision ID in a header

* Raw content edit submission will yield 409 Conflict status if a
  section edit would cause a conflict.

* Raw content edit submission will yield 205 Reset status if a
  section edit results in a merge.

* Utility method in Revision model for extracting a section from content

* Tests, tests, tests

https://github.com/mozilla/kuma/commit/f74cc70c85d28c342f66d22171f605478d6674e5
Merge pull request #46 from lmorchard/688245-edit-conflicts

Bug 688245 - kuma: section edits - collisions
(Reporter)

Updated

7 years ago
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
Version: Kuma → unspecified
Component: Website → Landing pages
Product: Mozilla Developer Network → Mozilla Developer Network
You need to log in before you can comment on or make changes to this bug.