WMDE Technical Wishes/Edit Conflicts

From Meta, a Wikimedia project coordination wiki
Jump to: navigation, search

Improve the resolution of edit conflicts is wish #1[edit]

On the 2015 German Technical Wishes survey, improving the current way of resolving edit conflicts was wish #1 with 39 votes.

Users are especially unhappy with the current options of copying and pasting their own conflicting text chunks. Other suggestions included: Being notified if somebody has saved the page you are working on, or having a merge-like option of choosing between "mine" and "their" text chunks.

Research and prototype testing[edit]

Discussion of first ideas and usage research[edit]

In order to get a better understanding of the issues around edit conflicts, the WMDE's TCB team started conversations with interested editors on dewiki. First the team presented two versions of possible solutions as a basis for discussions. The discussions in German can be found here and here. The results of the first feedback round as well as of further research and conversations off-wiki can be found here. The plan is to introduce to first research results and invite to further discussions of possible solutions starting with the Wikimania in June: There was a session on Thursday, 6/23 at the Wikimania Hackathon and an "edit conflict and cookies corner" on Saturday, 6/25, 10-12 am at the WMDE booth in the community village.

Prototype ready for testing[edit]

Proposal for the new interface for edit conflict resolution (with java script)
Current interface for edit conflict resolution (August 2016)

During the Wikimania 2016 the TCB team gained valuable insights into how a solution for resolving edit conflicts should look like. Based on these learnings, the TCB team has created a prototype. We are looking forward to feedback!

How to test[edit]


We created a prototype to show the basic version that users without JavaScript would see. People who have JavaScript enabled would have some more features, as visible on the screenshot on the side. For comparison, you also find a screenshot of the current edit resolution screen on the side.


The article about the letter "C" has a section called "History". The section starts with:

C comes from the same letter as G. The Semites named it gimel.

For testing, please edit the section and put the C and the G in quotation marks. After saving the edit, you will have an edit conflict in the new interface.

Differences between the versions with and without JavaScript (ie. prototype vs screenshot)[edit]

The prototype shows the JavaScript-free version. This is the base version for all users. With JavaScript additional features are supported: In the left text field, users may choose which changes they want to see: Only their changes, only the changes of the other person or both changes at the same time. Furthermore, text that has not been edited by anyone would be collapsed and could be expanded if that is desired. The changes that would be added with JavaScript can be seen in the screenshot on the side.

Feedback about the prototype[edit]

The feedback round in German is happening here. English-language feedback can be given here on the discussion page.

Update: Diff display changed[edit]

We changed the display of the changes in the left column slightly, to better reflect the current way diffs are being displayed. The new prototype is linked above, and here. If you want to have a look at the old prototype, you can still find it here.

Results of Prototype Testing and Next Steps[edit]

Thanks to everyone who commented on the prototype! There was not only a request for feedback here on meta, but also in the German Wikipedia. The following are the conclusions that the TCB-team drew from both feedback rounds as well as conversations offline:

  • The vast majority appreciated the two-column layout for editing
  • People also liked the possibility to copy their own text, without also copying unwanted characters (such as plus and minus)
  • The highlighting of changed text in the textfield was also considered an improvement. There was also the request to equally highlight the changed text areas in the text editor in the right column.
  • One obstacle that was mentioned by many people was the difficulty of finding changed text if it is not in the initial viewport.
  • Another challenge is having three scrollable areas on one page (left column, right column, overall page). This could be especially difficult when using a mouse wheel.
  • People requested to be able to switch to Visual Editor view on the edit merge screen.

Please note, that this project is focused on improving the UI. This is why problems with the current diff engine (although noted) do not appear in this list.

Based on the feedback, the team decided to start with the realization of the wish. The new functionality will be implemented as a beta feature to enable easy testing before deciding if it is going to become a proper feature. The new edit merge screen will look similar to the prototype. Furthermore, we will attempt that both the box with the text area and the box with the text editor automatically jump to the first occurring merge conflict. Therefore, at least for the first conflict there should not be any problems in finding the appropriate position. Unfortunately, it is not possible to implement highlighting within the text editor in a reasonable time frame. The challenge to have three scrollable areas on one page has not been solved yet, but we hope to find an acceptable solution. Since the current edit merge screen does not work with Visual Editor either, we will also start with the source code version. As a second step we then plan to evaluate to what extend it would be possible to adapt the solution for visual editing.

Development: TwoColConflict Extension[edit]

Two column edit conflict - Screenshot

The first version (Beta Feature)[edit]

The Two Column Edit Conflict screen provides an alternative two-column view for the edit conflict resolution page. One column shows the conflicted text passages, another column shows a text editor with the latest version of the page. It highlights differences between the editor's and the conflicting change directly in the text field for an easy possibility to copy and paste desired pieces of the text and resolving the conflict.

When the edit conflict resolution screen appears, both the column with the conflicting text and the column with the text editor that shows the latest version automatically jump to the area where the first own edit occurs. Originally it was planned to automatically jump to the first occurring conflict, but the first conflict doesn't have to match with the first own edit. As people are especially interested in finding and copying their own text parts, jumping to the first own edit occurred to be more useful.

The Beta Feature provides an advanced option to choose between "my changes" and "your/my changes" as well as the option to hide all unchanged text. For this extra functionality, javascript must be enabled.

The team has started with the implementation phase of the "TwoColConflict extension" in October 2016. Starting in February 2017, the feature will be provided as a beta feature. As of February 2017, the extension has been deployed to mediawiki.org.


Once the beta feature is deployed, all logged-in users can enable the new view for edit-conflict resolution in their user preferences.


After enabled, whenever an edit conflict happens, the new two-column view for conflict resolution will appear.
You will see a box with the conflicting changes in one column and an editor with the currently saved version of the text in another column.


Inside the box containing the conflicting changes, both the conflicting text and your text is shown, and the differences between the two are highlighted.


When javascript is enabled, you can use buttons above the box which allow you to hide any unchanged parts of the text to make it easier to focus on the conflicting areas. Also you have the possibility to only show your text.


You can then copy and paste the desired parts of the text to the editor to adjust the version that should be saved.
Once you hit the "Save changes" button, the version from the editor will be saved.

Deployment roadmap[edit]

As a beta feature:

  • Mediawiki.org: February 6, 2017 Yes check.svg Done
  • Meta: February 13, 2017 Yes check.svg Done
  • Dewiki: February 14, 2017 Yes check.svg Done
  • Arwiki: February 21, 2017 Yes check.svg Done
  • Hewiki: Feruary 23, 2017 Yes check.svg Done
  • Other wikis: TBC/TBA