Help:Extension:MassMessage

From Linux Web Expert

This is a help page for usage of the MassMessage extension. For installation instructions, please see the extension documentation page.

Creating delivery lists

There are several ways to create delivery lists for MassMessage:

Special page to produce delivery lists (MediaWiki 1.24 or later)

Note that creating delivery lists requires the user to have the "editcontentmodel" user right (see phab:T92795). On most Wikimedia projects, only sysops have editcontentmodel rights.

MassMessage includes a special page for managing delivery lists. To create a new delivery list, go to "Special:CreateMassMessageList" on your wiki. You can choose to create a new list, or to import pages from an existing delivery list (in any format). Pages can be directly added or removed one at a time when viewing delivery lists, and the Edit tab provides an interface for modifying the description and for adding or removing pages in bulk.

In the bulk editing interface, if your wiki is part of a wiki family, target pages on other wikis are specified in the format "title@site" (e.g. "Project:Noticeboard@en.wikipedia.org"). Pages on the local wiki with "@" in their titles are also specified in this manner to avoid ambiguity (e.g. "Foo@bar@mediawiki.org").

See a real example at Signpost subscription page.

Category delivery lists (MediaWiki 1.23 or later)

MassMessage can deliver messages to all pages in allowed namespaces in a given category. Simply specify the category (e.g. Category:Foo) as the delivery list when sending a message.

Parser function delivery lists

You can create a dedicated page containing a custom formatted list of recipients. The format of each username, project, etc. is as follows:

{{#target:Project:Noticeboard}}

In this case, the page name is "Project:Noticeboard". If you are on a wikifarm setup and wish to post to a page on another wiki, you would use:

{{#target:Project:Noticeboard|en.wikipedia.org}}

This example would post to "Project:Noticeboard" on en.wikipedia.org.

See a real example at Tech News subscription page.

Wikidata MassMessage tool

For Wikimedia wikis, you can use Wikidata MassMessage tool to generate a list of wikipages, based on Wikidata items, ready and formatted as a delivery list for MassMessage.

Sending a message

Go to "Special:MassMessage" on your wiki.

  1. The first input box is for the delivery list. Type in the full page name of the list you created in the previous step.
  2. Next is the subject of the message, which will also be used as the edit summary. For this reason, it is limited to 240 bytes.
  3. Next up, is the body of the message. This field accepts any valid wikitext, but it may warn you if it notices bad input. See #Input checking
  4. Finally, we have the page to be sent as a message. This field accepts the name of the page, whose contents will be sent as a message to the users in the delivery list. If the body of the message is also provided, then the message will be appended at the end of the page content.
  5. If a page has been selected to be sent as a message, the section of the page control allows you to send a section of the selected page instead of the entire page. This control is a dropdown list that will populate with the list of sections in the selected page, once you hit the Preview button. Sections in the selected page are identified via the <section begin="hello" /><section end="hello" /> tags.
  6. Hit Preview. This will load a preview of how your message will look on an example page.
  7. You can now either modify the message and preview it again, or if you are satisfied with your message, hit send. This will queue your delivery.
  8. You can visit "Special:Statistics" on your wiki to view how many messages are still queued in the job queue.

Note that the default configuration will automatically convert all user pages into user talk pages—if you specify "User:Foo" in a delivery list, the message will be posted to "User talk:Foo". Also, note that if you sign the message with a normal signature (~~~~), the username of the bot (User:MediaWiki message delivery) will appear; to prevent this, mimic a normal signature by linking to your user page and adding a timestamp: [[User:Example|]] ([[User talk:Example|talk]]) ~~~~~.

Sending a translated message

See Newsletters/Translation#Regular process for instructions on how to send a message that has been translated into many languages.

Sending a translated page as message

Using the Page to be sent as a message field (referred to as message page from here on) it is possible to send a page translated via the Translate extension as a message to pages listed in the delivery list. Select the source page as the message page, preview and then hit send. The source page is the base page under which all the translation pages reside as subpages. For example, if you've marked a page TechBlog for translation, then TechBlog is the source page, and TechBlog/fr is the French translation, TechBlog/es is the Spanish translation and so on.

Each target page on the delivery list will receive the message in,

  • The page content language of the target page, if the message page has been translated into that language.
  • The fallback language, if the message page has been translated to that language. For example, if the page content language of a target page is pt-br, but the message page has not been translated to pt-br, then the pt version of the message page will be posted on the target page.
  • The source language of the page. This is the language from which the page is translated to other languages.
The Translate extension need not be installed on the wiki where the target page is present.

Choose a section of (translatable) page as a message or subject

It is possible to send sections of a (translatable) page as a message or subject to pages listed in the delivery list.

Sections in a page can be marked by using the <section> tags. Section markup syntax is the same as with Labeled Section Transclusion. Example:

<!-- Has two sections: subject and body. -->
<!-- This page is marked for translation -->
<section begin="subject" />
<translate>
<!--T:1-->
Subject section
</translate>
<section end="subject" />
<section begin="body" />
<translate>
<!--T:2-->
Message section

<!--T:3-->
This is the body of the message that will be sent to the user.

<!--T:4-->
Can we handle this?
</translate>
<section end="body" />

Once a page is selected to be sent as a message, and the preview button is clicked, these sections will appear in the drop-downs:

  • Section of the page to be sent as subject
  • Section of the page to be sent as message

Select the appropriate section in each to send that as a subject or message.

File:MassMesage Screenshot of section being sent.png
Sections from a page selected to be sent as message and subject

When a section of the page is selected to be sent as subject then,

  • Any custom subject provided will be ignored.
  • Tags and newlines from the subject section will be stripped during the message delivery.

If a translatable page is selected to be sent as a message, this would allow localized subject and message to be delivered to the target page. Read Help:Extension:MassMessage#Sending_a_translated_message to understand how the target delivery language is determined.

Customizing

Each wiki from which messages are sent can require a footer to be added by editing "MediaWiki:Massmessage-message-footer".

Each wiki that receives messages, can edit "MediaWiki:Massmessage-hidden-comment" for similar functionality.

Input checking

MassMessage attempts to check your input for common errors like improperly closed HTML tags. Currently, the following checks are in place:

  • improperly closed HTML tags (requires JavaScript, shown immediately); and
  • unescaped language links (e.g., [[de:Page name]], shown on preview).

Opting out

Any MassMessage delivery requires an input list, so removing yourself from whichever input list was used is the most straightforward way to opt out of a particular subscription. Usually the message being delivered will include an "unsubscribe" or "wrong page?" link.

If you want to exempt a page from any and all MassMessage deliveries, you can add the page to Category:Opted-out of message delivery. This string is localized (via MediaWiki:Massmessage-optout-category) and may be customized on your wiki, so check what the value of the page "MediaWiki:massmessage-optout-category" for the exact exclusion category being used locally.

If you want to exempt an entire wiki from any and all MassMessage deliveries, you can block the account used to deliver messages (on Wikimedia wikis, this account is "MediaWiki message delivery"). Blocking MassMessage deliveries would likely be considered highly disruptive. Be careful. Deliveries that were aborted due to the block (or any other restriction such as page protection) will be logged at Special:Log/massmessage.

Monitoring

You can use Special:Log/massmessage to monitor the tool. You can also visit Special:Statistics to see how many queued messages there are (if any).

See also