Page MenuHomePhabricator

Step 1: Error messages: Edit conflict (on save)
Closed, ResolvedPublic8 Estimated Story Points

Assigned To
Authored By
Charlie_WMDE
Feb 5 2020, 2:13 PM
Referenced Files
F31716967: EditConflict_Mobile (1).png
Mar 31 2020, 10:15 AM
F31700016: EditConflict_Mobile.png
Mar 24 2020, 10:49 AM
F31700013: Edit_Conflict.png
Mar 24 2020, 10:49 AM
F31692261: T244361_Mobile.png
Mar 19 2020, 3:48 PM
F31692260: T244361_Desktop.png
Mar 19 2020, 3:48 PM
F31692254: T244361_Desktop.png
Mar 19 2020, 3:47 PM
F31692255: T244361_Mobile.png
Mar 19 2020, 3:47 PM
F31551990: onLoad_3.5editConflict.png
Feb 6 2020, 9:44 AM

Description

As an editor I want to be notified about edit conflicts in order to deal with them effectively.

Problem:
While someone is trying to make an edit in the bridge, someone else might make an edit to the same data, leading to an edit conflict. We need to handle this edit conflict. The generic save error screen (T248087) is not suitable for this: in this case, it doesn’t make sense to retry the save, and going back won’t fix anything either.

Screenshots/mockups

Desktop

Edit_Conflict.png (976×1 px, 35 KB)

Mobile

EditConflict_Mobile (1).png (1×750 px, 51 KB)

Please find design specs in this Figma artboard.

BDD
GIVEN a user is trying to edit a value in the bridge
AND someone else edited the same data
WHEN the user tries to save the edit
AND the API returns an edit conflict
THEN the edit conflict error screen is shown

GIVEN the edit conflict error screen is shown
WHEN the user clicks the reload button
THEN the page is purged in the background
AND the whole page reloads

Acceptance criteria:

  • edit conflict is detected and handled via error screen
  • clicking “reload page” reloads the whole page (bridge is no longer shown)
  • page is purged in the background as soon as the edit conflict is detected (but we don’t wait for the purge to complete)
  • The whole page reloads when clicking the X (same behavior as clicking the "reload page" button)

Event Timeline

Charlie_WMDE renamed this task from Error messages: on save. solvable. no report (3.5) to Error messages: on save. solvable. no report. edit conflict (6).Feb 12 2020, 5:34 PM
Charlie_WMDE updated the task description. (Show Details)
Charlie_WMDE moved this task from Incoming to Ready for story writing on the Wikidata-Bridge board.
darthmon_wmde renamed this task from Error messages: on save. solvable. no report. edit conflict (6) to Step 1: Error messages: on save. solvable. no report. edit conflict (6).Mar 18 2020, 4:29 PM
Sarai-WMDE renamed this task from Step 1: Error messages: on save. solvable. no report. edit conflict (6) to Step 1: Error messages: Edit conflict (on save).Mar 19 2020, 3:47 PM
Sarai-WMDE updated the task description. (Show Details)
Sarai-WMDE updated the task description. (Show Details)
Lydia_Pintscher set the point value for this task to 8.

From the discussion during task break down (sorry if we talked about this before): "when clicking the X the Bridge is closed" is surprising because on a successful save even the X does a reload of the page (in order for the user to see the new content). Should this not also be what we strive for in handling an edit conflict (arguably, the new content will not be theirs but the one their edit was in conflict with)?

/cc @Lydia_Pintscher @Charlie_WMDE

Hmmm that's a good point. I don't think we've noticed/discussed this inconsistency. Charlie, what do you say?

yes, that actually makes a lot of sense. looks like i overlooked this. should i add it to the ACs or should i make an extra ticket for this?

should i add it to the ACs or should i make an extra ticket for this

Amending the AC is fine IMO - we have the tools at hand to facilitate what needs to happen so it should not really impact complexity. Please add a NOTE: changed since initial task break down!, so we don't miss it when picking it up.

ello! How do i test for this? I tried opening the bridge in two tabs and making an edit in one of them, saving, then making an edit in the second one and saving again. both worked without a problem.

The only way we’ve found so far is to go to the item in the second tab and completely remove the statement that’s being edited in the first tab. (See also T252433, especially the “problem” section.)

Charlie_WMDE claimed this task.
Charlie_WMDE moved this task from Verification to Done on the Wikidata-Bridge-Sprint-20 board.

yay! looks good \o/