Page MenuHomePhabricator

Special:AllPages no longer has Next link (regression?)
Closed, ResolvedPublic

Description

In some recent version of MW (have noticed in 1.24wmf17, but possibly before?), the "Next" link(s) no longer appear on Special:AllPages. Strangely, "Previous" links are provided (once you actually search for something), even if one has not actually come from any previous page! It is not at all what users (new or old) would expect.

This is a significant loss of usability. Users can no longer just click through to continue the page list; they have to copy the last page title in the list, paste it into the "Display pages starting at:" box, and hit "Go" again. Terrible.

If you need a specific example, see:
https://www.mediawiki.org/wiki/Special:AllPages

BTW, Special:PrefixIndex has a "Next" link (when appropriate), but no "Previous" link once you get to the next page. A less serious problem, of course, since the user can always use their browser's "Back" button, but still... seems strange.

(Note: I guess this technically constitutes a return to the very ancient bug 1331. Maybe I was supposed to just reopen that one??)


Version: 1.24rc
Severity: normal

Details

Reference
bz69951

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:38 AM
bzimport set Reference to bz69951.

There is also missing overview page.
Recently there was first page with some groups like

  • !-Beef
  • Beef-Guam
  • Guar-Yello
  • Yellow-some_special_character

so users were able to go to requested page with clicking only (no typing) and it was usable for checking from which letter there are more or less articles.

That was shown when the wiki had more than a certain number of articles (I don't know what the threshold was). For extremely large wikis, there were multiple levels of such index pages (or whatever the technical term is for them).

That is, one such "range of articles" link, say, Actinium-Bookcase, would lead to another list of "range of articles" links, say,

  • Actinium-Archive
  • Archos-Asterisk
  • ...
  • Boardwalk-Bookcase

Yeah, those are gone now, too.

romaine.wiki wrote:

This problem still exists, can it please be solved. Special:AllPages is now almost useless or totally clumsy in use.

(In reply to Donald Lancon from comment #0)

(Note: I guess this technically constitutes a return to the very ancient bug

  1. Maybe I was supposed to just reopen that one??)

You were correct to file this bug. It's a very good bug report. Thanks. :-)

We're presumably talking about https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/includes%2Fspecials%2FSpecialAllPages.php though I wouldn't be surprised if the pagination logic were shared... I'll poke at this.

Right, so https://gerrit.wikimedia.org/r/145761 did this (specifically https://gerrit.wikimedia.org/r/#/c/145761/1/includes/specials/SpecialAllPages.php,unified). It removed the $n++ line, which is later used at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/includes%2Fspecials%2FSpecialAllPages.php#L307:

if ( $n == $this->maxPerPage && $s = $res->fetchObject() ) {

Because $n isn't getting incremented any longer, it never equals $maxPerPage (which is set to 345... no idea why, probably aesthetics).

Change 168248 had a related patch set uploaded by MZMcBride:
Restore next link to Special:AllPages

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

Change 168249 had a related patch set uploaded by Legoktm:
Restore next link to Special:AllPages

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

Change 168248 merged by jenkins-bot:
Restore next link to Special:AllPages

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

Change 168249 merged by jenkins-bot:
Restore next link to Special:AllPages

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

Merged and backported to the 1.24 branch.