In MediaWiki-extensions-CommunityConfiguration, we should allow client extensions to define a configuration provider that is not displayed on the dashboard (Special:CommunityConfiguration). This can be handled by a flag within the provider descriptor in extension.json. Allowing opting-out from the form is important to support providers that deliberately do not have a form, such as https://www.mediawiki.org/wiki/MediaWiki:NewcomerTopicsOres.json (which is technically a CommunityConfiguration, but it can be edited only via raw JSON).
Description
Details
Related Objects
- Mentioned In
- T368728: CommunityConfiguration: skipDashboardListing should fully hide the provider from UI
T367655: Community configuration: Add support for dynamically-hidden providers
T365726: Decide how to handle an option that exists only in some wikis
T359185: Community configuration: Define behaviour for external titles and wikipage-based configuration store
T363356: Use an array of options for configuring a provider
Event Timeline
Change #1017036 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):
[mediawiki/extensions/CommunityConfiguration@master] Filter dashboard providers based on displayOnDashboard flag
Change #1017036 merged by jenkins-bot:
[mediawiki/extensions/CommunityConfiguration@master] Filter dashboard providers based on skipDashboardListing flag
@Cyndymediawiksim - to test should I try to add some providers to extension.json? And where (in what json file) can I see which providers are present now?
@Etonkovidova, yes you can add providers to an extension.json file. In the CommunityConfigurationExample, a provider FooBar is declared. Some other providers are also declared in GrowthExperiments' extension.json file. To test, you would need to add the "skipDashboardListing": true flag to each provider you do not want to be seen on the dashboard. Like so :
"Providers": {
"FooBar": {
"store": {
"type": "wikipage",
"args": [
"MediaWiki:ExampleConfig.json"
]
},
"validator": {
"type": "jsonschema",
"args": [
"CommunityConfigurationExample\\Schemas\\ExampleSchema"
]
},
"type": "mw-config",
"skipDashboardListing": true
}
}Based on the task description, it sounds like we will want to have an schema for representing NewcomerTopicsOres.json? Is this correct @Urbanecm_WMF ?
Thanks, @Cyndymediawiksim! All works as expected - I added "skipDashboardListing": true to CommunityConfigurationExample - "CCExample background color" is not displayed:
"skipDashboardListing": false will bring back "CCExample background color"
