Page MenuHomePhabricator

Update headers of the conflicting versions
Closed, ResolvedPublic3 Story Points

Description

Task
Update the headers of the two conflicting versions as shown in the mock:

Acceptance Criteria

  • The first line identifies the revision version as shown in the mock
  • The time indicator in the first row should always be a round number in the biggest displayable unit for times smaller than a day and never be smaller than 1 second.

Details:

For edits younger than 23 hours: Revision as of 1 second ago (and accordingly for 1 minute ago etc.)
For edits older than 23 hours: Revision as of 00:31, 24 August 2018 (and accordingly for other dates) This is the same format that diff pages use.
  • The second line shows the user name in the published version. Although the mock shows "user:xxx" this should be in the mediawiki default format, like on a regular diff page including links to talk pages and all other relevant links
  • On the user's version, the line says "Not published yet"
  • The third line on both sides contains the edit summary in brackets. Contrary to the mock, the text should be italic
  • If there's no comment the line is empty

Details

Related Gerrit Patches:
mediawiki/extensions/TwoColConflict : masterAdd missing "hours ago" time format to the header
mediawiki/extensions/TwoColConflict : masterUpdate headers
mediawiki/extensions/TwoColConflict : masterStreamline conflict header code
mediawiki/extensions/TwoColConflict : masterUse existing diff() method to calculate datetime difference
mediawiki/extensions/TwoColConflict : masterRework headers showing conflicting revision time and user name
mediawiki/extensions/TwoColConflict : masterAdd tests for "minutes/seconds ago" diff headline
mediawiki/extensions/TwoColConflict : masterReplace custom date/time concatenation with Language::userTimeAndDate
mediawiki/extensions/TwoColConflict : masterRemove current time from "Not published yet" message
mediawiki/extensions/TwoColConflict : masterReplace "version" with "revision" in header messages

Related Objects

Mentioned In
rESCC9e00fde2c56c: Add missing "hours ago" time format to the header
rESCCbcaf39c81343: Update headers
rESCCf3760376aa85: Add tests for "minutes/seconds ago" diff headline
rESCCb325a39d1159: Add tests for "minutes/seconds ago" diff headline
rESCC34a1b7bf2f58: Add tests for "minutes/seconds ago" diff headline
rESCC4490d1cfea2b: Rework headers showing conflicting revision time and user name
rESCC60934632f45a: Rework headers showing conflicting revision time and user name
rESCCcd0a17c1bd1d: Rework headers showing conflicting revision time and user name
rESCC4f246e61b19a: Update headers
rESCC7ab37863cc78: Rework headers showing conflicting revision time and user name
rESCC7c3db0fc179b: Rework headers showing conflicting revision time and user name
rESCC001a47c159f1: Rework headers showing conflicting revision time and user name
rESCC86711276001d: Use MediaWikiTestCase::getTestUser instead of User::newFromName
rESCC183ee0aeb45c: Rework headers showing conflicting revision time and user name
rESCC5cd722727f33: Use MediaWikiTestCase::getTestUser instead of User::newFromName
rESCC92c72903f750: Rework headers showing conflicting revision time and user name
rESCCac834adf7e54: Replace custom date/time concatenation with Language::userTimeAndDate
rESCC50d053e251dc: Replace custom date/time concatenation with Language::userTimeAndDate
rESCCf55e3ce5bacc: Remove current time from "Not published yet" message
rESCCdf365e19b5e5: Replace "version" with "revision" in header messages
rESCCdcfdca04b4ff: Rework headers showing conflicting revision time and user name
rESCCbd2478557305: Use existing diff() method to calculate datetime difference
rESCCb740321bc33a: Streamline conflict header code
rESCC7972155db863: Update headers
rESCCbc1d5646b0ee: Update headers
rESCC7c33be580ef7: Update headers
rESCC2f06560b0f45: [WIP] Update headers
rESCC85b88061712f: [WIP] Update headers
rESCC583e99e0c120: [WIP] Update headers
rESCCcc5fbd68085d: [WIP] Update headers
rESCCadeb4aea8c0c: [WIP] Update headers
rESCC364665ea422c: Rework headers showing conflicting revision time and user name
rESCC11a69040f2dc: Rework headers showing conflicting revision time and user name
rESCCef27e0ecb46b: Rework headers showing conflicting revision time and user name
rESCCcaececb5e295: Rework headers showing conflicting revision time and user name
rESCC8b5c9cfaa469: Remove current time from edit conflict header
rESCCac13be4f38dc: Remove current time from edit conflict header
rESCC3ce107ba5b02: Remove current time from edit conflict header
Mentioned Here
T202052: Change "save" to "publish" in all messages in the TwoColConflict interface

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a project: Design. · View Herald TranscriptAug 16 2018, 11:17 AM

Change 452382 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Remove current time from edit conflict header

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

Volker_E moved this task from Incoming to WMDE on the Design board.Aug 20 2018, 6:12 PM
WMDE-Fisch set the point value for this task to 1.Aug 21 2018, 9:59 AM

Thanks for pointing this out. These are very valid usability issues. I made a mock to adapt your suggestion to the current edit conflict layout in development. I'd appreciate your feedback if I understood your concerns right:

Notes
First line:

  • show whos revision this is
  • in the revision of the other user show how long the publishing is ago

Second line:

  • on the "other user's side" show the user name plus user page and talk page – what to see should be connected to the user's level (admin etc.)
  • on "your side" show "Not published yet"

