Page MenuHomePhabricator

Create a SpecialPage to test edit conflicts with the TwoColConflict extension
Closed, ResolvedPublic

Description

Motviation
As a user of the TwoColConflict extension,
I want to test the new view without having to wait for a conflict to appear "naturally" and without following seemingly complicated steps for creating one artificially,
so that I can give feedback

Furthermore, this new edit conflict creator might help people who

  • want to practice edit conflict handling (e.g. newcomers)

Solution:
Create a SpecialPage that's available for beta users of the extension, where they can easily get a fake edit conflict to test the new interface.
This is how it should work: There are three pages:

  • Page 1: Creating the conflict
    • There is a revision of an article selected. Users have an input fields to make changes to the revision. The field is initially filled with the base revision
    • When they click on "Create conflict" (or similar) we automatically create a conflict with them, editing twice the same place they did (and maybe somewhere else, too). This should give them the more natural surprised feeling, not knowing what you will get into when having an edit conflict
    • Possibly: Users can change the base revision by pasting the url to the revision they want. The input field would have to update automatically
  • Page 2: Edit Conflict
    • The conflict as set up on page 1, shown through our TwoColConflict extension
  • Page 3: Wrap up
    • The users can see how the resolution would look like. Also, they get the link to the feedback page

There is never any actual saving happening.

Entry Points:

  • german and international page of the wish
  • on extension page
  • on extension feedback page

Open Questions:

  • What should be the SpecialPage's name?

Event Timeline

Should the user be able to influence the "input" for the emulated edit conflict (set the text for the "conflict diff")? Or do we just provide some random conflict?

Would that be hard to pass it some parameters to specify the article and revisions to compare?

Here are some mock-ups for a version 1 of this sequence.

Page 1

1 - Intro Blue.png (1×1 px, 300 KB)

Page 2

2 - Conflict Blue i.png (1×1 px, 123 KB)

Page 3

3 - Result.png (1×1 px, 496 KB)

Some notes:

  • we should use Earth as the article since it is a universal (haha) concept across languages.
  • button text changed when editing from "Save changes" to "Create conflict"
  • button text changed on Two column conflict from "Publish" to "Publish (simulated)"
    • maybe not the best, but accurate, close to original, and easy to change if we want
  • colors come from Wikimedia Style Guide
    • box background: #eaf3ff
    • box outline: #2a4b8d
    • smaller text (pages 1 and 3): #222
    • larger text (page 2): #2a4b8d
  • text sizes
    • pages 1 and 3: 1.6 times the size of normal article text
    • page 2: same size as article title, but sans serif
  • icon used on page 2 is the information icon from OOjs UI
    • colored: #2a4b8d

Potential Future Enhancements (if we determine these are things people want)

  • using a URL input field to allow testing conflicts with an arbitrary article/revision
  • seeing if something more than the resulting article would be useful and what that would be
Lea_WMDE added a project: WMDE-TechWish.
Lea_WMDE moved this task from Proposed to Todo on the WMDE-TechWish board.

If anyone want's to hack on this but needs help finding where to start, whom to speak with or similar – starting this week there is now a weekly Technical Advice IRC meeting open for all volunteer developers: https://www.mediawiki.org/wiki/Technical_Advice_IRC_Meeting

Change 374532 had a related patch set uploaded (by WMDE-Fisch; owner: WMDE-Fisch):
[mediawiki/extensions/TwoColConflict@master] [WIP] Add SpecialPage to test Two Column Edit Conflicts

https://gerrit.wikimedia.org/r/374532

@Charlie_WMDE @Jan_Dittrich I have created a first patch that introduces a SpecialPage to simulate edit conflicts. It's currently deployed on our test wiki https://tools.wmflabs.org/wmde-uca-test/core/index.php?title=Special:TwoColConflict

The workflow differes slightly from what is described in the ticket.

  • The first step is an input field to choose a page as base version to fiddle with. This is way more useful I think and was not hard to implement. So users can load a page here.
  • The second step is a text editor, where users can change the text of the page loaded
  • The third step is the conflict view. - To better simulate a real conflict and being flexible with the page the user chooses at the start, I generate a "fake conflict" by generating some fictitious changes someone else did on the base version. These fake changes are generated randomly by picking a random word from the original version and putting it in a random place on the conflicting version.
  • The last step would be the preview how the saved stuff would look like after resolving the conflict. This step can currently be reached by clicking Show preview in the conflict view. ( the interface will be more clean in the final version )

Tasks for UX:

  • Check the general layout and the hint texts. These would need improvements and some changes due to the new workflow.
  • Whats your opinion on the generated fictitious change? More random words in random places? Several random words glued together in a random place ( a random sentence in a random place )? 1 random word in a random place and 1 random sentence in a random place?
  • Do we have a good title for the SpecialPage? :->

