Page MenuHomePhabricator

RCFilters UI: Implement 'full coverage' status for groups
Closed, ResolvedPublic

Description

Some filter groups represent "full coverage" when they're all selected, but some don't.

For example, the group for "User Experience Level" is not full coverage, because any of the experience levels represented do not include "unregistered" users. This means that selecting the entire group is not equivalent to not selecting anything.

On the flip side, groups like "Edit authorship" (that contain "your edits" and "edits by others") are "full coverage", so selecting all options (both filters) is, in fact, equivalent, to selecting no filter.

We should make sure the code understands the distinction between the groups in terms of marking the feature, as we allow the UI to represent them differently. This state, even if not immediately recognized in the UI, has some bearing over messages displayed to the user in cases where we know no data is displayed, and in cases where the filters "override" one another.

More specifically, effect on the UI:

  • If all filters in a group that has "full coverage" are selected, then:
    • In the filter list the group is active
    • In the filter capsule items both filters are 'dimmed' (inactive) to relate that together they are actually not affecting the results.
  • If all filters in a group that is not "full coverage" are selected, then:
    • In the filter list the group is active
    • In the capsule items the filters are still active
  • If not all filters are selected from either group
    • In the filter list the group is active
    • In the filter capsule items all selected filters are active

(The "active" states of the filters in this specific task are only about full coverage property. There are other properties (like being a 'subset' of another filter, or having a 'conflict' with another filter) that may present individual filters (or groups) as 'inactive' but those will be specified in a separate task)

Event Timeline

Change 335951 had a related patch set uploaded (by Mooeypoo):
[wip^n] Define interaction states for filters

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

Change 336254 had a related patch set uploaded (by Mooeypoo):
RCFilters UI: Implement filter 'full coverage'

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

Change 336254 abandoned by Mooeypoo:
RCFilters UI: Implement filter 'full coverage'

Reason:
Merged into the underlying patch

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

Change 335951 merged by jenkins-bot:
RCFilters UI: Define interaction states for filters

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

@Mooeypoo - are we ok to implicitly include'Logged actions' ( Deletion tag log, Page curation log, User creation log, Education Program student log etc) in the following example?

"Edit authorship" (that contain "your edits" and "edits by others") are "full coverage", so selecting all options (both filters) is, in fact, equivalent, to selecting no filter.

And there is no message to a user that all results are displayed?

@jmatazzoni The text for names of filters/descriptions in "Edit authorship" refers only to edits: "Your own edits (Edits by you)." and "Edits by others. Edits created by other users (not you).", but selecting these two filters will provide "full coverage" - including log entries.

In T149859: Implement functionality for RC page 'Edit Authorship' filters to describe the details "Edits by others.' the word 'contribution' is used, which better describes the result set returned with the filter selected.

Edits by others
This finds contributions by all other users, registered or unregistered, including bots.

@jmatazzoni The text for names of filters/descriptions in "Edit authorship" refers only to edits: "Your own edits (Edits by you)." and "Edits by others. Edits created by other users (not you).", but selecting these two filters will provide "full coverage" - including log entries.

In T149859: Implement functionality for RC page 'Edit Authorship' filters to describe the details "Edits by others.' the word 'contribution' is used, which better describes the result set returned with the filter selected.

Edits by others
This finds contributions by all other users, registered or unregistered, including bots.

Thanks noticing @Etonkovidova. I've addressed this wording issue in T149385#3030768.

QA recommendation: Resolve.

Below is the explanation of what was tested:

(1) There are the following 'full-coverage' combinations of filters

Minor edits/Non-minor edits
Registered/Unregistered
Your own edits/Edits by others
Bot/Human(not bot)
Page edits/Page creations/Category changes/Logged actions

If those are selected together or in combination - e.g. Minor edits/Non-minor edits and Page edits/Page creations/Category changes/Logged actions, they will be displayed as grey in the capsule area and as active in the drop-down according to the specs.

(2) The combo of 'full coverage' filters and any other filter - e.g. 'Registered', 'Unregistered' (which give full coverage), and 'Bot', 'Category changes' - will give valid results

Screen Shot 2017-02-27 at 2.40.27 PM.png (413×1 px, 147 KB)

(2) The combo of 'full coverage' and 'conflict' filters works correctly too - e.g. 'Your own edits', 'Edits by others' (full coverage), and 'Experienced users', 'Unregistered' (conflicting) - all filters will be displayed as greyed out in the capsule area and the message will bi displayed - "No changes during the given period matching these criteria."

Screen Shot 2017-02-27 at 4.37.01 PM.png (340×753 px, 52 KB)

(3) The combo of 'full coverage', 'conflict', and another filter(s) will display those additional filter(s) as active in the capsule area and the message 'No change during the given period matching these criteria'. - filed as a separate issue - T159199: RC filters - Selecting 'full coverage' and 'conflict' filters makes any additionally selected filter(s) be displayed as active without affecting the result set