Last modified: 2008-03-29 05:22:17 UTC
Created attachment 4658 [details]
Code of Extension:SubPageList3.zip. Add to SVN if you like.
There is a pretty exhaustive description of everything at http://www.mediawiki.org/wiki/Extension:SubPageList3, including a link to the discussions and voting on the Wikiversities. I rewrote this extension after JeLuF correctly pointed out that SubPageList2 (written by someone else) was nowhere near good enough. Mind you, I'm on a learning curve here. Code is in an attachment and also posted to the above page.
Made some minor code tweaks in r32559.
Some fundamental issues which need to be fixed before any Wikimedia deployment:
The code causes an inefficient filesort operation by sorting on UPPER(page_title) instead of page_title. Depending on how smart the database is, that may be a non-issue (small result data sets) or it may be wildly inefficient, but it's a red flag.
More generally, note that the case-insensitive intention of this sort will fail on non-ASCII characters in MySQL 4 and default compat configurations, as the transformation applied at the DB won't be correct.
Recommend sorting simply on page_title, as elsewhere in the system (eg Special:Prefixindex).
Currently the extension outright disables caching on any page using the <splist/> tag. While this ensures that up-to-date page lists are displayed, it could make a site widely using it very expensive indeed -- the entire page, however large, needs to be reparsed on every view -- even under a load spike like a Slashdotting, where the same page is hit over and over.
To correctly handle cache updates, uses on a page should be registered at links-update time, and creation/deletion of a subpage can trigger update jobs for registered pages.
This bug ("request") is currently deprecated. Please see most recent thread at:
13163 Activate SubPageList3 extension on English Wikiversity
Brion's valuable comments have been moved there already.
I'm not sure how to mark this bug, so I've tried marking it as a duplicate of 13163.
*** This bug has been marked as a duplicate of bug 13163 ***