WMDE Technical Wishes/Edit Conflicts
- 1 Improve the resolution of edit conflicts is wish #1
- 2 Research and prototype testing
- 3 Testing with the test page
- 4 Development: TwoColConflict Extension
Improve the resolution of edit conflicts is wish #1
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
Discussion of first ideas and usage research
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.
During the Wikimania 2016 we've gained valuable insights into how a solution for resolving edit conflicts should look like. Based on these learnings, we created a prototype and asked for feedback.
- The prototype
- The scenario
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.
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
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.
Testing with the test page
As edit conflicts don't occur very often, it is hard to test the new interface and gather feedback to further improve it. This is why we're providing a test page on each wiki, where edit conflicts can be simulated under real life conditions. You can go to Special:SimulateTwoColEditConflict to test the new interface.
Feedback round from October 12 to November 9
After we've implemented the test page, we've asked for feedback on
Summary of the points that got mentioned several times:
- It is hard to find own changes.
- It is not clear which column is going to be saved so it is hard to figure out which version I should edit.
- It should be easier to merge conflicting changes.
- The selection of the base version is too complicated.
In addition, several problems got mentioned once. Several concrete ideas for improvements were made and also positive feedback was made, e.g. that the new two-column design requires less scrolling than the old design.
The feedback will be reviewed in detail by the team and we'll look into possible next steps.
Thanks to everyone who shared their feedback!
We will keep the test page for longer, so that more people can tryout the functionality.
Development: TwoColConflict Extension
The first version (Beta Feature)
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 team has started with the implementation phase of the "TwoColConflict extension" in October 2016. As of May 10, 2017, the feature is available for testing on all wikis.
- The workboard on Phabricator
- The help page and the central feedback page for bug reports and suggestions for improvements of the beta feature on Mediawiki.org
- The central project page in German language on deWP
- The extension manual
All logged-in users can enable the new view for edit-conflict resolution in the beta feature section of their user preferences.
This page helps you to resolve an edit conflict.
Inside the box containing the conflicting changes, both the conflicting text and your text is shown, and the differences between the two are highlighted.
The second column is an editor. When the page is opened, there is a selection box on top of the editor. It lets you decide which version should be in the editor. This is often the version where more changes were made.
Copy and paste the desired parts of the other version into the text in the editor.
As a beta feature:
- Mediawiki.org: February 6, 2017 Done
- Meta: February 13, 2017 Done
- Dewiki: February 14, 2017 Done
- Arwiki: February 21, 2017 Done
- Hewiki: Feruary 23, 2017 Done
- Fiwiki: April 12, 2017 Done
- All other wikis: May 10, 2017 Done