Page MenuHomePhabricator

👩‍👧 Implement namespace blocking support
Closed, ResolvedPublic

Description

Similar to T2674: Allow users to be blocked from editing a specific article or all articles inside a namespace, we could provide the ability for admin (or whomever with the adequate permissions) to block a user from editing any page in a specified namespace. When the user is blocked, the UI and API should behave the same way as if they are site blocked, but only for pages in that specified namespace.

This would need to be logged appropriately, either on its own log or on the existing block log. Namespace blocks would likely also need the same options as full site blocks (duration, reason, watch the user's page)


Use cases / Examples
  • User talk namespace ban (except user's own talk page), for users harassing others with abusive messages on their talk pages.
  • Project namespace ban, for users harassing others in village pumps or discussions like deletion or page moves.
  • File namespace ban, for users repeatedly uploading copyright violations
  • Template namespace ban, for users causing edit wars in templates that affect multiple pages.

Acceptance criteria
  • On Special:Block, under the 'Partial' radio button add a text area for Namespace
    • If the 'Editing' checkbox is checked and the 'Sitewide' radio button is selected or if the 'Editing' checkbox is unchecked the 'Namespace' text area should be disabled.
    • If the 'Editing' checkbox is checked and the 'Partial' radio button is selected, the 'Namespace' text area should be be enabled
    • If a user later re-checks 'Sitewide' the 'Namespace' checkbox should retain all the selected namespaces but the element should display as disabled.
  • The text area should have type-ahead suggestions for namespace names
  • The text area should allow the admins to select as many namespaces as the admin desired, but no duplicates
  • The text area should only accept valid namespace names
  • When a block is saved with namespaces provided, the target user should not be able to edit or create pages inside that namespace.
  • The log items should indicate the namespaces blocked

Designs

  • Event Timeline

    Re-opening to be an implementation task. 👨‍🍳

    TBolliger renamed this task from Allow users to be blocked from editing a specific namespace to Implement namespace blocking support.Aug 24 2018, 9:36 PM
    TBolliger updated the task description. (Show Details)
    TBolliger removed a subscriber: wikibugs-l-list.
    TBolliger renamed this task from Implement namespace blocking support to 👩‍👧Implement namespace blocking support.Sep 21 2018, 7:18 PM

    The 👩‍👧emoji indicates that this is a parent task.

    Kizule renamed this task from 👩‍👧Implement namespace blocking support to 👩‍👧 Implement namespace blocking support.Dec 4 2018, 7:36 AM
    TBolliger claimed this task.
    TBolliger moved this task from Ready to Done on the Anti-Harassment (Bet — ב) board.