Extension:Admin Links

From mediawiki.org
MediaWiki extensions manual
Admin Links
Release status: stable
Implementation Special page , Hook , API
Description Defines a special page, "AdminLinks", meant to serve as a "control panel" for administrators; and adds a link to this page to their "user links"
Author(s) Yaron Koren <yaron57@gmail.com> (Yaron Korentalk)
Latest version 0.6.2 (August 2023)
Compatibility policy Master maintains backward compatibility.
MediaWiki 1.35+
PHP 7.4+
Database changes No
Composer mediawiki/admin-links
License GNU General Public License 2.0 or later
Download
README
Example The "Admin links" page for Discourse DB
  • $wgAdminLinksDelimiter
adminlinks
Translate the Admin Links extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

Admin Links is an extension to MediaWiki that defines a special page, "Special:AdminLinks", that holds links meant to be helpful for wiki administrators; it is meant to serve as a "control panel" for the functions an administrator would typically perform in a wiki. All users can view this page; however, for those with the 'adminlinks' permission (sysops/administrators, by default), a link to the page also shows up in their "Personal URLs", between "Talk" and "Preferences".

Admin Links provides a hook and an API for other extensions to be able to add their own links and sections to the page.

You can see an example of this page with additional links and sections added by other extensions here.

MediaWiki already provides a "Special:SpecialPages" page, which lists the special pages for all the extensions installed on the wiki, which may lead you to wonder what the need is for the additional "AdminLinks" page. However, there are a number of important differences that make "AdminLinks" useful:

  • "SpecialPages" holds links to every special page in the wiki, including many (such as Unused categories) that are not specifically helpful to administrators; "AdminLinks" attempts to link only to the administrator-specific ones
  • "AdminLinks" can hold links to pages that are not special pages, such as the "Edit sidebar" page and documentation for various extensions
  • Finally, the Admin Links extension puts a link to "AdminLinks" in administrators' personal tools, which makes things more convenient.

Code and download[edit]

You can download the Admin Links code, in .zip format, here.

You can also download the code directly via Git from the MediaWiki source code repository. From a command line, you can call the following:

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AdminLinks.git

To view the code online, including version history for each file, go here: phab:diffusion/EADL/browse/master/

Installation[edit]

  • Download and move the extracted AdminLinks folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AdminLinks
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'AdminLinks' );
    
  • Configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration[edit]

If you want to have the members of groups other than 'sysop' see a link to the AdminLinks page among their navigation links, you can also add lines like the following after it:

$wgGroupPermissions['my-group']['adminlinks'] = true;

By default, links are separated by an interpunct (·) You can change this via the global variable $wgAdminLinksDelimiter; for example, to have links separated by a pipe, add the following:

$wgAdminLinksDelimiter = '|';

Authors[edit]

Admin Links was written by Yaron Koren, reachable at yaron57@gmail.com.

Version history[edit]

Admin Links is currently at version 0.6.2.

The version history is:

  • 0.1 (2009-05-13) - Initial version
  • 0.1.1 (2009-06-02) - Support for many languages added
  • 0.1.2 (2009-09-09) - Support for many more languages added
  • 0.1.3 (2010-07-12) - More links added; some section headers renamed
  • 0.1.4 (2011-02-22) - Handling improved for MW 1.16+; link to Special:ListFiles added
  • 0.1.5 (2011-10-10) - Handling improved for MW 1.17+; link to Special:Log added
  • 0.1.6 (2012-01-06) - Support removed for MW < 1.16
  • 0.1.7 (2012-11-12) - Handling improved for MW 1.18+; support removed for MW < 1.18
  • 0.1.8 (2013-05-01) - Fix for ALItem::newFromPage()
  • 0.2 (2014-05-30) - i18n messages moved into JSON files; grouping added for Special:AdminLinks within Special:SpecialPages
  • 0.2.1 (2015-01-20) - Minor code fixes
  • 0.2.2 (2015-06-24) - Support for Composer added; handling improved for MW 1.21+
  • 0.2.3 (2016-06-07) - Fix for nonexistent special pages; support removed for MW < 1.23
  • 0.3 (2018-05-24) - extension.json added
  • 0.3.1 (2018-05-31) - Re-added accidentally-removed support for MW < 1.28; dedicated link to Special:CreateAccount added
  • 0.4 (2020-01-16) - AdminLinks.php removed; support removed for MW < 1.28; link escaping improved
  • 0.4.1 (2020-06-22) - Handling improved for MW 1.32+
  • 0.4.2 (2021-06-08) - Handling improved for MW 1.35+
  • 0.5 (2022-02-07) - Support removed for MW < 1.32; coding improvements
  • 0.6 (2023-01-27) - Support removed for MW < 1.35; $wgAdminLinksDelimiter setting added; coding improvements
  • 0.6.1 (2023-03-28) - Fix for display within Chameleon skin
  • 0.6.2 (2023-08-21) - Updated hook handling; support removed for PHP 7.3


The Admin Links API[edit]

In order for an extension to add links and sections to the AdminLinks page, it must define a new function, and register it with the "AdminLinks" hook. See the AdminLinks hook manual for more info.

Extensions that use Admin Links[edit]

A number of extensions and skins add links to the Admin Links page, if installed. See Category:AdminLinks extensions for the current list.

Contributing to the project[edit]

Bugs and feature requests[edit]

Send any bug reports and requests to Yaron Koren, at yaron57@gmail.com.

Contributing patches to the project[edit]

If you found some bug and fixed it, or if you wrote code for a new feature, please create a patch by going to the "AdminLinks" directory, and typing:

git diff > descriptivename.patch

Then send this patch, with a description, to Yaron Koren.