Page MenuHomePhabricator

Implement functionality for RC page 'Edit Authorship' filters
Closed, ResolvedPublic

Description

Provides filtering and/or highlighting of editor contributions based on whether the contribution is by the current user or someone else. Find the authoritative interface text (filter names and descriptions) for these at T149385. There are two filters in the group:

Your own edits
This finds contributions by the current user. It should work whether the user is logged in or not.

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

About the functionality of these filters

  • The current RC page includes the ability to "hide/show my edits." This existing functionality can be used as the basis for these filters.
  • HOWEVER, like all filters in the enhanced RC page filter UI, these filters conform to a set of rules that are, in some ways, very different from the existing RC page filters. The existing filters are designed primarily to EXCLUDE selected properties (in this case, my edits). The new filters are designed to INCLUDE those properties; logically, each new group is a set of OR filters (with each group of ORs being connected to other groups by ANDS). Which means the filters in this group follow these rules:
    • To INCLUDE property A, users check the box for property A.
    • To EXCLUDE property A, the user must uncheck A and check it's complement, property B.
    • If NEITHER A nor B are checked, then BOTH are included.
    • If BOTH A and B are checked, then the result is the same: BOTH are included.
  • As per T146076, searches on the RC page are meant to be bookmarkable. Please make sure your search adds query strings to the URL.

Event Timeline

jmatazzoni renamed this task from Implement functionality for RC page 'Edit Authorship' filters (ORES) to Implement functionality for RC page 'Edit Authorship' filters.Nov 2 2016, 10:59 PM
jmatazzoni created this task.

Change 320402 had a related patch set uploaded (by Sbisson):
[PoC] edit authorship RC filter

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

Change 320402 abandoned by Sbisson:
[PoC] edit authorship RC filter

Reason:
We'll try to go with the 'hide*' paradigm instead.

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

Change 321372 had a related patch set uploaded (by Sbisson):
RC filter: hidebyothers

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

@SBisson, I just wanted to confirm. Are we able to meet this requirement:

It should work whether the user is logged in or not.

Assuming we accept that identities for IPs are not absolute, can we make that work? (Otherwise, we have another situation like the Experience filters, where we're introducing a possible hidden source of filter conflict.)

@SBisson, I just wanted to confirm. Are we able to meet this requirement:

It should work whether the user is logged in or not.

Assuming we accept that identities for IPs are not absolute, can we make that work? (Otherwise, we have another situation like the Experience filters, where we're introducing a possible hidden source of filter conflict.)

No problem. If the user is logged out, we can filter out, or show only, edits associated with his current IP.

Change 321372 merged by jenkins-bot:
RC filter: hidebyothers

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

Checked in betalabs

  • hidemyself=1 and hidebyothers=1 will display 'No changes during the given period matching these criteria.'
  • hidebyothers=1 will display not only edits done by the logged in user, but all contibutions made by this user, i.e. recorded in 'Deletion tag log' and 'Page Curation log'.

@SBisson Please review the following case: In enwiki production with Special:RecentChanges&hidemyself=0&hidebyothers=1&hidenondamaging=0 only two records were returned un-marked by ORES . Those records were attributed to the logged-in-user:
db shows

select * from ores_classification where oresc_rev=755739778 \G
*************************** 1. row ***************************
          oresc_id: 22906612
         oresc_rev: 755739778
       oresc_model: 21
       oresc_class: 1
 oresc_probability: 0.077
oresc_is_predicted: 0
1 row in set (0.01 sec)

755739663

select * from ores_classification where oresc_rev=755739663 \G
*************************** 1. row ***************************
          oresc_id: 22906520
         oresc_rev: 755739663
       oresc_model: 21
       oresc_class: 1
 oresc_probability: 0.029
oresc_is_predicted: 0
1 row in set (0.05 sec)

Checked in betalabs

  • hidemyself=1 and hidebyothers=1 will display 'No changes during the given period matching these criteria.'

Works as expected for now.

  • hidebyothers=1 will display not only edits done by the logged in user, but all contibutions made by this user, i.e. recorded in 'Deletion tag log' and 'Page Curation log'.

Yes, log entries can be associated with a user and will be affected by hidemyself and hidebyothers. There's a whole other set of filters about change types (edits, new pages, logs, etc) to further refine results.

@SBisson Please review the following case: In enwiki production with Special:RecentChanges&hidemyself=0&hidebyothers=1&hidenondamaging=0 only two records were returned un-marked by ORES . Those records were attributed to the logged-in-user:
db shows

select * from ores_classification where oresc_rev=755739778 \G
*************************** 1. row ***************************
          oresc_id: 22906612
         oresc_rev: 755739778
       oresc_model: 21
       oresc_class: 1
 oresc_probability: 0.077
oresc_is_predicted: 0
1 row in set (0.01 sec)

755739663

select * from ores_classification where oresc_rev=755739663 \G
*************************** 1. row ***************************
          oresc_id: 22906520
         oresc_rev: 755739663
       oresc_model: 21
       oresc_class: 1
 oresc_probability: 0.029
oresc_is_predicted: 0
1 row in set (0.05 sec)

I don't have enough context to tell whether this is the correct result set for this query at that time but it could be. Note that hidenondamaging=0 should not affect that results in any way.

Re-checked the case with Special:RecentChanges&hidemyself=0&hidebyothers=1&hidenondamaging=0 for some possible discrepancies in results - all seem to be correct.

QA recommendation: Resolve.