User:Mr.Z-man/yet another FlaggedRevs proposal

This proposal is basically a combination of Flagged protection and a version of Scott MacDonald's (unpublished?) proposal.

How it works

edit

The system will have 3 levels of flagging:

  • Semi-protection
  • BLP
  • Full-protection

The semi-protection system will be similar to the system in Flagged protection, except rather than autoconfirmed, it will use the more versatile $wgFlaggedRevsAutopromote, with settings to be determined later.

The BLP flagging level is the main difference between this and Flagged protection. To flag revisions with this level, users will need to be in a manually granted user group made specifically for this

The full-protection system will be functionally identical to the full-protection system in Flagged protection - only admins will be able to flag changes, unless this becomes unworkable, in which case a new user group can be added to reduce the workload on admins.

An admin can set pages to any flag level, a BLP reviewer can set pages to either semi-protected or BLP-protected

Scope

edit

The conditions for semi and full flagged protection would be the same as normal semi/full protection as outlined in the protection policy.

BLP flagging should be used on biographies of living people where

  • Previous problems with libel in the article

OR

  • Poorly watched/monitored such that libel may not be removed/noticed promptly

AND

  • Not an extremely public figure - Public figures like A-list movie stars and heads of state have PR teams and won't be harmed as much or at all, and where the number of edits would overwhelm the system.

BLP flagging could also be used on non-BLPs that have had significant BLP problems (such as a company article where the CEO has been libeled)

BLP reviewers

edit

BLP reviewers should be trusted users, though for the system to be successful a significant amount will be needed. Further details to be worked out later.

Expansion

edit

As with any proposed policy, once accepted, this is not set in stone. If, as a trial, this system is considered a success, the expansion of the system can and should be considered.

Proposed configuration

edit
# Limit it to mainspace only
$wgFlaggedRevsNamespaces = array( NS_MAIN );
# Don't set any FlaggedRevs level for new pages
$wgFlaggedRevsAutoReviewNew = false;
# Pages display the current version by default - i.e. unprotected
$wgFlaggedRevsOverride = false;
# This requires it to be turned on by an admin for each page
$wgFlaggedRevsReviewForDefault = true;
# Flagging types
$wgFlaggedRevTags = array( 'protection' => 2 );
# Number of levels (BLP/full/semi/none)
$wgFlaggedRevValues = 3;
$wgFlaggedRevPristine = 3;
# Lets "pristine" (BLP) revs override
$wgFlaggedRevsPrecedence = 2;
# Restrict reviewers to flagging semi-protected
$wgFlagRestrictions = array(
    'protection' => array( 'review' => 1, # editors
		'blp-review' => 3, # BLP reviewers
		'protect' => 2 # admins
));
# Group permissions for editors
$wgGroupPermissions['editor']['review'] = true;
$wgGroupPermissions['editor']['autoreview'] = true;
$wgGroupPermissions['editor']['unreviewedpages'] = true;
# Define the extra right for BLP reviewers
$wgAvailableRights[] = 'blp-review';
# Rights for BLP Reviewers,
$wgGroupPermissions['blpreviewer']['blp-review'] = true;
$wgGroupPermissions['blpreviewer']['stablesettings'] = true;
$wgGroupPermissions['blpreviewer']['review'] = true;
$wgGroupPermissions['blpreviewer']['autoreview'] = true;
$wgGroupPermissions['blpreviewer']['unreviewedpages'] = true;
$wgGroupPermissions['blpreviewer']['movestable'] = true;
# Group permissions for admins
$wgGroupPermissions['sysop']['stablesettings'] = true;
$wgGroupPermissions['sysop']['review'] = true;
$wgGroupPermissions['sysop']['autoreview'] = true;
$wgGroupPermissions['sysop']['unreviewedpages'] = true;
$wgGroupPermissions['sysop']['movestable'] = true;
# Give bots autoreview
$wgGroupPermissions['bot']['autoreview'] = true;
# settings to promote users to Reviewer
$wgFlaggedRevsAutopromote = TBD;
# Give crats the ability to add/remove blpreviewer
$wgAddGroups['bureaucrat'][] = 'blpreviewer';
$wgRemoveGroups['bureaucrat'][] = 'blpreviewer';
# Admins can add/remove editor
$wgAddGroups['sysop'][] = 'editor';
$wgRemoveGroups['sysop'][] = 'editor';
# How many pages count as a backlog?
$wgFlaggedRevsBacklog = 1000;
# Remove unused  groups
unset($wgGroupPermissions['reviewer']);
unset($wgGroupPermissions['autoreview']);