Wikibase is a powerful and extensible piece of software, and a large amount of what it can do lies beyond the fairly stripped-down state Wikibase is in when you run your Docker images for the first time.
On this page you can take a quick, link-heavy tour of the resources available to help you extend your instance and give it the functionality you want and need it to have.
MediaWiki templates work a bit like text macros in that they contain content meant to be transcluded into other wiki pages. But their functionality can extend far beyond simple text replacement when scripting comes into play (see #Lua below).
To view the templates installed on your (or any) instance, navigate to
<your Wikibase URL>/wiki/Special:AllPages?from=&to=&namespace=10.
While there is no single repository for MediaWiki templates, Wikipedia does offer a robust template resource page. You can find them easily by searching the web or by looking through what’s installed on any given instance of MediaWiki. When you find a template you want to use, follow these instructions to start using it on your instance.
A few templates that Wikibase users often find useful:
- SPARQL - SPARQL query syntax highlighting
- Q - creates a direct link to an item
- Property - displays a localized label for a property
You can also check out this helpful third-party overview of templates: ryadel.com
MediaWiki’s robust software ecosystem offers a wide range of extensions, pieces of code that modify how your installation looks and works. Extensions come in many shapes and sizes, from simple and useful tweaks to large modifications in functionality; as you probably know, Wikibase is itself an extension to MediaWiki. You can browse and download many of these extensions with the MediaWiki ExtensionDistributor. These install instructions should cover most cases, but some extensions have special instructions called out separately below.
To view the extensions you currently have installed, navigate to
<your Wikibase URL>/wiki/Special:Version#mw-version-ext.
Note that the following list doesn’t include extensions meant for importing data into Wikibase, several options for which are covered in some detail over at Wikibase/Importing.
- Extension:AdvancedSearch - expands the search form with many additional options
- Extension:VisualEditor - offers an optional rich-text editor (see also the project page)
- Scribunto - enables the embedding of scripting languages into MediaWiki, currently only Lua. This enables, among other powerful applications for scripting, the use of Lua modules in templates (see above).
- Extension:Scribunto/Lua reference manual - Lua tutorial for MW/Scribunto
- Extension:Wikibase Client/Lua - Detailed references for Lua in MW/Scribunto, and the Wikibase-specific Lua API and JSON format
- Extension:Scribunto/Lua reference manual - Differences from standard Lua
Content management and spam protection
- Abuse Filter - create filters for editing to forestall abusive activity
- Nuke - enable mass deletion of pages
- Confirm Edit - add CAPTCHA checks before an edit is confirmed
- Tor Block - restrict access for Tor exit nodes
- OAuth - implements OAuth, required for some tools to work correctly with Wikibase
- CLDR - contains and manages locale-specific information regarding the display of data in different languages and formats
- Universal Language Selector - allows users to configure an interface language of their choice
- Property Suggester - adds useful auto-suggestion of properties for manual edits
Data quality and constraints
You can manage the quality of your Wikibase data by imposing constraints (which are actually more like guidelines).
See also the constraints portal which offers many constraints-oriented resources and tips on how to implement them effectively.
Last but not least
The Gadgets extension enables the use of gadgets (see below). You may well find that this extension is already installed on your instance, but make sure: it needs to be installed and enabled before implementing anything listed in the next section!
Gadgets are small interface modifications that each user of an instance can choose to activate or deactivate for their own use. Some examples can be found in the MediaWiki gadget list and Wikidata’s installed gadgets. Here’s a guide to writing your own, and here’s how to install a gadget.
As if templates, extensions and gadgets weren’t enough, there are many other ways you can customize your Wikibase installation. Here are some of the most commonly used.
As an administrator (with editInterface permissions), you can customize the messages displayed to the user by Wikibase.
A complete list of them can be found on the Special:AllMessages page of your instance:
<your instance URL>/wiki/Special:AllMessages
Consult the System message documentation for more information.
Sitelinks allow Wikibase’s MediaWiki interface to link to other wikis in a more useful way than a simple hyperlink. A good example is the language selector on Wikipedia pages; it relies on sitelinks established to wikis in other languages.
Although the Docker images handle most of the config changes shown in the Wikibase install documentation, sitelinks are a notable exception.
Sorted properties and statements
By default, Wikibase displays content from queries and on entity/item pages in the order in which each item was added to the database. To make a change in the display order, you’ll need to use a sorted properties list.
For more advanced users who seek tools to help them manage their data, there’s Pywikibot. It started life as a tool made for Wikipedia but was adapted to work on other Wikimedia projects, including Wikibase installations. Pywikibot amounts to a collection of scripts that can change and manipulate data programmatically, potentially saving large amounts of manual work.
Check out the third-party wiki quick start for Pywikibot to see if it might be right for your installation.