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

    Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 26 2017, 7:54 PM
    TBolliger moved this task from Backlog to Untriaged on the Anti-Harassment board.Dec 15 2017, 10:23 PM
    TBolliger moved this task from Untriaged to Backlog on the Anti-Harassment board.Jan 30 2018, 7:38 PM
    Restricted Application added a subscriber: MGChecker. · View Herald TranscriptMar 21 2018, 9:59 PM
    Restricted Application removed a subscriber: Liuxinyu970226. · View Herald TranscriptApr 5 2018, 4:40 PM
    TBolliger reopened this task as Open.Aug 24 2018, 9:28 PM

    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 moved this task from Backlog to Cards ready to be discussed on the Anti-Harassment board.
    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.

    Zoranzoki21 renamed this task from 👩‍👧Implement namespace blocking support to 👩‍👧 Implement namespace blocking support.Dec 4 2018, 7:36 AM
    TBolliger closed this task as Resolved.Feb 5 2019, 7:12 PM
    TBolliger claimed this task.
    TBolliger moved this task from Ready to Done on the Anti-Harassment (Bet — ב) board.