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
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.

Owners can grant edit permissions for users on his/her articles, turning them editors.

Only users that received edit permissions can edit a page.

All pages of wiki can be viewed by any user.

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.