Release status: stable
|Implementation||Special page, User activity, Hook|
|Description||Enhanced recent changes patrol interface with workload sharing|
|Latest version||2.1.0 (2017-01-18)|
|License||GNU General Public License 2.0 only|
|Translate the Patroller extension if it is available at translatewiki.net|
|Issues||Open tasks · Report a bug|
The Patroller extension adds an enhanced recent changes patrol interface to MediaWiki. It was written in June 2006 by Rob Church for use on Wikimedia web sites, and adopted in September 2015 by Developaws, and requires MediaWiki 1.32+. The interface filters incoming edits, prevents users from patrolling their own edits, and shares the workload between patrollers.
The extension adds a new special page; "Special:Patrol", accessible to users with the patroller user permission assigned. By default, this will be any sysop, but you may wish to customise the configuration in LocalSettings.php, e.g. to grant access to autoconfirmed users or a custom group.
- Download and place the file(s) in a directory called
- Add the following code at the bottom of your
wfLoadExtension( 'Patroller' );
- Run the update script which will automatically create the necessary database tables that this extension needs.
- Customize as desired.
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
The extension adds a new permission named patroller. Use this to grant access to different user groups, e.g. to grant access to all autoconfirmed users, add the following to "LocalSettings.php", under the call to add the extension:
$wgGroupPermissions['autoconfirmed']['patroller'] = true;
To customize the list of pre-defined revert reasons, edit the "patrol-reasons" message. Reasons appear one per line, in a bulleted list.
You will be presented with three options:
- Endorse - accept the edit and mark it as patrolled
- Revert - reject the edit and undo the changes it makes
- Skip - ignore the edit
After selecting the operation to perform, another change will be produced for review.
When reverting, a custom reason can be entered in the text field, or a pre-defined reason can be used. If no custom reason is provided, then the currently selected pre-defined reason is used as the edit summary for the corresponding reversion.
The extension shares the patrol load by temporarily storing a key to the recent change in a memory-based table, alongside a timestamp recording the time of assignment. While a change has a corresponding row in this table, it is not presented for review.
Rows in the table are removed once they have expired.
When selecting a change for review, the extension ensures that it meets the following criteria:
- Edit corresponds to the most recent change to a page
- Edit was not made by the user doing the patrolling
- Edit is not assigned to another user
- Edit was not made by a bot, and has not already been patrolled