Page MenuHomePhabricator

Use the original version for source articles when the most recent one cannot be properly mapped
Closed, ResolvedPublic

Description

Users trying to continue a translation may found that some of the paragraphs are misplaced when the translation is loaded without an apparent reason, generating confusion. This is produced because the source article changed and they no longer match the paragraphs stored in the translation.

Trying to use the updated source is useful for the user to consider the latest content, but for the cases where the content cannot be mapped it would be preferred to fallback to the original version of the article that was used when the initial translation was started.
That is, if CX cannot map all the paragraphs when restoring a translation, load the article revision that was available when the translation was started.

Design details

Considered design goals:

  • Don't force a choice. Most of the time users will be interested in completing their translation and publishing it.
  • Inform the user about the issue. We want to let the user know the article changed to avoid the user to have to check or to get surprises after publishing it.
  • Inform of the possible paths forward. It is totally ok to just continue the translation, but users can consider starting it again if that is what they want.

Proposed approach:

  • When it is not possible to map the translated content with the translation, load the original version automatically.
  • Show a warning: "This translation is based on an older version of the content. The source page may have changed significantly. You can continue this translation or start it again to use the updated content."
  • (If it is easy to implement) Make the "may have changed significantly" part of the message a link to the diff that compares the loaded revision with the current one, so that users can get an idea of what changed.

This is illustrated below:

abusefilter-outdated.png (768×1 px, 375 KB)

Related Objects

Event Timeline

Pginer-WMF raised the priority of this task from to Needs Triage.
Pginer-WMF updated the task description. (Show Details)
Amire80 triaged this task as Medium priority.Jan 24 2016, 10:35 AM
Amire80 subscribed.

Yes, it would be much better. Could resolve many of the loading issues.

(We may want to show some kind of a message that says that not the latest version is being translated, but it's not very important.)

Amire80 raised the priority of this task from Medium to High.Feb 2 2016, 8:06 PM
Amire80 moved this task from Needs Triage to CX8 on the ContentTranslation board.

Change 269111 had a related patch set uploaded (by Santhosh):
Add support for loading a given revision of page

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

Change 269111 had a related patch set uploaded (by Santhosh):
Add support for loading a given revision of page

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

Pginer-WMF subscribed.

I added design details in the description of the ticket. Basically the idea is to show a warning message explaining that the source changed and the ways to move forward:

abusefilter-outdated.png (768×1 px, 375 KB)

Change 268645 had a related patch set uploaded (by Santhosh):
Restore the saved translation from cxc_corpora table

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

Change 269111 merged by jenkins-bot:
Add support for loading a given revision of page

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

Change 268645 merged by jenkins-bot:
Restore the saved translation from cxc_corpora table

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

Arrbee moved this task from QA to Done on the LE-CX8-Sprint 3 board.

We discussed about this and considered to apply this approach a bit more widely: not only when the article changes heavily (i.e., we cannot map any of the paragraphs in the translation) but as soon as we cannot map a single paragraph. In that way we would reduce the cases where users are exposed to orphan sections (there is still an edge when templates that get updated, but that should be less common). @santhosh is planning to create a following task to capture this.