Extension:SubpageSortkey

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
Subpage Sortkey

Release status: stable

Description change the default sortkey to have something to do with the subpages
Author(s) (bawolfftalk)
MediaWiki 1.18
License GPLv2
Download
Parameters
  • $wgSubpageSortkeyDefault
  • $wgSubpageSortkeyByNamespace
  • $wgSubpageSortkeyIfNoSubpageUseFullName
Hooks used
GetDefaultSortkey

Collation::factory

Translate the SubpageSortkey extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

Phabricator:

Open tasks · Report a bug

What can this extension do?[edit | edit source]

This extension changes the default sortkey from the full page name, to something involving the subpage structure of the page name. For example it can be configured to make Foo/bar/baz sort under bar/baz or baz/Foo or baz, etc.

Usage[edit | edit source]

This has a config option ($wgSubpageSortkeyDefault) which contains a bunch of comma separated numbers and ranges to determine what parts of the page title will be used for the default sortkey. 0 represents the base page name, 1 represents the first subpage, etc. Negative numbers count backwards; -1 is the last subpage-part of the title. ranges are denoted with .. - aka 2..4 is the same as 2,3,4. The second number in the range is optional, and negative ranges are slightly weird (second number is not inclusive). This is easiest explained in examples:

  • $wgSubpageSortkeyDefault = '1,0,2'; will sort the page 0/1/2/3/4 under 1/0/2
  • $wgSubpageSortkeyDefault = '2,0..3'; will sort the page 0/1/2/3/4 under 2/0/1/2/3
  • $wgSubpageSortkeyDefault = '-1,0'; will sort the page 0/1/2/3/4 under 4/0
  • $wgSubpageSortkeyDefault = '1..'; will sort the page 0/1/2/3/4 under 1/2/3/4
  • $wgSubpageSortkeyDefault = '-4..-1'; will sort the page 0/1/2/3/4 under 1/2/3 (not under 1/2/3/4)
  • $wgSubpageSortkeyDefault = '-4..'; will sort the page 0/1/2/3/4 under 1/2/3/4

You can also customize the default sortkey per namespace with $wgSubpageSortkeyByNamespace. Example: $wgSubpageSortkeyByNamespace[NS_TALK] = '-1';

$wgSubpageSortkeyIfNoSubpageUseFullName can be used to control what happens if the subpage sorting comes up with an empty string (aka $wgSubpageSortkeyByNamespace = '2'; on a page with no subpages) Setting it to true (default) means it will use the page's title as the sortkey. Setting to false means it will use the empty string.

Warning Warning: You need to run the updateCollation.php maintenance script with the --force option every time you change this extensions configuration (or if you remove the extension)

Other details[edit | edit source]

$wgSubpageSortkeyIfNoSubpageUseFullName can be used to control what happens if the subpage sorting comes up with an empty string (aka $wgSubpageSortkeyByNamespace = '2'; on a page with no subpages) Setting it to true (default) means it will use the page's title as the sortkey. Setting to false means it will use the empty string.

The full page name (minus the namespace name) will be used as a tie-breaker in sorting. You can still use {{DEFAULTSORT:foo}} to override this extension.

This extension will only operate on namespaces with subpages enabled See Manual:$wgNamespacesWithSubpages for details on how to enable subpages in a namespace

Download instructions[edit | edit source]

Installation[edit | edit source]

To install this extension, add the following to LocalSettings.php:

require_once("$IP/extensions/SubpageSortkey/SubpageSortkey.php");
$wgSubpageSortkeyDefault = '-1';
$wgSubpageSortkeyByNamespace[NS_TALK] = '2..4';

And then run the maintenance script updateCollation.php --force (important!)

See also[edit | edit source]