Third line:

  • show the edit summary on each version

This is really awesome, thank you very much! I think the addition of the summary lines is very helpful, as well as the additional user links.

Remaining questions:

  1. The mock contains "user:abc". Is the "user:" prefix just part of the example and not meant to appear in the final product? Or is it the namespace and meant to be shown? The latter is typically not done on special pages. If it is, "User:" must be upper case, as well as localized (not in this mock as it is English anyway).
  2. In the line "user:abc (user | talk)" the first two links "user:abc" and "user" point to the same user page, I assume. This might be redundant.
    • "user:abc (talk)" might be enough.
    • Or stick to the common "user:abc (talk | contribs)‎" that is used on almost all other special pages.
  3. "as of 5 minutes ago" is especially nice because it avoids all problems with local timezone offsets. Just a minor question: Typically the conflict happened just a few seconds ago, sometimes even less than a second. What to show then?
Lea_WMDE renamed this task from Remove current time from edit conflict header to Update headers of the conflicting versions.Oct 2 2018, 10:58 AM
Lea_WMDE removed thiemowmde as the assignee of this task.
Lea_WMDE triaged this task as Normal priority.
Lea_WMDE updated the task description. (Show Details)
Lea_WMDE updated the task description. (Show Details)Oct 2 2018, 12:44 PM
Lea_WMDE updated the task description. (Show Details)
Lea_WMDE updated the task description. (Show Details)Oct 2 2018, 12:51 PM
Lea_WMDE changed the point value for this task from 1 to 3.
WMDE-Fisch updated the task description. (Show Details)Oct 9 2018, 1:13 PM
Andrew-WMDE moved this task from Sprint Backlog to Doing on the WMDE-QWERTY-Sprint-2018-10-09 board.

Change 465631 had a related patch set uploaded (by Andrew-WMDE; owner: Andrew-WMDE):
[mediawiki/extensions/TwoColConflict@master] [WIP] Update headers

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

Notes for @Andrew-WMDE and possibly WMDE-Design:

  • Linker::revUserTools is the function that combines the user and tools links in one call.
  • MediaWiki core provides messages for hours-ago, minutes-ago, and seconds-ago.
  • There is also an ago message we could use together with with the messages for days, weeks, months, and years. However, I suggest to not use these because conflicts that old are super-unlikely, but the code for this would be pretty complex. Instead, I would start showing the formatted date and time when a conflict happened more than 23 hours ago.

So we would have:

  • "1 second ago" to "59 seconds ago" (Note that <1 seconds are always shown as "1 second ago".)
  • "1 minute ago" to "59 minutes ago"
  • "1 hour ago" to "23 hours ago"
  • The normal "23:59, 10 October 2018" for everything after that.

@Hanna_Petruschat_WMDE, what do you think?

Please use this text schema for the header in the other user's column:

  • For edits younger than 23 hours: Revision as of 1 second ago (and accordingly for 1 minute ago etc.)
  • For edits older than 23 hours: Revision as of 00:31, 24 August 2018 (and accordingly for other dates) This is the same format that diff pages use.

Change 468579 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Streamline conflict header code

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

Change 468959 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Use existing diff() method to calculate datetime difference

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

Change 469397 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Replace "version" with "revision" in header messages

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

Change 469401 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Remove current time from "Not published yet" message

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

Change 469404 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Replace custom date/time concatenation with Language::userTimeAndDate

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

Change 469397 merged by Thiemo Kreuz (WMDE):
[mediawiki/extensions/TwoColConflict@master] Replace "version" with "revision" in header messages

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

Change 469401 merged by Thiemo Kreuz (WMDE):
[mediawiki/extensions/TwoColConflict@master] Remove current time from "Not published yet" message

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

Change 469404 merged by Thiemo Kreuz (WMDE):
[mediawiki/extensions/TwoColConflict@master] Replace custom date/time concatenation with Language::userTimeAndDate

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

Change 470461 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Add tests for "minutes/seconds ago" diff headline

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

Change 452382 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Rework headers showing conflicting revision time and user name

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

Change 470461 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Add tests for "minutes/seconds ago" diff headline

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

Change 468959 abandoned by Thiemo Kreuz (WMDE):
Use existing diff() method to calculate datetime difference

Reason:
Obsolete via I88c724e.

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

Change 468579 abandoned by Thiemo Kreuz (WMDE):
Streamline conflict header code

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

Change 465631 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Update headers

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

Lea_WMDE updated the task description. (Show Details)Nov 1 2018, 10:52 AM

Can you help me how I can test this? In the simulation there are no edit summaries, and the revision of the other side is from February, not really anything recent :)
Everything else looks good!

There is no way to have a summary line in the simulation, and we did not said we want to add one. There are a few ways to fix this:

  • We could add an input field for a summary line to the simulation special page. This is probably worth a few story points.
  • We could add a dummy summary line that's always the same when using the simulation special page (probably worth 1 point).
  • I could demo these summary lines via a quick hack on my laptop.

To test the "minutes/seconds ago" feature you can do an edit to the page shortly before you simulate a conflict.

Change 471048 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Add missing "hours ago" time format to the header

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

Change 471048 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Add missing "hours ago" time format to the header

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

Lea_WMDE closed this task as Resolved.Nov 5 2018, 8:41 AM
Lea_WMDE moved this task from Demo to Done on the WMDE-QWERTY-Sprint-2018-10-23 board.