Skip to content

Wikibase composer dependencies are not being detected/installed #50

@czouche

Description

@czouche

I'm trying to add the Wikibase extension to my canasta setup but I'm encountering some issues with how I should install it. Here is what I did:

  • I cloned this repo (latest version)
  • I cloned the tar of the Wikibase extension from here(Used the 1.39 version)
  • Extracted the content to the extensions folder
  • Since Wikibase requires additional dependencies, I added the following to config/composer.local.json file
{
  "require": {},
  "extra": {
    "merge-plugin": {
      "include": ["user-extensions/Wikibase/composer.json"]
    }
  }
}
  • I added the following to config/LocalSettings.php
wfLoadExtension( 'WikibaseClient', "$IP/extensions/Wikibase/extension-client.json" );
require_once "$IP/extensions/Wikibase/client/ExampleSettings.php";

$wgWBClientSettings['repoUrl'] = 'https://www.wikidata.org';
$wgWBClientSettings['repoScriptPath'] = '';
$wgWBClientSettings['repoArticlePath'] = '/wiki/$1';
$wgWBClientSettings['entitySources'] = [
    'wikidatawiki' => [
        'repoDatabase' => 'wikidatawiki',
        'baseUri' => 'https://www.wikidata.org/entity',
        'entityNamespaces' => [
            'item' => 0,     // The namespace for items on Wikidata
            'property' => 120, // The namespace for properties on Wikidata
        ],
        'rdfNodeNamespacePrefix' => 'wd',
        'rdfPredicateNamespacePrefix' => '',
        'interwikiPrefix' => '',
    ],
];
$wgWBClientSettings['itemAndPropertySourceName'] = 'wikidatawiki';
$wgWBClientSettings['siteLinkGroups'] = [ 'wikidata' ]; // Use the 'wikidata' site link group for Wikidata
$wgWBClientSettings['siteGlobalID'] = 'wikidata';
  • I start the canasta stack using docker compose up

Here is the error that I get:

MediaWiki internal error.

Original exception: [745e2a940c07da0c3967d007] /wiki/Main_Page Error: Class 'DataValues\Deserializers\DataValueDeserializer' not found
Backtrace:
from /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(266)
#0 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#1 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#2 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#3 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#4 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(356): Wikimedia\Services\ServiceContainer->get()
#5 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(1066): Wikibase\Client\WikibaseClient::getDataValueDeserializer()
#6 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#7 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#8 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#9 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#10 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(150): Wikimedia\Services\ServiceContainer->get()
#11 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(962): Wikibase\Client\WikibaseClient::getWikibaseServices()
#12 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#13 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#14 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#15 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#16 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(217): Wikimedia\Services\ServiceContainer->get()
#17 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(403): Wikibase\Client\WikibaseClient::getStore()
#18 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#19 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#20 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#21 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#22 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(160): Wikimedia\Services\ServiceContainer->get()
#23 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(851): Wikibase\Client\WikibaseClient::getEntityLookup()
#24 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#25 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#26 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#27 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#28 /var/www/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(211): Wikimedia\Services\ServiceContainer->get()
#29 /var/www/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(152): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#30 /var/www/mediawiki/w/includes/HookContainer/HookContainer.php(473): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#31 /var/www/mediawiki/w/includes/HookContainer/HookContainer.php(156): MediaWiki\HookContainer\HookContainer->getHandlers()
#32 /var/www/mediawiki/w/includes/HookContainer/HookRunner.php(2893): MediaWiki\HookContainer\HookContainer->run()
#33 /var/www/mediawiki/w/includes/parser/Parser.php(661): MediaWiki\HookContainer\HookRunner->onParserClearState()
#34 /var/www/mediawiki/w/includes/parser/Parser.php(4901): Parser->clearState()
#35 /var/www/mediawiki/w/includes/parser/Parser.php(957): Parser->startParse()
#36 /var/www/mediawiki/w/includes/parser/Parser.php(4928): Parser->preprocess()
#37 /var/www/mediawiki/w/includes/language/MessageCache.php(1308): Parser->transformMsg()
#38 /var/www/mediawiki/w/includes/language/Message.php(1456): MessageCache->transform()
#39 /var/www/mediawiki/w/includes/language/Message.php(1009): Message->transformText()
#40 /var/www/mediawiki/w/includes/language/Message.php(1053): Message->format()
#41 /var/www/mediawiki/w/includes/OutputPage.php(1048): Message->text()
#42 /var/www/mediawiki/w/includes/OutputPage.php(1097): OutputPage->setHTMLTitle()
#43 /var/www/mediawiki/w/includes/page/Article.php(474): OutputPage->setPageTitle()
#44 /var/www/mediawiki/w/includes/actions/ViewAction.php(78): Article->view()
#45 /var/www/mediawiki/w/includes/MediaWiki.php(542): ViewAction->show()
#46 /var/www/mediawiki/w/includes/MediaWiki.php(322): MediaWiki->performAction()
#47 /var/www/mediawiki/w/includes/MediaWiki.php(904): MediaWiki->performRequest()
#48 /var/www/mediawiki/w/includes/MediaWiki.php(562): MediaWiki->main()
#49 /var/www/mediawiki/w/index.php(50): MediaWiki->run()
#50 /var/www/mediawiki/w/index.php(46): wfIndexMain()
#51 {main}

