This proposal is basically a combination of Flagged protection and a version of Scott MacDonald's (unpublished?) proposal.
How it works
editThe 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
editThe 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
editBLP 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
editAs 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']);