mozilla / bedrock

Making mozilla.org awesome, one pebble at a time
https://www.mozilla.org
Mozilla Public License 2.0
1.17k stars 912 forks source link

Add signal handler to alert when translations land, so they can be published #14934

Open stevejalim opened 1 month ago

stevejalim commented 1 month ago

We need to set up some kind of notification when we the CMS gets new translations from Smartling. This is particularly important because unless the option is ticked to immediately publish the localized page after syncing, the live pages remain unchanged and there's currently no UI indication that they have had new translations land. (See https://github.com/mozilla/wagtail-localize-smartling/issues/19)

Either way, we need a robust way to let the right people know that translations have landed, particularly if there then needs to be a follow-up action such a publishing the page(s).

To be discussed/decided:

  1. Who gets notified of a page's translations being updated?

    • The last editor?
    • Everyone who has edited the original/source page?
    • All Editors?
    • All moderators?
    • All members of some other group we could create - TBD (Note that l10n managers will have recently released the finished job at the Smartling end, but we likely can't expect them to rummage in the CMS UI as well)
  2. What's the best channel to use?

    • Email notification to the individual(s)?
    • Slack notification to a dedicaated channel (eg #www-cms-l10n) - can we guarantee the people in that channel know the content well enough to know it's ok?
    • In-CMS notification the next time they log in (I doubt this is available out of the box, but we could write/integrate something if it came to it)
stevejalim commented 1 month ago

@alexgibson @pmac @stephaniehobson What do you think about this issue? Opinions and suggestions are very welcome. We haven't gone very far into defining workflows and roles yet, so this is all new territory.

alexgibson commented 1 month ago

I guess my immediate question is: what kind of review have the translations had prior to being released from Smartling, and by who (l10n managers)? And then: what kind of review do they need when viewed in the CMS prior to being published? Answering this probably gives us a good enough answer for who needs to be notified.

As for the notification: something in the CMS makes the most sense to me, and then probably an email after that. I think in Slack, things might get lost / missed if we have a lot of translations landing?

stevejalim commented 1 month ago

I guess my immediate question is: what kind of review have the translations had prior to being released from Smartling, and by who (l10n managers)?

My understanding is that @peiying2 will sign off on the Smartling end in order to Publish the translations. Is that right @peiying2?

stevejalim commented 1 month ago

And then: what kind of review do they need when viewed in the CMS prior to being published? Answering this probably gives us a good enough answer for who needs to be notified.

This I do not know. With Contentful, Smartling strings went straight into pages, but I can't remember if they had to be manually published after that.

With Fluent strings in non-CMS views, am I right that they basically just flow into bedrock with no need for QA by the Websites team, and if the activation threshold is met, the page is available in that locale @alexgibson ?

alexgibson commented 1 month ago

With Fluent strings in non-CMS views, am I right that they basically just flow into bedrock with no need for QA by the Websites team, and if the activation threshold is met, the page is available in that locale @alexgibson ?

That's right, as soon as the l10n team review and approve the changes they go live. but (I believe) a part of that process involves previewing the translations on www-dev (at least for Pontoon). I guess the question is: is no website team QA OK for wagtail translations, or is there a need for any additional checks when thing come back? (e.g. page translations may contain different links to en pages, possible formatting errors etc).

stephaniehobson commented 1 month ago

Another consideration is that we might want to group publishing translations. For example: if we add a new product page, and then link to it from the products index page, we need both of those changes to go live at the same time - even if the translations finish separately.

The person who wrote the content originally is probably the best judge of that, though expecting that level of L10n forethought might be expecting too much from someone who just learned to use a CMS.

stephaniehobson commented 1 month ago

Ideally we have editors and moderators for sections of the site defined, so if a translation is made to Foundation content only Foundation editors/moderators (whatever we decide is the right number of people) get pinged, likewise changes to Marketing content go to Marketing for review & approval, etc, etc.

There will probably some content which only has one editor and so the websites team would have to be moderator for that area... assuming we want to keep the same "if you wrote it you can't publish it" rules that we have in other places (like Git).

stephaniehobson commented 1 month ago

Channel wise I think a group Slack channel is the wrong way to notify for this. A direct message might be more useful but that's basically just email for people who don't check email. So, I guess I'm voting email.

I do like the idea of a CMS notification when they log in to make it fast/easy to find the content to review & approve.