Manual:Extensions - MediaWiki
Jump to content
From mediawiki.org
Translate this page
Languages:
Bahasa Indonesia
Esperanto
Nederlands
Tiếng Việt
Türkçe
català
dansk
español (formal)
italiano
kabuverdianu
magyar
polski
português
português do Brasil
română
suomi
svenska
čeština
Ελληνικά
адыгабзэ
български
мокшень
русский
українська
עברית
العربية
تۆرکجه
سنڌي
فارسی
پښتو
अवधी
ગુજરાતી
ไทย
中文
吴语(简体)
한국어
Extensions:
Installation and upgrade
Development
Registration
Translation
All extensions
Category
Extensions FAQ
An
extension
lets you customise how MediaWiki looks and works.
System administrators can
install
(or remove) extensions on the MediaWiki installations that they manage.
Developers can
write new extensions
or contribute to existing extensions.
While some extensions are maintained by MediaWiki developers, others are developed by third parties and may be unmaintained. As a result, many extensions may contain bugs—including, in some cases, security vulnerabilities. Not all extensions are compatible with every version of MediaWiki, and they may not function reliably when used together.
Use extensions at your own risk, particularly those tagged as insecure. If an extension requires patches to the core software, make sure to back up your database beforehand to minimize the risk of breaking your wiki.
Selecting extensions
Bundled extensions
Several extensions are
bundled with MediaWiki
as standard.
These extensions should generally be of high utility, perform efficiently, be stable, be well-written, and have no known major security issues.
They should also be compatible with the latest versions of MediaWiki, and with each other (i.e. one extension shouldn't block the functions of another).
A bundled extension may have a dependency on one or more other extensions, as long as those are also bundled.
Site admins get these automatically when installing or upgrading MediaWiki.
When upgrading MediaWiki, any extension upgrades will be automatically applied as well.
Site admins may choose to uninstall any of these, if they wish.
There are open, ongoing discussions about which extensions should be part of this group.
You can
suggest additional extensions to be bundled
Extensions will be bundled once the developers reach a consensus to do so.
An extension may be removed from bundling if its functionality is merged into
MediaWiki core
, it is replaced by an alternative, or in the unlikely event of any unsolvable major security vulnerabilities being discovered.
Browsing extensions
Browse
Category:All extensions
, or
Category:Extensions by category
to see the full range of extensions that are available.
Checking installed extensions
Which extensions are active on an instance of MediaWiki can be checked by accessing the
Special:Version
page, and scrolling down to the heading
Installed extensions
(anchor
#mw-version-ext
).
For example,
these extensions
are installed on this wiki, and
these extensions
are active in the English Wikipedia.
Popular extensions
WikiApiary
counts wikis that extensions are installed on.
This represents actual installations and not just downloads (i.e. it queries the wiki's APIs), but it is also (as of 2023) not completely up-to-date.
It also doesn't count installations on private wikis.
Installing an extension
For further guidance, see also
Manual:Extensions/Installation and upgrade
MediaWiki is ready to accept extensions just after
installation
is finished.
To add an extension follow these steps:
Before you start
Many extensions provide instructions designed for installation using Unix commands. You require shell access (SSH) to enter these commands listed on the extension help pages.
Download your extension
Extension Distributor
helps you to select and download most of the popular extensions.
Extensions are usually distributed as modular packages. They generally go in their own subdirectory of
$IP
/extensions/
. A list of extensions stored in the Wikimedia
Git repository
is located at
git:mediawiki/extensions
. Some extensions
don't use version control
and are not recommended.
Some extensions are also available in
bundles
Composer
or
package repositories
It's recommended to read the README file before installation. It usually contains important info about configuration.
Install your extension
At the end of the
LocalSettings.php
file, add:
wfLoadExtension
'ExtensionName'
);
This line forces the PHP interpreter to read the extension file, and thereby make it accessible to MediaWiki.
Some extensions can conflict with maintenance scripts, for example if they directly access
$_SERVER
(not recommended). In this case, they can be wrapped in the conditional so maintenance scripts can still run.
if
$wgCommandLineMode
wfLoadExtension
'ExtensionName'
);
The maintenance script
importDump.php
will fail for any extension which requires customised namespaces which is
included
inside the conditional above such as
Extension:Semantic MediaWiki
Extension:Page Forms
Ensure that required permissions are set for extensions!
While this installation procedure is sufficient for most extensions, some require a different installation procedure. Check your extension's documentation for details.
If you want to alter configuration variables in
LocalSettings.php
, you have to do this typically
after
including the extension. Otherwise defaults defined in the extension will overwrite your settings.
Upgrading an extension
Some extensions require to be updated whenever you update MediaWiki, while others work with multiple versions.
To upgrade to a new version of an extension:
Download the new version of the extension
Replace all the extension files in the
extensions/ExtensionName
directory with the new files. Do not remove the extension configuration present in
LocalSettings.php
If the extension requires changes to the MediaWiki database, you will need to run the
update.php
maintenance script. Most extensions will mention if this script needs to be run or not. (Perform backup of your data before executing the script). If you don't have command line access, you can also use the
web updater
These instructions cover 99% of extensions. If the specific extension you are upgrading has instructions that differ from these, you should probably follow the specific extension's instructions
Uninstalling an extension
Remove the line from
LocalSettings.php
with the extension name to uninstall it:
wfLoadExtension
'ExtensionName'
);
You must also remove any lines pertaining to the configuration of the extension.
Developing extensions
MediaWiki core provides several ways for extensions to change the behavior and appearance of a wiki.
Various
extension points
give extensions flexibility to add features and functionality, such as displaying a special page or defining an API module.
To get started, see the
guide to developing extensions
Before writing a new extension, consider contributing to an
existing extension
or helping with an
unmaintained extension
Users can also make a general request on Phabricator, and hope that your good idea is picked up by a developer.
See
See also
Category:Extensions
Template:Extension
Manual:Developing extensions
Manual:Translating extensions
– Information about translating extensions.
Special:ExtensionDistributor
– Includes a list of the 15 most downloaded extensions in Wikimedia version control
extloc
– Where are MediaWiki extensions deployed in Wikimedia production?
API:Siteinfo#Extensions
Manual:Extending wiki markup
Manual:Hooks
Manual:Magic words
Manual:Skins
Retrieved from "
Categories
Customization techniques
Extension creation
Manual
Extensions
Add topic