Hi everyone!
This is an announcement for a change to the example configuration of the WikibaseClient extension, which only affects Client wikis which are not also Repository wikis. If you don’t operate a non-Repo Client wiki, or if you don’t use the example settings, you can ignore this message. (Wikibase-Docker users, in particular, can ignore it.) The change will become effective on the master branch soon, and then in the future 1.36 release (but not yet in the upcoming 1.35 release).
Currently, the WikibaseClient example settings (client/ExampleSettings.php or client/config/WikibaseClient.example.php) define an example Repo for the Client if the WikibaseRepository extension is not also being loaded. As we are moving towards using extension registration for Wikibase (T88258 https://phabricator.wikimedia.org/T88258), this will no longer be possible (extensions loaded using wfLoadExtension() are processed later, so the example settings file can’t detect if WikibaseRepo is loaded or not). Therefore, we will be removing this code from the Client example settings, and if your wiki is not also a Repo wiki, you will have to configure the Repo manually. (For wikis that are both Repo and Client, the default Client settings are sufficient, and nothing needs to be done.) This means that if your configuration (LocalSettings.php) currently contains a line like
require_once "$IP/extensions/Wikibase/client/ExampleSettings.php";
or
require_once "$IP/extensions/Wikibase/client/config/WikibaseClient.example.php";
but not a line like
require_once "$IP/extensions/Wikibase/repo/Wikibase.php";
then you should copy the example settings https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/7613b87c6197ec5ec71a7ab9c751b2102f6538a6/client/config/WikibaseClient.example.php#L31-L65 into your configuration and adjust them as needed (at least the repoUrl, http://repo.example.org, is certainly wrong). If you already configure some of these client settings, then you can skip copying the corresponding example settings lines.
We will be making this change on the Wikibase master branch very soon, so if you use the latest MediaWiki and Wikibase from Git, then you will probably have to update your configuration ahead of the next update too. However, the change will not be in the upcoming MediaWiki 1.35 release (or the REL1_35 Wikibase branch), so if you are sticking to release versions, you don’t need to change anything yet. That said, you could still update your configuration in preparation for this future change – the only potential problem with copying this block is the repeated define(), which may raise a PHP Notice, so you might want to wrap those two lines https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/7613b87c6197ec5ec71a7ab9c751b2102f6538a6/client/config/WikibaseClient.example.php#L52-L53 in an if ( !defined( 'WB_REPO_NS_ITEM' ) ) block when copying them (unless you stop loading the example settings altogether, which is also an option).
I also want to stress that, while the eventual goal of this work is to load WikibaseRepo and WikibaseClient using extension registration (i. e., JSON files, not PHP entry points), we do not yet recommend that third-party installs do this. When Wikibase is fully ready for extension registration, we will send another announcement, and the PHP entry points will probably still be kept for compatibility for a good while longer even after they’re no longer required.
If you have any issue or question, feel free to leave a comment at T257449 https://phabricator.wikimedia.org/T257449. For more information, see also T256238 https://phabricator.wikimedia.org/T256238.
Cheers,
Lucas