Help:Extension:MassMessage
This is a help page for usage of the MassMessage extension. For installation instructions, please see the extension documentation page.
Creating delivery lists
editThere are several ways to create delivery lists for MassMessage:
Special page to produce delivery lists (MediaWiki 1.24 or later)
editNote 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)
editMassMessage 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
editYou 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
editFor 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
editGo to "Special:MassMessage" on your wiki.
- The first input box is for the delivery list. Type in the full page name of the list you created in the previous step.
- 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.
- 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
- 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.
- 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. - Hit Preview. This will load a preview of how your message will look on an example page.
- 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.
- 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
editSee 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
editUsing 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 topt-br
, then thept
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.
Choose a section of (translatable) page as a message or subject
editIt 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.
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
editEach 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
editMassMessage 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
editAny 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
editYou 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).