Page MenuHomePhabricator

Allow local disabling of global AbuseFilters
Open, MediumPublicFeature

Description

An admin of Wikipedia pointed out that global filters should be disablable locally, likely by those on the wiki with abusefilter-modify (or a split-off permission). This would allow a local community to avoid false positives without having to bother those trusted to modify global filters (stewards).


Version: unspecified
Severity: enhancement

Details

Reference
bz43761

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:29 AM
bzimport added a project: AbuseFilter.
bzimport set Reference to bz43761.
bzimport added a subscriber: Unknown Object (MLST).

I think this is something that is a good idea (similar to how you can override the global spam blacklist with a local whitelist).

Currently $wgAbuseFilterDisallowGlobalLocalBlocks only handles blocks and will stop all filters, rather than individual ones.

I'm not sure how you would go about implementing this though, should another column be added to database for which wikis have disabled it?

It would probably need to be done like SpamBlacklist's whitelist-- each wiki would keep a list of global rules it would ignore in their DB.

Like SpamBlacklist, the local wiki pulls in the global AbuseFilter rules, and then processes them. So to check against a local list of whitelisted rules wouldn't be too inefficient.

(In reply to comment #2)

It would probably need to be done like SpamBlacklist's whitelist-- each wiki
would keep a list of global rules it would ignore in their DB.

Like SpamBlacklist, the local wiki pulls in the global AbuseFilter rules, and
then processes them. So to check against a local list of whitelisted rules
wouldn't be too inefficient.

I think the most convenient solution would be to implement a new sub page of Special:AbuseFilter where global filters can be (locally) disabled/ enabled. While the application code for this would be pretty easy to write it certainly would need DB schema changes.

It would be more worthwhile getting spam filters fixed/updated so we don't have these issues, especially if we have the situation that wikis are getting multiple false positives. I like the idea mentioned elsewhere in Phabricator about talk pages for spam filters to make it easier to report issues. I watch global filters and look to update them on the first occasion that a problem is noticed, so where we have a case of multiple situations seems unusual.

Glaisher lowered the priority of this task from High to Medium.May 3 2015, 12:07 PM

Noting that it is now possible for global filters to be easily coded to limit/omit based on language or sister type, so omitting certain wikis is relatively easy

Global AbuseFilter is not manageable by local community.

Global AbuseFilter is not manageable by local community.

No, but local communities can request that a global filter be disabled (eg at https://meta.wikimedia.org/wiki/Meta:Requests_for_help_from_a_sysop_or_bureaucrat) if there is local consensus to do so. Its fairly simple, just add

& (wiki_name != "example")

with "example" being replaced by whichever wiki wants the filter disabled.

Global AbuseFilter is not manageable by local community.

I was meaning in coding terms, apologies for the ambiguity

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 12:24 PM

Having to maintain a list of every project name inside a global filter configuration that doesn't want that global filter on their local project seems like a bad design. Having the local project have a whitelist of GAF ID's puts the control in their hands.

Community configuration may allow local community to have more fine-grained control of global abusefilter. Other than locally disabling, some other options are possible, such as:

  • Trial (log-only) mode: let edits go through global abusefilter without enabling warning or disable
  • Block mode: currently global abusefilter does not allow "block" as action and this may be enabled by local community
  • Opt-in mode of filter: some abusefilter may benefit multiple projects, though there are not enough consensus to be enabled globally. So there may be a global filter disabled by default, and individual community can enable it locally.
  • Opt-in mode of wiki: some wiki (e.g. enwiki) decided not to adopt global abuse filter. There may be an option to enable global filter in such wikis as opt-in, i.e. global filter are not automatically enabled but can be enabled manually.

In a nutshell: there may be options for local community to control (1) whether to enable a global filter and (2) specific action of the filter.

Global AbuseFilter is not manageable by local community.

See also T373311

It's a good idea but private global filters can't be watched except if you are "abuse filter" or "abuse filter-helper" on Meta (i am one of the helpers, just to manage the false positive on french wiki). If global filters can be disable locally, it means that you should know the code of the filter : you shoudn't disable a filter without knowing it. Is it something considered with this feature?