Page MenuHomePhabricator

Create MassMessage simulation tool for crosswiki preview
Open, LowestPublic

Description

MassMessage currently provides a great mechanism for delivering a message to a list of subscribers across wikis.

In the case of multilingual message delivery, the current process involves assembling existing translations and wrapping them into a big {{#switch}} statement that only posts the message in each wiki's content language.

There are plans to make MassMessage more translation-aware (see T56839: More support for translations / messages in many languages), which would make the multilingual delivery process easier and also solve other limitations of the current systems (like T85461: Lua error: too many language codes requested).

The interface for sending messages allows the user to preview the message before sending it; however, even if MassMessage becomes smarter about assembling and delivering translations, the preview will remain local, i.e. it will stay in the context of the wiki you're sending from. While this preview is great, it's not sufficient if you want to check that the message works well on different target wikis that use other languages, directionality, etc.

To take a specific example, every week I send Tech News, a multilingual newsletter. Because there are hundreds of subscribers, I always perform a test run to a few of my personal talk pages on different wikis. This is cumbersome and clutters talk pages, and at the same time it's not as good as a real preview on the actual target pages.

I'm imagining a Labs tool that would simulate the delivery of a newsletter to a set of target pages across wikis. The tool could be linked to from the MassMessage interface and work like this:

  • The user goes to Special:MassMessage and enters their title, list of target pages, and message, as usual.
  • A "global preview" (or similar) link is added to the MassMessage interface, pointing to the Labs tool.
  • The tool takes the newsletter's message, uses the MediaWiki API to parse the message in the context of a subset of the target pages, and displays the results.
  • Different approaches could be envisioned for the subset of target pages. For example, the default could be a list mixing family, language and directionality. It could also be a subset using one page on each target wiki. It could be a customizable list using checkboxes to select which of the target pages to test on.

These are my initial thoughts. Feedback is appreciated. I feel this would make the act of sending multilingual mass messages less scary, and less likely to result in the manual fixing of typos across hundreds of pages (which has happened to many MassMessage senders at least once).

Event Timeline

gpaumier claimed this task.
gpaumier raised the priority of this task from to Medium.
gpaumier updated the task description. (Show Details)

I somehow doubt this is going to be really easier than the actual solution, T56839. Translate offers web APIs and sets page properties correctly, so most of the work is done already.

I somehow doubt this is going to be really easier than the actual solution, T56839.

T56839 (which I mentioned above, and which I'm impatient for) is about having MassMessage assemble and deliver the translations directly, without needing that big #switch statement.

This proposal is about previewing the message in its target wiki's environment, which is different. Even with translation-awareness, MassMessage won't be able to tell you if a link is going to be red on a target wiki, for example.

Even with translation-awareness, MassMessage won't be able to tell you if a link is going to be red on a target wiki, for example.

Oh, sure. I only meant "actual solution for the error-prone huge #switch". :)

Oh, sure. I only meant "actual solution for the error-prone huge #switch". :)

Ah, yes, we definitely agree on this :)

gpaumier removed a subscriber: MassMessage.

Removing hackathon tag since budget constraints make it unlikely that I'll be there.

gpaumier lowered the priority of this task from Medium to Lowest.Mar 27 2015, 3:21 PM

@gpaumier: This issue has been assigned to you a while ago. Could you please share a status update? Are you still working (or still plan to work) on this issue? Is there anything that others could help with? If you do not plan to work on this issue anymore, please remove yourself as assignee (via Add Action...Assign / Claim in the dropdown menu) so others could work on it. Thanks a lot!

gpaumier subscribed.
gpaumier unsubscribed.