Extension:Patroller

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 requires MediaWiki 1.7.0 or later to work. 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.

Installation

 * 1) Obtain the latest version of the extension from Subversion and place all files in the extensions directory
 * 2) Run the install.php script from the command line to set up the table used for workload tracking
 * 3) * This requires that $wgDBadminuser and $wgDBadminpassword are set up in AdminSettings.php
 * 4) * If there is a problem running the script, use the table definition in patroller.sql to create the table in the database
 * 5) Add the line require_once( 'extensions/Patroller.php' ); to your LocalSettings.php file
 * 6) Access Special:Version on your wiki and search for the corresponding entry to verify installation was successful

Use
When accessing Special:Patrol, a recent change will be selected based on certain criteria, and a diff. view generated.

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.

Reverting
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.

User permissions
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</tt>, under the call to add the extension:

$wgGroupPermissions['autoconfirmed']['patroller'] = true;

Revert reasons
To customise the list of pre-defined revert reasons, edit the "patrol-reasons" message. Reasons appear one per line, in a bulleted list.

Workload sharing
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.

Selection criteria
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