Todos I already have on my radar:

  • fix the toolbar for the editor in the 2nd step
  • simplify the bottom of the conflict page. e.g.: removing the whole summary section having only an Show preview button
  • the text in the hintbox for the conflict page should be bigger and there should be the info icon

Thanks 😄

I would love to test the page, but the wiki seems to be rather flaky. It does not let me log in most of the time, and if it does it gets stuck when I create a conflict. Is the server super slow?

OK, now it works for me:

Page 1:

image.png (213×815 px, 11 KB)

Page 2:

image.png (540×936 px, 62 KB)

Page 3:

image.png (1×851 px, 214 KB)

Notes:

  • People need to come up with a Wikipage to test (page1). This is not super difficult, but it might make sense to provide a default here.
  • The first page gives a general info on the feature ("On this page you can try…") but it does not give any help on what to actually do on that page.
    • Suggestion:
      image.png (86×543 px, 5 KB)
      add description like "Title of the Wikipage which the edit conflict should be simulated for" (Principle: Form fields should always have a label)
  • On page 1, the primary button says "load base version". I think this is from the time when we wanted to provide many settings here (also on revisions)
    • Suggestion: Show edit page (we are not entirely sure on this one, but the suggestion is already better than the current)
  • On page 2, we have
    image.png (72×839 px, 6 KB)
    "Make what ever changes you would like below. They won't be saved. They will only be used to make an example edit conflict."
    • Suggestion: Change "They will only be used to make an example edit conflict." to "They will only be used to simulate an example edit conflict."
  • On page 3 we have this icon
    image.png (58×83 px, 1 KB)
    . Since it is not used in the other blue boxes before (and looks slightly off, probably due to scaling), I suggest to get rid of it.
  • On page 3 we have 2 preview buttons. Can we get rid of the light gray one?
  • After clicking "preview" we go to this page (page 4) . It has this really useful hint:
    image.png (127×585 px, 11 KB)
    However, people might not see the hint, since the motivation to clicking preview is low.
    • Question: Can we always offer the "right" preview that the user gets to see when resolving the edit conflict in real (since there is "old preview" and the new Wikitext editor preview, if I remember right? Because if we can't simulate a preview properly, we might get rid of the button.
    • tentative suggestion: Don't have 2 preview buttons. Have the "primary" (blue) button say: "simulate save changes". Because then, there would be a "final" action to do, and more people might come to the page with our feedback banner.

image.png (111×534 px, 17 KB)

The current version of the patch addresses all points from above:

People need to come up with a Wikipage to test (page1). This is not super difficult, but it might make sense to provide a default here.

Default is the main page as pre-filled value in the text box.

Question: Can we always offer the "right" preview that the user gets to see when resolving the edit conflict in real (since there is "old preview" and the new Wikitext editor preview, if I remember right? Because if we can't simulate a preview properly, we might get rid of the button.
tentative suggestion: Don't have 2 preview buttons. Have the "primary" (blue) button say: "simulate save changes". Because then, there would be a "final" action to do, and more people might come to the page with our feedback banner.

Yeah there is only one "real' preview here. I removed all other buttons and now we have one primary Simulate save changes button.

My remaining questions / hints to points in the current UI:

  1. On the page where the conflict is shown I have a fake entry for the fake edit done by the "other" user. There I have a fake username and a fake edit summary, Both are i18n-able and defaults are Conflict Test User‎ and Conflict test edit summary. Any other suggestions?
  2. Any comments on the generation of the "fake edit" content? ( see explanation above how it's done )
  3. Any ideas on the name of the special page? Currently it's just TwoColConflict

That's it from my side.

After a quick talk to @Jan_Dittrich :

1.: Sounds good and can stay like that.
2.: More complicated faking should not be necessary.
3.: We will go with something like "SimulateEditConflict".

Todo @Bmueller - Provide a text for the beta feature page with a link to the special page.

Current text there is Show the edit conflict view using a more advanced two column view.

Change 374532 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Add SpecialPage to test Two Column Edit Conflicts

https://gerrit.wikimedia.org/r/374532

Todo @Bmueller - Provide a text for the beta feature page with a link to the special page.

Current text there is Show the edit conflict view using a more advanced two column view.

Here comes the text for the beta feature page:

If you want to try out the Two column edit conflict view before using the beta feature, you can go to [[Special:SimulateTwoEditConflict|the test page]] where you can simulate an edit conflict under real life conditions in any article without messing anything up.

Change 382150 had a related patch set uploaded (by Andrew-WMDE; owner: Andrew-WMDE):
[mediawiki/extensions/TwoColConflict@master] New beta feature description text

https://gerrit.wikimedia.org/r/382150

Change 382150 merged by Tobias Gritschacher:
[mediawiki/extensions/TwoColConflict@master] New beta feature description text

https://gerrit.wikimedia.org/r/382150