Manual:Special pages/old

This page is kept purely for GFDL compliance. Please see Manual:Special pages for the current version of this page.

A special page is a page for which there is no wikitext to view and edit. What each does is separately defined in the code.

A special page has several names:

  • The generic name. For the core special pages "Specialgeneric_name.php" is the name of a file in the includes directory containing the code for the page, for example, SpecialAllpages.php.
  • The name used in links; the full name starts with the prefix for the pseudo namespace Special; this prefix is specified in the message file of the site language as $namespaceNames (NS_SPECIAL) and produced by {{ns:-1}}, on this wiki giving "Special". The name after the prefix is given by the message, for the site language, with the generic name of the special page as ID.
  • The header of the page, given by a message, for the user-preferred language; the ID of the message is specified in a call to setPagetitle in the code for the special page. For example, for "allpages" it is "allarticles", or "allinnamespace" in the case of listing the pages in a specified namespace. Thus it is the contents of MediaWiki:allarticles for the user-preferred language, on this wiki for the default language "All pages".
  • The link label on the page Special:specialpages, for the example the contents of MediaWiki:allpages for the user-preferred language, on this wiki for the default language "All pages".

There are ca. 70 core special pages, each defined in a separate file with a name starting with "Special", in the includes directory. There is also the file SpecialPage.php for handling special pages in general. More special pages can be installed as extension. For each the code can specify whether it is listed on Special:specialpages, and whether the page is includable in other pages. In particular, Special:specialpages does not list core special pages for which the user has not the user rights.

Special pages can have parameters, e.g. .

A special page may or may not allow input. If it does this may just change the parameters in the URL of the special page, e.g. when specifying a starting page in "All pages", or it may cause a write-operation to the database, e.g. when moving a page or setting preferences.