Page MenuHomePhabricator

Have a way to exclude Tagged edits
Open, Needs TriagePublic


I know it has been decided not to have tags exclusion because "it is complicated" (probably because of T166618: Handle more than 500 tags per wiki?), but I'm creating that task to have clarifications about that. Also when the possibility to exclude some filters will be available, you can be sure users will ask to have it for everything. :)

Following this discussion, imagine if a wikis has 79 tags: you have to select 78 tags to display all tagged edits except ones filtered by a particular tag. This is not simple.

Another solution is to have a filter that would filter "all not tagged edits", so that people can select a little set of specific filters and add all others.

Event Timeline

Restricted Application removed a project: Patch-For-Review. · View Herald TranscriptAug 28 2017, 3:35 PM
Trizek-WMF updated the task description. (Show Details)Aug 28 2017, 4:24 PM

Due to the nature of tags, the exclusion mechanism becomes more complex. It may be not enough to decide whether to include or exclude all tags you selected but allow for combinations. That could be very powerful, but we need to think how to better support it.

For now we are already making it easy to add multiple tags and highlight them which is already an improvement with respect the previous state. Before starting work on this, I'd recommend learning more about how (and how much) tags are used in the new system.

New request made to have a simple way to exclude one massively used tag on Wikidata. I think the most common user case is to exclude one or two tags max.

He7d3r added a subscriber: He7d3r.Dec 29 2017, 3:22 PM

Yes it is, good catch. I'm going to dupe this in the "wrong" direction because this task has more detail and more discussion.

As for the substance of this feature: we have an "invert" feature for namespaces already, so UI-wise it seems to me that we could apply the same concept to tags. Database-query-wise is would be pretty doable too. SELECT ... FROM recentchanges LEFT JOIN change_tag ON ct_rc_id=rc_id AND ct_tag='mobile edit' WHERE ct_id IS NULL ORDER BY rc_timestamp DESC LIMIT 50; executes quickly on enwiki, for example.

As for the substance of this feature: we have an "invert" feature for namespaces already, so UI-wise it seems to me that we could apply the same concept to tags.

We should be aware that the case of tags is a bit more complex, and a single "invert" switch provides only limited support in this case. Unlike namespaces (where a single contribution belongs to only one namespace), edits can have multiple tags. Filtering for contributions that have tag A but not B, won't be possible with a single "invert" control that affects all selected tags.

It can be argued than a basic support is better than no support at all. So we may want to support the general "invert" switch for tags which works when filtering for a single tag or when applying the same criteria to several. However, I think it would be important to know more about (a) how multiple tags are used currently (I was expecting the current OR-based combination not to be much useful), and (b) whether it is technically easy to support the exclusion of individual tags.

This feature is neccessary.

Mentionned in frwiki discussion!

it would be really useful to hide some semi-automated changes in the improved watchlist with the new filters for modifications.

Thank you.

(sorry for my bad english)

Thank you for updating the task, @Tractopelle-jaune (and your English is good!).

From the New Filters comment page, where users are suggesting an "invisible" highlight as the way to achieve this. I can't say I find this a suitable solution from a UX perspective, but there is one anon user's suggestion:

It seems the expected solution is letting perfect be the enemy of good. A hidden color is useful for many things aside from hiding tags. It could be used to further filter the visible results, rather than filtering the full entries that are retrieved from the database.
This would be a pretty cheap way of sub-filtering specific users, or indeed even filtering tags. For example, one could select all changes, then give a specific tag an invisible color. This would produce the same effect as the more complicated database filtering:
Basically, in pseudo-sql:
select * from change_tag, recentchanges
where ct_tag= "AWB"
AND (rc_id = ct_rc_id OR rc_timestamp < "12324555" )
ORDER BY rc_timestamp DESC
In fact this is partly possible by simply highlighting a tag without clicking its checkbox (to make it filter). Then all the user needs to do is change their CSS to hide the row, for color number 5 e.g.:
.mw-rcfilters-highlight-color-c5 { display:none;}
The drawback is that true filtering would actually allow the user to see more results, unlike this hacky solution.

New request to have tags excluded: "occasionally in my watchlist there will be an influx of AWB edits [...] I would like to be able to filter out edits with the AWB tag in order to see all other changes".

Restricted Application added a project: Growth-Team. · View Herald TranscriptSep 6 2018, 8:11 AM

T195738: Add a filter for non-tagged edits may be a related task to solve at the same time.

Ayack added a subscriber: Ayack.Sep 20 2018, 3:58 PM
SBisson changed the subtype of this task from "Task" to "Feature Request".Oct 16 2018, 1:06 PM
SBisson changed the subtype of this task from "Feature Request" to "Task".Oct 16 2018, 6:41 PM

[[ Topic:Uoks2xlmkf0jch0q | New request. ]]

Titore added a subscriber: Titore.Sun, Jul 7, 2:02 PM