Extension:ArticleProtection

The ArticleProtection extension introduces private ownership of individual pages on a wiki. Each page becomes a single owner while keeping its collaborative capabilities, since owner can grant edit permissions to other users.

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/ Special:ArticleProtection/Settings:
 * 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.
 * Shows textbox to add/remove users with edit permission on this page

Special:ArticleProtection/UserPermissions:
 * "Pages owned by ": shows pages that given "Username" owns.
 * "Pages that  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 item "Pages" on usermenu (links to Special:ArticleProtection)
 * New tab "View editor(s)" on each page of MediaWiki (links to Special:ArticleProtection/)

Configuring

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


 * &mdash; Defines the maximum number of editors allowed for each page.

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.

Features planned for future versions
Ownership features
 * Ownership transfer
 * Buy/sell ownership (with bitcoins/altcoins)
 * Multiple ownership (multiple owners for a page)
 * Owner may give shared ownership to other users
 * Set how many % of page each user owns

Editing
 * Opening private pages to public editing, like a traditional wiki
 * Option to allow all users of wiki to edit page, while being able to ban users
 * Edit permission in section: Allow owner to grant edit permission only in specific sections of a page
 * Allow edit suggestions
 * Done by users with or without edit permission
 * Owner decides if suggested edit will be published

Edit permission granting
 * Username suggestions (autocomplete) while text is being typed

View permission
 * View protection

Front-end
 * Mobile frontend