Page MenuHomePhabricator

Partial Block UI: White-list of pages allowed to edit for site-wide blocks
Open, Needs TriagePublic

Description

In the case of site-wide blocks, the list of pages should serve as a white-list of pages that can be edited.
The default value could be the noticeboards and arbitration pages (different per project), where the user can participate in, or appeal their case.
In case of a non-appealable ban, or abuse of these pages, these can be removed from the list.

Previously requested in a different context:

Details

Event Timeline

Change #1113723 had a related patch set uploaded (by MolecularPilot; author: MolecularPilot):

[mediawiki/core@master] Allow reverse/inverse partial blocking of users (the "restrictions" array acts as a whitelist)

https://gerrit.wikimedia.org/r/1113723

Hello @MolecularPilot. Thanks for working on this! Our team (Trust and Safety Product Team) is the maintainer for blocks. We require some time to review this patch and get back to you. We'll ping you when we've done so. Thanks again.

Thanks Niharika for the update! :)

Change #1113903 had a related patch set uploaded (by MolecularPilot; author: MolecularPilot):

[mediawiki/core@master] Allow reverse/inverse partial blocking of users (the "restrictions" array acts as a whitelist)

https://gerrit.wikimedia.org/r/1113903

Ignore the other one that was just posted above (it was a mistake because I had a typo in the Change-Id and is now abandoned). Sorry for the inconvenience.

The correct patch is here: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1113723

:)

All tests are now passing and I've fully implemented all functionality. :)

Test wiki created on Patch demo by MolecularPilot using patch(es) linked to this task:
http://patchdemo.wmcloud.org/wikis/d280dfb1bf/w/

Test wiki on Patch demo by MolecularPilot using patch(es) linked to this task was deleted:

http://patchdemo.wmcloud.org/wikis/d280dfb1bf/w/

Test wiki created on Patch demo by MolecularPilot using patch(es) linked to this task:
http://patchdemo.wmcloud.org/wikis/00e7d73fa3/w/

@MolecularPilot thanks for all your work here. We appreciate it. Before this feature goes into code review there are a few considerations we need to make.

  1. Perhaps you are aware of this - the Community-Tech team has been working on implementing Multiblocks which is due to launch in the next few weeks. My understanding is that inverse partial blocks are incompatible with multiblocks and when that rollout happens, that will undo the work that has been done here. It would be ideal to wait until multiblocks have been rolled out completely before this feature is merged.
  2. We would like to spend some more time assessing the use cases and consulting different communities about their preferred approach for reverse blocks. Since this is a major feature (with a schema change), it helps to be as thorough as we can possibly be to ensure we are building something that works for everyone. Undoing a change like this would be costly and time consuming. Our team is swamped with Temporary accounts at the moment but we can try to accommodate this after that feature is complete.

I would encourage you to keep this task on your radar while you work on other things. Thanks again for your contributions!

Hi @Niharika,

Thank you for your thoughtful feedback and for reviewing this patch amid your team's current priorities. There's absolutely no rush for this patch to be reviewed, and thank you for taking the time out of your busy schedule to provide this information!

Regarding point 1, I’ve tested the latest implementation with the upcoming Multiblocks framework (via CompositeBlock) and confirmed full compatibility. The CompositeBlock calls the appliesTo methods of the blocks which make up the multi block, and these methods work for inverse partial blocks. I previously flagged potential issues with multiblocks in a code comment, but I was mistaken (and this comment has been removed). The only issue may be merge conflicts as both changes modify the same files, but I'll rebase once multiblocks gets merged!

For point 2, I’ve already posted about this on [[en:WP:AN]] here and incorporated initial feedback from the community re logging into the patch. A large number of community members seem to have already commented on the sister phab ticket, T27400, even before I started this task. I agree that broader consultation is important, and if your team has capacity post-Temporary Accounts, I’d appreciate any support in facilitating wider discussions.

Thanks again for your guidance and the great work on Temporary Accounts. Let me know if I can assist with anything else, but, again there's absolutely no rush! :)

Test wiki on Patch demo by MolecularPilot using patch(es) linked to this task was deleted:

https://patchdemo.wmcloud.org/wikis/00e7d73fa3/w/

Just curious if there are suggested next steps here? @Niharika
I've listed the wish as in progress, but let us know if that's not the case.