Extension:MediaSearch
MediaSearch Release status: stable |
|
---|---|
Implementation | Special page , Search |
Description | Provide a rich search experience for media files |
Author(s) | Structured Data team |
Latest version | Continuous updates |
Compatibility policy | Snapshots releases along with MediaWiki. Master is not backward compatible. |
MediaWiki | master |
License | GNU General Public License 2.0 or later |
Download | readme |
|
|
Quarterly downloads | 13 (Ranked 127th) |
Translate the MediaSearch extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
MediaSearch is an alternative, media-focused way to display search results through the Special:MediaSearch page.
Requirements
[edit]MediaWiki 1.36.0 or greater.
While not strictly required, we suggest installing these dependencies to enhance the media search experience.
System-level dependencies
[edit]- ElasticSearch (see here for more information on how to install)
MW Extensions
[edit]The following Mediawiki extensions are recommended:
- CirrusSearch and dependencies, for improved search results & per-mediatype tab support
If you have a Wikibase repository, we strongly recommend also installing these extensions to allow more data to be used to enhance the search results:
Installation
[edit]After the extensions listed above are set up properly, enable the extension by adding wfLoadExtension( 'MediaSearch' );
along with the required config variables to LocalSettings.php
.
You might need to run composer install
in the extension directory, or in the root directory of your MediaWiki installation if you are using a setup that merges all extension's dependencies into MediaWiki's vendor directory.
Configuration
[edit]Extension configuration variables are sets of key-value pairs. They are documented in more detail in extension.json
. Config variables should be added to LocalSettings.php
. The following config options are available for this extension:
// External search results API (for results from another wiki - e.g. locally testing changes with remote results)
$wgMediaSearchExternalSearchUri = 'https://commons.wikimedia.org/w/api.php';
// External entity search base URI (for autocomplete suggestions, optional)
$wgMediaSearchExternalEntitySearchBaseUri = 'https://www.wikidata.org/w/api.php';
Coding conventions
[edit]JavaScript/Vue
[edit]As much as possible, we default to the Vue Style Guide.
For now, we are not using full single-file components because we need to be able to compile Less separately so it can be included immediately before the app loads to style the PHP UI.
CSS/Less
[edit]Since Wikimedia UI base variables aren't in core, we require them as a package dependency, then use a shell script to copy them to the lib
directory. To update the base variables, require the new version in package.json and install it, then run npm run build-lib
to copy the updated file into lib
. Commit the updated files.
We're including the base variables in our custom variables file, resources/mediasearch-variables.less
. To use them in other files, include mediasearch-variables.less
rather than directly including the base file itself.
The CSS class name prefix sdms
should be used for extension-level components. sd
should be used for base components to keep them extension-agnostic, in case we decide to pull them out into a separate library.
See also
[edit]This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |