Github mirror of MediaWiki extension MassMessage - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing
转到文件
Translation updater bot 370f247791 Localisation updates from https://translatewiki.net.
Change-Id: I2d4e05cf4ef1b250c1618d27d815d6ab323b3a40
2024-03-27 07:23:49 +01:00
.phan Use the namespaced Title class instead of relying on class_alias 2023-05-02 18:36:47 +08:00
i18n Localisation updates from https://translatewiki.net. 2024-03-27 07:23:49 +01:00
includes SECURITY: Use message label instead of sanitized text output for massmessage-form-page-help message 2024-01-18 10:03:26 +00:00
maintenance phpcs: Enable MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment and make pass 2023-08-19 01:39:47 +00:00
modules MassMessage.special.js: Guard against script errors for unprivileged view 2023-07-04 19:08:53 +01:00
tests/phpunit tests: Add @group Database and use namespaced Status 2023-09-21 20:29:16 +02:00
.eslintrc.json Convert modules to use packageFiles 2021-10-08 03:16:07 +00:00
.gitignore Fix typo: "a a" -> "a", update gitignore with OS X tempfile 2020-03-11 21:12:18 +05:30
.gitreview Whoops, track not trace 2016-10-24 17:02:55 -07:00
.phpcs.xml phpcs: Enable MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment and make pass 2023-08-19 01:39:47 +00:00
.stylelintrc.json build: Update linters 2018-02-04 22:08:24 +00:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.4.0 2018-09-01 05:24:58 +00:00
COPYING Add COPYING 2014-01-16 02:35:21 +00:00
Gruntfile.js eslint: Remove linting exceptions 2020-09-06 21:00:50 +01:00
MassMessage.alias.php MassMessage: Special page aliases should not store in zh 2023-04-05 02:25:41 +00:00
MassMessage.i18n.magic.php Setting aliases of Special:MassMessage, CreateMassMessageList, EditMassMessageList & magic word 'target' for Urdu Language 2017-10-09 18:34:32 +00:00
README.md Add a config that marks targets as pre-validated for message delivery 2022-12-27 21:59:38 +00:00
composer.json build: Updating dependencies 2023-04-29 06:51:14 +00:00
extension.json Use HookHandlers for core hooks 2023-09-28 20:37:24 +00:00
package-lock.json build: Updating npm dependencies 2023-06-03 00:23:25 +00:00
package.json build: Updating npm dependencies 2023-06-03 00:23:25 +00:00

README.md

MassMessage

MassMessage is a MediaWiki extension that lets you easily send a talk page message to a large number of users at once. The extension also works over "wikifarm" setups.

Configuration

$wgNamespacesToPostIn = [ NS_PROJECT ];

This limits the extension to only posting in talk namespaces (by default) and the Project: namespace.

$wgNamespacesToConvert = [ NS_USER => NS_USER_TALK ];

This allows a user to specify a page in the User: namespace, and the extension will automatically convert it to the User talk: namespace.

$wgAllowlistedMassMessageTargets = [];

This is used to specify page IDs for pages that if targeted by a MassMessage will have all but the 'MassMessage exclude category' check bypassed. For example, adding the Main Page (with ID 1) to this list allows MassMessage to post there even if messages can't be posted to the mainspace.

$wgMassMessageAccountUsername = 'MediaWiki message delivery';

The account name that the extension will post with. If this is an existing account, the extension will automatically take it over.

$wgAllowGlobalMessaging = true;

Whether to enable sending messages from one wiki to another. Can be disabled on all wikis except one "central wiki" which will keep the log entries in one location.

$wgMassMessageWikiAliases = [ 'foo-old.example.org' => 'foowiki' ];

A mapping of domain names to their database name. Useful if you have moved or renamed a wiki and need previous input lists to continue working.

Messages are delivered using the job queue. It is recommended that you set up a cron job to empty the queue rather than relying on web requests. You can view how many MassMessage jobs are still queued by visiting Special:Statistics on your wiki (under "Other statistics" in the table).

Usage

Messages are delivered using Special:MassMessage, and can be used by anyone with the massmessage userrights, which is given to the sysop group by default.

You will be allowed to preview how your message will look, after which a "Submit" button will appear.

The form requires three different fields:

Input list

The input list provided to the special page must be formatted using a custom parser function.

In the example below, the target page is [[Project:Noticeboard]] on your local site.

{{#target:Project:Noticeboard}}

In this one below, the target is [[User talk:Example]] on the "en.wikipedia.org" domain.

{{#target:User talk:Example|en.wikipedia.org}}

Subject

The subject line will become the header of your message, and is also used as the edit summary. For this reason, it is limited to 240 bytes.

Body

The body is the main text of the message. You will be automatically warned if your message is detected to have unclosed HTML tags, but it will not prevent message delivery.

Wikis can choose to add an enforced footer by editing the massmessage-message-footer message. In addition to that, a hidden comment will be added containing the user who sent the message, what project it was sent from, and the input list that was used. That comment can be modified by editing the massmessage-hidden-comment on the target site.

License

MassMessage is licensed under the GNU General Public License 2.0 or any later version. You may obtain a copy of this license at https://www.gnu.org/copyleft/gpl.html.

Credits

A full list of contributors can be found in the version control history. The MassMessage extension is based off of code from the TranslationNotifications extension. Thank you to MZMcBride for helping with the design and implementation of this extension.

Many thanks to the users on TranslateWiki who translated the extension.