Extension:ArticleProtection

The ArticleProtection extension introduces private ownership of individual pages on a wiki. Each page of the wiki has a single owner and still can be collaborative, since owner can grant edit permissions to other users, the editors.

Description
This extension defines for each content page a single owner and a single or multiple editors. The remaining users not defined on extension are divided into sysops (MediaWiki administrators) and reader (regular users of wiki).

In other words, each single page divides users of wiki into four types of permission levels. Each permission level includes permissions of levels below it.

Sysop
 * Sysops are MediaWiki administrators
 * Permission of this level: change ownership, add/remove edit permission, edit and view all pages on wiki.
 * Each page can only have a single owner.
 * On pages created after installation of extension, ownership is defined to user who first created it.
 * On pages created before installation of extension, only sysops can define ownership to an user.
 * They have all permissions of below levels: change editors, edit and view article

Owner
 * Permissions of this level: add or remove edit permissions, edit and view article
 * They have all permissions of below levels: edit and view article

Editor
 * Permissions of this level: edit and view article
 * Editor has a permission of the below level: view article
 * Editors are users that received edit permissions on a specific page.

Reader
 * Permission of this level: view article

Authors
ArticleProtection was originally written by Nischay Nahata, as WikiWorks consultant for Rhcastilhos.

Usage
This extension adds a new special page: Special:ArticleProtection, which can be accessed with or without parameters.

Special:ArticleProtection
 * "My pages": shows pages that current logged in user owns
 * "Pages that I can edit": shows pages that current logged in user has edit permission

Special:ArticleProtection/Pagename
 * Shows detailed informations of permissions about given Pagename
 * Shows owner, editor(s) and link to view permissions, view log
 * Shows modify permissions link if user is owner of page.

'''Special:ArticleProtection/UserPermissions:Username
 * "Pages owned by Username": shows pages that given "Username" owns.
 * "Pages that Username can edit": shows pages that given "Username" has edit permission.

Log page
 * Logs events of modification of ownership and edit permissions.
 * Accessed through Special:Log&type=ArticleProtection&page=Pagename

Front-end modifications
 * New link "Pages" on usermenu
 * New tab "View editor(s)" on each page of MediaWiki

Configuring

 * &mdash; Defines which namespaces will have private ownership of pages.

Limitations

 * Only edit protection
 * View protection is not implemented yet.
 * Only sysops can change ownership of owned pages
 * Ownership of page still can't be transferred from its owner to another user.