Extension:Wikibase Repository

Wikibase is an extension that acts as structured data repository. Its development is part of the Wikidata project. Its counterpart is Wikibase Client.

Feature overview
TODO

Requirements
requires:


 * MediaWiki 1.20 or above
 * PHP 5.3 or above
 * WikibaseLib extension of the same version
 * Diff
 * Universal Language Selector

And one of the following:


 * MySQL 5 or later
 * SQLite 3 or later
 * PostgreSQL 9 or later

Installation
Once you have downloaded the code, place the Wikibase directory within your MediaWiki 'extensions' directory. Then add the following code to your LocalSettings.php file:

Namespace setup
You also need to configure which namespaces should be used before the extension will work. Wikibase needs 3 namespaces: one for items, one for properties and one for queries. Typically these are either 3 new namespaces, or 2 new ones and the main namespace being used for items. Configuration for both looks as follows:

Where placeholder-0 and placeholder-1 need to be replaced depending on which setup you go with:

placeholder-0 needs to be as follows for the 3 dedicated namespace setup:

And like this for using the main namespace:

placeholder-1 needs to have the below in case of 3 dedicated namespaces and nothing when using the main namespace:

Configuration
Configuration of is done by assigning to $egWBSettings in your LocalSettings.php file. The options are listed below and their default is set in the settings file. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

Example of how to change a setting:

Available settings:

Maintenance scripts
This extension has some maintenance scripts in the  subdirectory. They assume that the extension is installed in the extensions directory of the MediaWiki software (i.e. files are in the  directory), if this is not the case, you can set the   environment variable to the path of your MediaWiki installation and the scripts will use it.

deleteAllData.php
This script should delete all the Wikidata data and articles in Data namespace. You may use it to delete the data after testing.

extractInterlang.sql
This is an SQL query that extracts interlanguage links from a wiki in a format readable by importInterlang.php. You may use it in a database of a wiki that has interlanguage links, so that you can later import them for testings.

importInterlang.php
This script imports interlanguage links from a file into a wiki, also creating labels in the process. The file is a tab-separated CSV file, in the following format:

page_title    ll_lang   ll_title -архија       cs        Seznam forem vlády -архија       de        Liste der Staatsformen und Regierungssysteme -архија       en        Government#Forms of government -архија       eo        Listo de formoj de registaro -архија       es        Anexo:Formas de gobierno -архија       fr        Liste de formes de gouvernements -архија       jv        Daftar wangun pamaréntahan -архија       ku        Lîsteya pergalên siyasî -архија       mk        Список на општествени уредувања -графија      de        -graphie -графија      en        -graphy -графија      id        -grafi -графија      ka        ...გრაფია -графија      sv        -grafi

The first row of the file is ignored.


 * The first column contains article titles of articles on the base wiki (the wiki the links are linked from).
 * The second column contains language codes of the links.
 * The third column contains article titles of the linked articles.

Script options:
 * : if set, the script will print API requests, responses, and other information.
 * : if set, the script will ignore API errors and continue importing even if it encounters an error.
 * : This should be the language code of the base wiki, the wiki you have extracted interlanguage links from.
 * : The file with interlanguage links, presumably generated by extractInterlang.sql.
 * : Base API url of the wiki you are importing the link into. For example,

Example command line:

Version
This is a copy of the release notes file on GIT, which might be more up to date than this page.

Internationalization
is fully internationalized. Translation of messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.