Page MenuHomePhabricator

Notify the user on the first incomplete translation
Open, MediumPublic

Description

Users that start working on the first translation but leave the page may not be aware on how to get back to it. That could happen especially if users get into the translation editor from the beta campaign (T89701) or they are not aware of the auto-save mechanism (assuming the work was lost).

Proposed solution

Send a notification when a user leaves the tool with the first translation incomplete. The goal is to (a) inform the translation was saved, (b) make them familiar with the path to retrieve them (i.e, the path through the contributions entry point users may not be aware of), and (c) encourage users to keep translating.

cx-notif-immediate.png (97×502 px, 15 KB)

  • Text copy: "Your translation for <page-name> was saved. Continue anytime from your contributions page, and publish it when it’s ready."
  • Main action (opening the notification): leads to the translation dashboard showing the in-progress view.
  • Secondary action: "Your contributions" leads to Special:Contributions

We need to make sure that the notification is sent when there is a high confidence that the user left the draft editing and it is not conflicting with the notification of first-time publishing (e.g., the 1st publish notification replaces it if it was not read)

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.Jul 23 2015, 5:18 PM
Amire80 set Security to None.

This comment illustrates a case where the user left an incomplete draft without knowing the draft remain saved and thought the work was lost.

Pginer-WMF added a subscriber: santhosh.

We need to make sure that the notification is sent when there is a high confidence that the user left the draft editing and it is not conflicting with the notification of first-time publishing (e.g., the 1st publish notification replaces it if it was not read)

@santhosh do you know if there is a way for sending this notification when the user leaves the 1st translation incomplete in a reasonable reliable way?

The information we need to accomplish this are

  1. In a translation session - the number of translations that the user did so far - cxtranslatorstats API(example) will give that .
  2. When user is leaving the translation with 'in progress' status, if the translation count ===0 , we need to add a notification ContentTranslationStorage.prototype.onPageUnload is the handler for the bodyunload. But I dont see a way to trigger a notification from client side. Anyway, doing stuff on window.bodyunload is not nice and not reliable.

Alternatively, we can have a scheduled maintainance job that does this: For users with 0 translations and time difference between last updated unpublished translation and now is 10 hours(for example) we can trigger that notification, The notification should not sent more than once. Such a maintainance job can be expanded to remind translators about translations that are in draft status for months or so.

We could also insert a delayed job (Job::getReleaseTimestamp) when a draft is saved and published count is zero. With appropriate de-duplication of course.

Such a maintainance job can be expanded to remind translators about translations that are in draft status for months or so.

That would help with T89707: Encourage users to publish old inactive unpublished translations, but for that specific case we need to have some additional considerations: (a) make sure that very old drafts load fine, and (b) determine what to do for old drafts for which target article now already exists (which we don't want to encourage overwriting with an old version).