Wikibase
MediaWiki Wikibase extension
|
The Wikibase.git package is part of the Wikibase software and consists of multiple MediaWiki extensions and other components.
The package allows for the creation, maintenance, dissemination, and usage of structured data in MediaWiki.
High level documentation can be found on wikiba.se and mediawiki.org. Lower level documentation can be found on doc.wikimedia.org here.
Wikibase depends on various composer libraries.
Once you have Wikibase in your MediaWiki extensions directory, add the composer.json
of Wikibase to composer.local.json
at the root of your MediaWiki folder, as documented in MediaWiki's Composer documentation.
It should now look similar to:
Then, in the root of your MediaWiki folder, run:
If you already ran composer install
during the installation of MediaWiki, run instead:
When using ways to combine MediaWiki with the extension folders (e.g. symlinks or docker volumes) please make sure that the folders are available to composer in the same structure they are available to the webserver, too.
This will install both Wikibase Client and Repo together on the same wiki.
If you want to only have one or the other, then set $wgEnableWikibaseRepo = false
or $wgEnableWikibaseClient
to false for the one you don't want to enable.
Wikibase also depends on several JavaScript libraries. They are included in this repository as submodules. To fetch files of these libraries, you might need to run, in the Wikibase extension folder, the following command:
Wikibase uses tools to ensure the quality of software developed. To invoke these tools, inside the Wikibase folder, run:
As this uses development dependencies and custom configuration, executing it from the MediaWiki root folder (via
composer run-script test extensions/Wikibase
) will not work satisfactorily
Wikibase makes use of frontend software from various eras - resulting in a heterogenous technological landscape.
Some notable (not a comprehensive list) mentions are
mw.hook
in EntityInitializerrepo/tests/qunit
, available via a special pageTo add support for a new language code (for labels or monolingual text) please refer to the detailed documentation.