Page MenuHomePhabricator

Filter Special:NewPages to subpages of a given page
Open, LowPublicFeature

Description

Provide a way to filter Special:NewPages to subpages of a given page. It could be useful for example to see new articles for deletion discussions and for other processes relying on subpages of a main page. There are also some projects heavily using subpages for content which could benefit from this.

It can be only a url option if it can't be neatly included in the interface - we can always link to it.


Version: unspecified
Severity: enhancement

Details

Reference
bz21675

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:54 PM
bzimport set Reference to bz21675.
bzimport added a subscriber: Unknown Object (MLST).

If this were to be implemented, the only efficient way to do it would be by sorting by page name instead of by timestamp, which would be of limited use (although of course Newpages only has one entry for each page, so it's not that big a deal).

piotrowski+wikimediabugzilla wrote:

Why would sorting by page name be needed? A filter to consider only parts of all pages, in this case Subpages of a specific name, seems like a reasonable request.

(In reply to comment #2)

Why would sorting by page name be needed? A filter to consider only parts of
all pages, in this case Subpages of a specific name, seems like a reasonable
request.

Sorting by page name is needed because that's the way how database indexing works. Doing a prefix filter on the page name while sorting by timestamp is guaranteed to be inefficient on large tables. It's impossible to add an index that will optimize that.

piotrowski+wikimediabugzilla wrote:

(In reply to comment #3)

Sorting by page name is needed because that's the way how database indexing
works. Doing a prefix filter on the page name while sorting by timestamp is
guaranteed to be inefficient on large tables. It's impossible to add an index
that will optimize that.

Didn't think about that. So I assume what you mean is that a (MySQL) LIKE-Search on page_title when ordered by page_touched isn't an option?

(In reply to comment #4)

Didn't think about that. So I assume what you mean is that a (MySQL)
LIKE-Search on page_title when ordered by page_touched isn't an option?

Assuming an index on (page_title, page_touched):
(I don't believe such an index actually exists.)

WHERE page_title = 'Foo' ORDER BY page_touched; --GOOD
WHERE page_title LIKE 'Foo%' ORDER BY page_touched; --BAD
WHERE page_title LIKE 'Foo%' ORDER BY page_title, page_touched; --GOOD

piotrowski+wikimediabugzilla wrote:

(In reply to comment #5)

Assuming an index on (page_title, page_touched):
(I don't believe such an index actually exists.)

WHERE page_title = 'Foo' ORDER BY page_touched; --GOOD
WHERE page_title LIKE 'Foo%' ORDER BY page_touched; --BAD
WHERE page_title LIKE 'Foo%' ORDER BY page_title, page_touched; --GOOD

There is only an index 'name_title' that is on page_namespace + page_title (only have 1.15.1 around right now).

So no matter how we try, there is no way to make a well performing "Page starts with"-search ordered by last edit date?

(In reply to comment #6)

So no matter how we try, there is no way to make a well performing "Page starts
with"-search ordered by last edit date?

No.

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 11:01 AM