====Problem to solve
Full site blocks are not always appropriate in all cases of user misconduct.
------
====Proposed solution
To retain constructive contributors who cause disruption on one page (e.g. contentious article page, user talk page of someone they constantly berate, etc.) we could give admins the ability to block them from editing one specific page or all articles inside a namespace or category.
[[https://realitytvgifs.tumblr.com/post/105388976052|These people are about to get blocked.]]
------
====Proposed implementation
* On Special:Block, introduce a method to block a user/IP address/IP range from a specific page, category, or namespace
* Add a checkbox for "Block this user from the whole site". It should be checked by default. When a block is saved with this checked, the block should behave exactly as it does today.
* If the "whole site" checkbox is unchecked, the admin should be able to provide a list of pages, categories, or namespaces.
** If an admin specifies a page or category to block:
*** Page blocks can only be set for existing pages/categories only, with validation required in the input field.
*** An autosuggest should help the user find the correct page.
*** Pages can be from any namespace
*** If a page or category is moved, the user should still be blocked from editing (e.g. block by page ID, not page name)
** If an admin specified a namespace to block:
*** Dropdown with existing namespaces, potentially like on RecentChanges
* Help tooltips should display for the new fields
* Block logs should display everywhere the current block displays (user page, Special:Contributions, Special:Block, Special:Log, and anywhere else)
** Log should include `TIMESTAMP Admin-who-blocked (t|c|b) blocked BadApples (t|c) from editing the page Foobar with an expiration time of N (reason) (unblock | change block)`
* Should be listed on Special:BlockList
* When a user attempts to edit an applicable page, they should see a new type of block warning message which include information on their block (reason, expiration, etc.)
* Only one block per user (like it is today) — to update the block, admins will need to modify the block.
* If a granular block is set, the checkbox for Prevent this user from editing his own talk page while blocked should be marked as disabled
* Blocks can be overlapping (e.g. A user can be blocked from 'Rain' and 'Category:Weather')
* If a category is provided, the blocked user cannot edit either the category page itself and all pages within the category.
* If the File: namespace is blocked, the user should not be allowed to upload files
* Should use a new right, assigned only to administrators
------
====Hyperlinks
* [[https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Moderation_and_admin_tools#Enhanced_per-user.2C_per-article_protection_.2F_blocking|2015 Community Wishlist survey proposal]], where it received 52 support votes, and was ranked #14 out of 107 proposals.
* [[https://meta.wikimedia.org/wiki/Community_health_initiative/Per_user_page_block|Per user page block]] documentation on Meta Wiki
------
====Potential wireframes
We need to discuss these on-wiki to make sure they are understandable:
{F17619357}
Location and labels of the items still TBD.