Exception caught inside exception handler: [745e2a940c07da0c3967d007] /wiki/Main_Page Error: Class 'DataValues\Deserializers\DataValueDeserializer' not found
Backtrace:
from /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(266)
#0 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#1 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#2 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#3 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#4 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(356): Wikimedia\Services\ServiceContainer->get()
#5 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(1066): Wikibase\Client\WikibaseClient::getDataValueDeserializer()
#6 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#7 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#8 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#9 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#10 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(150): Wikimedia\Services\ServiceContainer->get()
#11 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(962): Wikibase\Client\WikibaseClient::getWikibaseServices()
#12 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#13 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#14 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#15 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#16 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(217): Wikimedia\Services\ServiceContainer->get()
#17 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(420): Wikibase\Client\WikibaseClient::getStore()
#18 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#19 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#20 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#21 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#22 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(165): Wikimedia\Services\ServiceContainer->get()
#23 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(800): Wikibase\Client\WikibaseClient::getEntityRevisionLookup()
#24 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#25 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#26 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#27 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#28 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(540): Wikimedia\Services\ServiceContainer->get()
#29 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(495): Wikibase\Client\WikibaseClient::getRedirectResolvingLatestRevisionLookup()
#30 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#31 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#32 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#33 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#34 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(547): Wikimedia\Services\ServiceContainer->get()
#35 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(866): Wikibase\Client\WikibaseClient::getFallbackLabelDescriptionLookupFactory()
#36 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#37 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#38 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#39 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#40 /var/www/mediawiki/w/user-extensions/Wikibase/client/includes/WikibaseClient.php(321): Wikimedia\Services\ServiceContainer->get()
#41 /var/www/mediawiki/w/user-extensions/Wikibase/client/WikibaseClient.ServiceWiring.php(606): Wikibase\Client\WikibaseClient::getSidebarLinkBadgeDisplay()
#42 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#43 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#44 /var/www/mediawiki/w/includes/MediaWikiServices.php(301): Wikimedia\Services\ServiceContainer->getService()
#45 /var/www/mediawiki/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#46 /var/www/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(211): Wikimedia\Services\ServiceContainer->get()
#47 /var/www/mediawiki/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(152): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#48 /var/www/mediawiki/w/includes/HookContainer/HookContainer.php(473): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#49 /var/www/mediawiki/w/includes/HookContainer/HookContainer.php(156): MediaWiki\HookContainer\HookContainer->getHandlers()
#50 /var/www/mediawiki/w/includes/HookContainer/HookRunner.php(3414): MediaWiki\HookContainer\HookContainer->run()
#51 /var/www/mediawiki/w/includes/skins/Skin.php(1535): MediaWiki\HookContainer\HookRunner->onSidebarBeforeOutput()
#52 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(792): Skin->buildSidebar()
#53 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(229): SkinTemplate->getPortletsTemplateData()
#54 /var/www/mediawiki/w/includes/skins/SkinMustache.php(88): SkinTemplate->getTemplateData()
#55 /var/www/mediawiki/w/canasta-skins/Vector/includes/SkinVector.php(450): SkinMustache->getTemplateData()
#56 /var/www/mediawiki/w/includes/skins/SkinMustache.php(58): MediaWiki\Skins\Vector\SkinVector->getTemplateData()
#57 /var/www/mediawiki/w/includes/skins/SkinTemplate.php(177): SkinMustache->generateHTML()
#58 /var/www/mediawiki/w/includes/OutputPage.php(2874): SkinTemplate->outputPage()
#59 /var/www/mediawiki/w/includes/exception/MWExceptionRenderer.php(183): OutputPage->output()
#60 /var/www/mediawiki/w/includes/exception/MWExceptionRenderer.php(102): MWExceptionRenderer::reportHTML()
#61 /var/www/mediawiki/w/includes/exception/MWExceptionHandler.php(131): MWExceptionRenderer::output()
#62 /var/www/mediawiki/w/includes/exception/MWExceptionHandler.php(248): MWExceptionHandler::report()
#63 /var/www/mediawiki/w/includes/MediaWiki.php(584): MWExceptionHandler::handleException()
#64 /var/www/mediawiki/w/index.php(50): MediaWiki->run()
#65 /var/www/mediawiki/w/index.php(46): wfIndexMain()
#66 {main}

It's clear that data-values dependency is missing, but it should have been installed since it's present in the composer.json of Wikibase as mentioned here

I saw there was a recent change with #48 regarding the proper way to installing extensions, so I'm not sure if it's related or not to the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions