Page MenuHomePhabricator

Manage list of enabled extensions and skins in a JSON/YAML file
Open, Needs TriagePublic

Description

(Somewhat related to T223602: Define variant Wikimedia production config in compiled, static files)

It'd be nice to have a file, in JSON or YAML format, that contains the list of enabled extensions/skins.

Use cases:

  • a maintenance script like manageExtension that could be used with e.g. php maintenance/run.php manageExtension --enable=GrowthExperiments,DiscussionTools or php maintenance/run.php manageExtension --disable=Flow. Slightly lowers the barrier to entry for less technical users in needing to work with LocalSettings.php
  • MediaWiki could consult this file to load extensions/skins; wfLoadExtension() or wfLoadSkin() in Localsettings.php could still work of course
  • phpunit tooling could consult the file to skip over non-enabled extensions (T90875#7991774)

Event Timeline

See previous prototype at T118188#2613011 & https://gerrit.wikimedia.org/r/c/mediawiki/core/+/308891/ and more discussion at T250406.

Aha, thanks @Legoktm. Do you mind if I restore https://gerrit.wikimedia.org/r/c/mediawiki/core/+/308891 and see if I can move it forward?

I should have mentioned T250406 in the description -- there is some overlap, but that is a much farther reaching goal than what I am interested in at the moment. (Speaking of, for your patch, I'd propose to drop the fetch/update subcommands to keep things simple right now.)