Jump to content

Manual:$wgUseInstantCommons

From mediawiki.org
Shared uploads: $wgUseInstantCommons
Enable InstantCommons , i.e. the use of Wikimedia Commons as a shared repository
Introduced in version:1.16.0 (r58652)
Removed in version:Still in use
Allowed values:(boolean)
Default value:false

Usage

Add the following to your LocalSettings.php to enable InstantCommons:

$wgUseInstantCommons = true;

Details

Setting this configuration parameter to true enables InstantCommons , which allows to automatically use in the local wiki images hosted in Wikimedia Commons.

This configuration parameter's setting is a shorthand for the following setting to $wgForeignFileRepos :

$wgForeignFileRepos[] = [
	'class' => ForeignAPIRepo::class,
	'name' => 'wikimediacommons',
	'apibase' => 'https://commons.wikimedia.org/w/api.php',
	'url' => 'https://upload.wikimedia.org/wikipedia/commons',
	'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
	'hashLevels' => 2,
	'transformVia404' => true,
	'fetchDescription' => true,
	'descriptionCacheExpiry' => 43200,
	'apiThumbCacheExpiry' => 0,
];

Note

Enabling this configuration parameter does not avoid any usage of disk space on the server running the local wiki. Until MediaWiki 1.26, this setting did indeed generate thumbs on the local disk for caching purposes. In case the dimensions of the original file on Wikimedia Commons are exceeded when embedding the file on a page in the local wiki, the file will in its original size be put onto the local disk.

Since MediaWiki 1.27 (gerrit:251556), $wgUseInstantCommons hotlinks images from Commons by default instead of downloading originals and thumbnailing them locally.

This allows wikis to save on CPU and bandwidth while reducing time to first byte for pages, even without a thumbnail handler. This can make your wiki seem much faster

For example, if you have 100 InstantCommons images on a page, your wiki will make 400 API requests to the Commons API at page load time and the first byte of the page won't be returned for about 30 seconds. This can be somewhat improved by disabling $wgResponsiveImages You may prefer to override the default descriptionCacheExpiry by creating your own $wgForeignFileRepos entry, or maybe not use foreign file repositories at all and instead copy images from Commons to your own wiki using importImages.php . Note that counterintuitively, apiThumbCacheExpiry is fastest if set to 0. Another aspect that has a major affect on performance is how long metadata is cached. Unfortunately this is currently not configurable and hard coded to 3600 seconds (1 hour) which is rather short [1]

See the documentation of configuration parameter $wgForeignFileRepos for tweaks.

See also