Page MenuHomePhabricator

Special:NewPagesFeed NPP mode (not AFC mode) should show and sort by enqueued date, not creation date
Open, Needs TriagePublicFeature

Description

image.png (1×2 px, 364 KB)

Why

  • I want to be able to go to Special:NewPagesFeed -> New Page Patrol -> Oldest and figure out how far behind we are on NPP reviewing (how big the "backlog" is) by looking at the dates
  • The dates are currently page creation date, not enqueue date
  • I want to be able to look at a page in the queue and see what date it was enqueued
  • Old pages, for example pages created in 2004, are frequently flipped from redirects to articles, showing up in the NPP queue with a date from 2004, instead of a date from when they were enqueued in 2025
  • I also want these "created in 2004" pages to be reviewed in the order they were enqueued, and not automatically go to the back of the queue

What

Work that will be invisible to the end user:

  • Add a new SQL field to track enqueued date
  • Write a maintenance script to backfill this field for all existing articles, copying the value of ptrp_reviewed_updated (which is a good approximate value)
  • Make sure the following actions set this field correctly:
    • creating a page
    • moving a page (including from non $wgPageTriageNamespaces to $wgPageTriageNamespaces)
    • undeleting a a page
    • flipping from article to redirect?
    • flipping from redirect to article?
    • reviewing an article?
    • unreviewing an article?
  • Add a new, separate setting to New Page Patrol -> pagetriagelist action API query to use enqueued date

Work that will be visible to the end user:

TBD - need to determine exactly what will change.

  • do we add enqueued date alongside creation date as a filter, similar to what AFC does, or just change it over? Fram was saying that for reviewed articles, it's weird to review by enqueued date, so we should keep that in mind
  • what should the new default be?
  • should we also change the date displayed in each article row? (probably. have it always match the filter setting I assume. maybe check what AFC does)
  • I assume leave the algorithm in the Page Curation toolbar for the "next page in queue" button alone. this was one of the regressions using the previous approach
  • the infinite scroll feature of Special:NewPagesFeed broke last time when using enqueued date. be sure to test this
  • change "oldest" in Special:NewPagesFeed footer to reflect oldest enqueued date

Notes

  • I am going to merge a bunch of tickets into this one. I could have chosen one of those and edited it with all this info, but I decided a fresh ticket would be better.
  • the "real" back of the queue is easier to find with this Quarry query ( https://quarry.wmcloud.org/query/99823 ) than by looking at the Special:NewPagesFeed. looks like it starts around Feb 1, 2025, so 10 months.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change #1216578 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] article: remove dead code

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

Change #1216584 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] Special:NewPagesFeed: view and sort by ptrp_reviewed_updated, not ptrp_created

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

Change #1216578 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] article: remove dead code

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

Change #1216584 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] Special:NewPagesFeed: view and sort by ptrp_reviewed_updated, not ptrp_created

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

Change #1220865 had a related patch set uploaded (by Sohom Datta; author: Sohom Datta):

[mediawiki/extensions/PageTriage@master] Refactor queue addition and triage status setting

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

Change #1220865 had a related patch set uploaded (by Sohom Datta; author: Sohom Datta):

[mediawiki/extensions/PageTriage@master] PageTriage: Refactor queue addition and triage status setting

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

This deployed a week or two ago. Hasn't generated any negative feedback that I've seen. And the back of the queue now looks like this:

image.png (1×343 px, 54 KB)

I'll bet that 21 February 2025 is the real back of the queue, and it's third from the top. So this patch appears to have done a great job of achieving the goal of being able to easily find the back of the queue. Yay.

Using ptrp_reviewed_updated is still inaccurate in several cases. For example, marking an article as reviewed would cause the timestamp to be changed to the timestamp of the review. Also, undeleting an article would use the timestamp of the latest edit, while nothing would happen to the timestamp if a page in the draft namespace is moved to mainspace (although the timestamp will be set to the timestamp of the move if a page that is neither in the draft namespace nor in mainspace is moved to mainspace).

I plan to update the timestamp when undeleting in a follow up patch. I've got a check box for it in the ticket above, [ ] undeleting an article. I am busy for a month or two though. Will have time to work on this end of March maybe. Feel free to remind me around then!

Change #1235850 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] Revert "Use `ptrp_reviewed_updated` instead of creation date for next page"

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

Change #1235851 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] Revert "Use page creation date as offset only if the legacy ordering is specified"

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

Change #1235852 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] Revert "Special:NewPagesFeed: view and sort by ptrp_reviewed_updated, not ptrp_created"

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

We're going to revert this and try a different approach (add a new SQL field). It's causing too many bugs. A third bug was reported today.

Change #1235852 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] Revert "Special:NewPagesFeed: view and sort by ptrp_reviewed_updated, not ptrp_created"

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

Change #1235850 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] Revert "Use `ptrp_reviewed_updated` instead of creation date for next page"

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

Change #1235851 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] Revert "Use page creation date as offset only if the legacy ordering is specified"

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