Extension:PagePermissions

From Linux Web Expert

Revision as of 17:20, 9 May 2023 by imported>Pppery (Phab project doesn't exist)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

MediaWiki extensions manual
PagePermissions
Release status: stable
File:Pagepermissions-screenshot.png
Implementation User rights
Description Straightforward per-user per-right per-page protection
Author(s) Pavel Astakhov, Sanjay Thiyagarajan (Techwizzietalk)
Maintainer(s) Techwizzie
Latest version 1.0
Compatibility policy For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension.
MediaWiki 1.38+
Database changes Yes
Tables pagepermissions
License GNU General Public License 2.0 or later
Download
  • $wgPagePermissionsRoles
pagepermissions
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Translate the PagePermissions extension if it is available at translatewiki.net

The PagePermissions extension provides per page access based on default / custom roles set by the wiki administrator. It allows those with the pagepermissions right (administrators by default) to use a wizard-like interface where they could add the list of usernames for each role specified in the configuration.

This extension is based in part on the UserProtect extension.

Features

  • Stores its data in the MediaWiki database.
  • Doesn’t disable caching.
  • Has a minimalist interface
  • Adds and removes rights on the fly.
  • Overrides the built-in core per-group protection system with finer per-user protection.

Usage

A user with the pagepermissions right is provided with the "Page Permissions" item in the page actions menu. Click it to add or remove allowed restrictions to the current page on per-user basis. Just start typing user names in the appropriate right field seperated by comma (,). Each field allows multiple values. Once you are done, submit the form.

Installation

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/PagePermissions</tvar>|Download]] and move the extracted <tvar name=name>PagePermissions</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PagePermissions
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'PagePermissions' );
    
  • <translate> Run the [[<tvar name=update>Special:MyLanguage/Manual:Update.php</tvar>|update script]] which will automatically create the necessary database tables that this extension needs.</translate>
  • Configure as required.
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

Configuration

Parameters

$wgPagePermissionsRoles
Sets which user rights can be modified by the extension. Defaults to:
$wgPagePermissionsRoles = [
	"reader" => ["read"],
	"editor" => ["read", "edit"],
	"manager" => ["read", "edit", "move"],
	"owner" => ["read", "edit", "move", "rollback", "delete", "pagepermissions"]
];


The extension will work with any MediaWiki core or extension page-related right.

User rights

pagepermissions
Allows users to use the "PagePermissions" page action in order to add or remove user rights for this page. Defaults to:
$wgGroupPermissions['sysop']['pagepermissions'] = true;

See also