Extension:ExtensionDistributor

From MediaWiki.org
Jump to navigation Jump to search

Other languages:
Deutsch • ‎English • ‎español • ‎中文 • ‎日本語
MediaWiki extensions manual
OOjs UI icon advanced.svg
ExtensionDistributor
Release status: stable
Implementation Special page
Description Enables the distribution of extensions from www.mediawiki.org
Author(s) Tim Starling, Sam Reed, Chad Horohoe
Latest version continuous updates
MediaWiki 1.26+
Database changes No
License GNU General Public License 2.0 or later
Download
  • $ExtDistAPIConfig
  • $ExtDistListFile
  • $ExtDistSnapshotRefs
  • $ExtDistDefaultSnapshot
  • $ExtDistCandidateSnapshot
  • $ExtDistGraphiteRanderApi
  • $ExtDistPopularExtList
  • $ExtDistPopularSkinList
Translate the ExtensionDistributor extension if it is available at translatewiki.net
Check usage and version matrix.
Issues Open tasks · Report a bug

The ExtensionDistributor extension generates .tar.gz snapshots of extensions in the git repository and distributes them. It is intended for use on www.mediawiki.org. See Special:ExtensionDistributor to see how it works.

Installation[edit]

  • Download and place the file(s) in a directory called ExtensionDistributor in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'ExtensionDistributor' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration settings:

/**
 * Configuration for the API client to use
 *
 * Must have a 'class' key, can either be
 * "GithubExtDistProvider" or "GerritExtDistProvider"
 *
 * Common parameters:
 *  'apiUrl' - API url to use with $EXT and $REF variables
 *  'tarballUrl' - API url where tarballs are located
 *  'tarballName' - Expected filename of tarballs
 *  'proxy' - Proxy to use (optional)
 *
 * Github specific parameters:
 *  'token' - An OAuth token for authenticating requests
 *
 * Gerrit specific parameters:
 *  'repoListUrl' - API url to fetch a list of repositories
 *
 * @var array
 */
$wgExtDistAPIConfig = false;

/**
 * File to fetch list of extensions from, with one extension per line
 * Only needed for the Github provider
 * Example url: https://gerrit.wikimedia.org/mediawiki-extensions.txt
 */
$wgExtDistListFile = false;

/**
 * Supported branches/tags, master is the default (and shouldn't be removed)
 */
$wgExtDistSnapshotRefs = array(
	'master',
);

/**
 * Snapshot branch/tag to default to
 */
$wgExtDistDefaultSnapshot = 'master';

You'll need to set up some configuration for the extension to work. For Wikimedia's Gerrit instance, it would look like:

$wgExtDistAPIConfig = array(
	'class' => 'GerritExtDistProvider',
	'apiUrl' => 'https://gerrit.wikimedia.org/r/projects/mediawiki%2F$TYPE%2F$EXT/branches',
	'tarballUrl' => 'https://extdist.wmflabs.org/dist/$TYPE/$EXT-$REF-$SHA.tar.gz',
	'tarballName' => '$EXT-$REF-$SHA.tar.gz',
	'repoListUrl' => 'https://gerrit.wikimedia.org/r/projects/?p=mediawiki/$TYPE/',
);

$wgExtDistSnapshotRefs = array(
	'master',
	'REL1_25',
);

The Gerrit provider requires an independent tarball generator, the source code for the one running at extdist.wmflabs.org can be found here.