Extension:PageOwnership

Warning Warning: Do not use this extension to secure sensitive information! It has not been designed to do so and data could be accessed elsewhere. When used to prevent access to specific pages, only use it as a way to moderate contents before their actual publishing!


MediaWiki extensions manual
OOjs UI icon advanced.svg
PageOwnership
Release status: beta
Implementation Hook , Special page
Description Implements page ownership based on users and groups through a user-friendly interface, supports cache and Semantic MediaWiki
Author(s) (thomas-topway-ittalk)
Latest version 1.0.0 (2022-02-15)
MediaWiki 1.35+
License GNU General Public License 2.0 or later
Download
  • pageownership-caneditunassignedpages

Check usage and version matrix.

PageOwnership implements page ownership of standard Wiki articles based on users and groups through a user-friendly interface, supports transclusion, cache and Semantic MediaWiki.

PageOwnership-menutop.png


InstallationEdit

  • Download from Github and place the file(s) in a directory called PageOwnership in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php
wfLoadExtension( 'PageOwnership' );
  • Run php maintenance/update.php (this will install the required tables)
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


FeaturesEdit

Assigning permissionsEdit

Permissions can be set through a user-friendly interface. It is possible to assign multiple sets of permissions to specific pages. Each set of permissions contains the list of users or groups granted with the same privileges, the role (editor, reader, admin) and some options, specifically "edit", "create", "manage properties" and "subpages". The option "manage properties" is available only if the extension PageProperties is installed, and of course when the role is "admin" the options are enabled by default and they are disabled (except "subpages") when the role is "reader". (an "admin", by contrast to an "editor", can assign other users with permissions on the related page)

 



List of permissionsEdit

In the List of permissions page (accessible both from the action menu on top of Wiki articles and from the list of Special:SpecialPages of the Wiki) you can find the list of assigned permissions related to that specific page or throughout all the Wiki (when accessed from the list of Special Pages) and of course to assign new permissions and editing existing ones.



 

(in the scenario above the editing of the page has been granted to the group "Interface-admin" plus to 2 specific users, and the access to the page has been granted to all visitors)

The centralized list of permissions (when accessed from the list of Special Pages instead than from the action menu on top of Wiki articles) can be filtered and includes fields with the related page and the user who created the permission.

 



Navigation panelEdit

PageOwnership creates a list of pages to which logged-in registered users have been assigned (as users, not as members of a group) in the standard navigation panel, so that they can quickly navigate to such pages.

 



Magic word/parser functionEdit

PageOwnership includes a Magic word/parser function (called either using {{pageownership userpages}} or {{#pageownership userpages:}}) (case insensitive) to display the list of pages assigned to the logged-in registered user. This can be used by other templates for various purposes.


ConfigurationEdit

Besides protection based on ownership of specific pages, PageOwnership allows to set additional permissions to regular pages (i.e. pages on the main namespace which have not been assigned to anyone). To do so, just grant desired users or groups with the right pageownership-caneditunassignedpages

$wgGroupPermissions['*']['pageownership-caneditunassignedpages'] = false;
$wgGroupPermissions['user']['pageownership-caneditunassignedpages'] = true;

(the settings above will deny anonymous users from editing regular pages, while it will be allowed to registered users)



See alsoEdit