Page MenuHomePhabricator

Define JsonSchema for well-known configuration variables
Open, Needs TriagePublic

Description

Instead of DefaultSettings.php, we should have config-schema.yaml which for each configuration variable contain the following:

  • the type
  • the default value
  • documentation
  • a merge strategy (optional)
NOTE: loading the defaults from a yaml file rather than have a PHP file initialize global variables is a big and scary step that needs to be taken slowly and carefully.

As a first, preliminary step, we could create a partial schema that only contains the bit we need right now, namely, the merge strategies. That schema could be represented as an array returned by a PHP file, to avoid any performance risk.

Event Timeline

Mainframe98 renamed this task from Develope JsonSchema for MediaWiki config to Develop JsonSchema for MediaWiki config.Nov 2 2021, 4:35 PM
daniel renamed this task from Develop JsonSchema for MediaWiki config to Defaint JsonSchema for well-known configuration variables.Dec 8 2021, 9:04 PM
daniel updated the task description. (Show Details)
daniel renamed this task from Defaint JsonSchema for well-known configuration variables to Define JsonSchema for well-known configuration variables.Jan 26 2022, 11:57 AM
daniel assigned this task to Pchelolo.
daniel moved this task from Todo to Done on the MediaWiki-SettingsBuilder board.

Change 757939 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] HttpRequestFactory: allow 0 to mean no max timeout.

https://gerrit.wikimedia.org/r/757939

Change 757958 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] Do not rely on $IP in DefaultSettings.php

https://gerrit.wikimedia.org/r/757958

Change 757939 merged by jenkins-bot:

[mediawiki/core@master] HttpRequestFactory: allow 0 to mean no max timeout.

https://gerrit.wikimedia.org/r/757939

Change 757958 merged by jenkins-bot:

[mediawiki/core@master] Do not rely on $IP in DefaultSettings.php

https://gerrit.wikimedia.org/r/757958

Aklapper added a subscriber: Pchelolo.

Removing inactive assignee (Platform Engineering: Please unassign tasks of previous team members.)