Hi,
in my first attempt at jumping into improving a mediawiki extension, I am failing at a
very basic step.
I want to make the extension configurable and followed this advice:
[
https://www.mediawiki.org/wiki/Manual:Configuration_for_developers |
https://www.mediawiki.org/wiki/Manual:Configuration_for_developers ]
this is my extension.json I added:
"config": {
"ShariffServices": {
"value":
"["twitter","facebook","pinterest"]",
"description": "configuration of available services"
}
},
"ConfigRegistry": {
"Shariff": "GlobalVarConfig::newInstance"
},
now in the baisc PHP file of the extension, I am trying
use MediaWiki\MediaWikiServices;
$config = MediaWikiServices::getInstance()->getConfigFactory()->makeConfig(
'Shariff' );
$services = $config->get ('Services');
but the last line leads to
[XtqcaewKU0Q3UCukKmZO9AAAABM] /index.php?title=Main_Page Error from line 3061 of
../includes/parser/Parser.php: Call to a member function matchStartAndRemove() on null
Backtrace:
#0 ..includes/parser/Preprocessor_DOM.php(1277): Parser->braceSubstitution(array,
PPFrame_DOM)
#1 ../includes/parser/Parser.php(2942): PPFrame_DOM->expand(DOMElement, integer)
#2 ../includes/parser/Parser.php(701): Parser->replaceVariables(string, PPFrame_DOM)
#3 ../includes/parser/Parser.php(4717): Parser->preprocess(string, Title,
ParserOptions)
#4 ../includes/cache/MessageCache.php(1089): Parser->transformMsg(string,
ParserOptions, Title)
#5 ../includes/Message.php(1273): MessageCache->transform(string, boolean, LanguageEn,
Title)
#6 ../includes/Message.php(874): Message->transformText(string)
#7 ../includes/Message.php(934): Message->toString(string)
#8 ../includes/OutputPage.php(902): Message->text()
#9 /../includes/OutputPage.php(949): OutputPage->setHTMLTitle(Message)
#10 ../includes/OutputPage.php(2424): OutputPage->setPageTitle(string)
#11 /../includes/exception/MWExceptionRenderer.php(128):
OutputPage->prepareErrorPage(string)
#12 ../includes/exception/MWExceptionRenderer.php(54):
MWExceptionRenderer::reportHTML(ConfigException)
#13 ../includes/exception/MWExceptionHandler.php(75):
MWExceptionRenderer::output(ConfigException, integer)
#14 ../includes/exception/MWExceptionHandler.php(149):
MWExceptionHandler::report(ConfigException)
#15 ../includes/MediaWiki.php(551): MWExceptionHandler::handleException(ConfigException)
#16 ../index.php(42): MediaWiki->run()
#17 {main}
What am I doing wrong?
As far is I understand it, using DefaultSettings.php is outdated, we should be using
extension.json. But I can't get it to work.
Can anybody point me to a simple extension that uses this mechanism correctly?,
cheers,
Bernhard