Filter Special:NewPages to subpages of a given page
OpenPublic

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

bzimport added a subscriber: wikibugs-l.
bzimport set Reference to bz21675.
Cenarium created this task.Via LegacyNov 28 2009, 7:33 PM
Catrope added a comment.Via ConduitNov 28 2009, 10:31 PM

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).

bzimport added a comment.Via ConduitJul 4 2011, 9:36 AM

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.

Catrope added a comment.Via ConduitJul 4 2011, 9:45 AM

(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.

bzimport added a comment.Via ConduitJul 4 2011, 11:45 AM

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?

Catrope added a comment.Via ConduitJul 4 2011, 7:14 PM

(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

bzimport added a comment.Via ConduitJul 4 2011, 10:37 PM

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?

Catrope added a comment.Via ConduitJul 13 2011, 2:52 AM

(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.

Add Comment