Release status: stable
|Description||Boilerplate code ready to be substituted to create a new extension with the latest standards and structure in place.|
|License||GNU General Public License 2.0 or later|
Translate the BoilerPlate extension if it is available at translatewiki.net
|Check usage and version matrix.|
The BoilerPlate extension is a blank extension template. It doesn't really do anything on its own, but provides boilerplate code for an actual MediaWiki extension. It also implements MediaWiki's preferred test automation and continuous integration (see that section below).
You should base your own code on the BoilerPlate extension, but for more in-depth comments and learning you should go and examine the Example extension.
To use it, enter the following commands to make a clean directory of just the BoilerPlate source code without the Git meta-data and other examples. (Substitute your extension's name for MyExtension.)
cd extensions git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/BoilerPlate.git cp -R BoilerPlate ./MyExtension
Then in MyExtension:
- rename BoilerPlate files to MyExtension.
BoilerPlatevariable names, preserving case (i.e. boilerPlate -> myExtension).
- replace "Your Name" in skin.json with your name.
Test automation and continuous integration
If you want to install this dull extension on your wiki to see if it works or troubleshoot problems with your adaptation.
- Download and place the file(s) in a directory called
- Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'BoilerPlate' );
- Visit Special:HelloWorld to verify the extension is working.
- Follow the steps in its README to install testing dependencies, then run npm test and composer test.
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
To users running MediaWiki 1.24 or earlier:
The instructions above describe the new way of installing this extension using
wfLoadExtension() If you need to install this extension on these earlier versions (MediaWiki 1.24 and earlier), instead of
wfLoadExtension( 'BoilerPlate' );, you need to use:
Earlier MediaWiki releases
If you want your extension to be compatible with earlier MediaWiki releases, consult the source code of release branches of the Example extension.
- Extension:Example is based off this extension with additional documentation. Read the Example extension, base your own code on the BoilerPlate extension.
- Manual:Developing extensions
- A cookiecutter template for MediaWiki extensions
- MWStew generates extension boilerplate files based on various parameters you give it.