Manual:Extensions

From MediaWiki.org
Jump to: navigation, search
Crystal Clear app tutorials.png Tag Extensions Parser Functions Hooks Special Pages Skins Magic Words

[edit] What are extensions?

Extensions let you customize how MediaWiki looks and works.

Wiki users can browse through existing extensions or request a new extension. System administrators can install (or remove) extensions on the MediaWiki installations that they manage. Developers can write new extensions or improve existing extensions.

Search the extensions by keyword(s):

Contents


Depending on your goals you can use extensions to:

[edit] Browsing extensions

You can browse Category:Extensions by category or the Extension Matrix to see the full range of extensions that have already been written. For information on installing these extensions or writing your own, see below.

[edit] Checking installed extensions

Only someone with administration access to the filesystem on a server can install extensions for MediaWiki, but anyone can check which extensions are active on an instance of MediaWiki by accessing the Special:Version article. For example, these extensions are active in the English Wikipedia.

[edit] Installing an extension

MediaWiki is ready to accept extensions just after installation is finished. To add an extension follow these steps:

  1. Before you start
    A few extensions require the installation of a patch. Many of them also provide instructions designed for installation using unix commands. You require shell access (SSH) to enter these commands listed on the extension help pages.
  2. 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 documented on MediaWiki.org is available on the extension matrix, and a list of extensions stored in the Wikimedia SVN repository is located at svn:trunk/extensions. Some extensions are available as source code within this wiki. You may want to automate copying them.
    Unofficial bundles of the extensions in the Wikimedia SVN repository can be found on the toolserver. These bundles are arbitrary snapshots, so keep in mind they might contain a broken version of the extension (just as if you load them from the developer's repository directly).
  3. Install your extension.
    Generally, at the end of the LocalSettings.php file (but above the PHP end-of-code delimiter, "?>", if present), the following line should be added:
    require_once( "$IP/extensions/extension_name/extension_name.php" );
    
    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) {
        require_once( "$IP/extensions/extension_name/extension_name.php" );
    }
    The maintenance script importDump.php will fail for any extension which requires customized namespaces which is included inside the conditional above such as Extension:Semantic MediaWiki, Extension:Semantic Forms.
    Note: Ensure that required permissions are set for extensions!
    Note: While this installation procedure is sufficient for most extensions, some require a different installation procedure. Check your extension's documentation for details.
    Note: 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.
    Caution! Caution: While extension declaration can be placed in other places within the LocalSettings.php file, never place extensions before the require_once( "includes/DefaultSettings.php" ); line. Doing so will blank the extension setup function arrays, causing no extensions to be installed, and probably will make your wiki inaccessible until you fix it!

[edit] Developing extensions

This complex topic is handled on under the developing extensions manual page.

[edit] See also

Extensions: CategoryAllRequestsTag extensionsExtension MatrixExtensions FAQExtension hook registryExtension namespace registry
Language: English  • Ελληνικά • Français • Bahasa Indonesia • 日本語 • 한국어 • Polski • Русский
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox