Community configuration: What happened in a year?
Martin Urbanec, Michael Große�Growth team, WMF�Wikimedia Hackathon 2024 – May 03, 2024
Agenda
Motivation
Michael Große
01
Common complaints about WMF
It proved to work!
Arabic Wikipedia disabled a Newcomer task
Screenshot from Special:EditGrowthConfig in GrowthExperiments extension
It proved to work!
Swahili Wikipedia independently enabled Mentorship features
Screenshot from Special:EditGrowthConfig in GrowthExperiments extension
Current status
Martin Urbanec
02
By Webysther - Sample from MediaWiki source code on GitHub., CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=56188328
Community configuration is now
a (working) MediaWiki extension!
Screenshot from Special:CommunityConfiguration (May 2024)
You can try it out!
We answered most of the open questions!
We now (mostly) know what we want CommunityConfiguration to be like.
Should all configuration be present in one place or one config per feature set?
Should communities be able to add their own fields to Community configuration (gadgets, user scripts, etc.)?
How to ensure config is always loaded from the correct place?
There are still some unanswered questions.
How to make Community configuration discoverable?
Architecture
Martin Urbanec
03
Modular architecture
Validator
Example schema
class ExampleSchema extends JsonSchema {
public const String = [
self::TYPE => self::TYPE_STRING
];
}
Editor form
By default: An editing form is automatically generated based on a JSON schema
Client extensions might introduce a new editor capability to replace the default logic with their own, to meet more complex needs.
Store
Configuration provider
Provider in extension.json
"attributes": { "CommunityConfiguration": { "Providers": {
"HelpPanel": {
"store": {
"type": "wikipage",
"args": [
"MediaWiki:GrowthExperimentsHelpPanel.json"
]
},
"validator": {
"type": "jsonschema",
"args": [ HelpPanelSchema::class ]
},
"type": "mw-config"
}
}}}
Next steps
Michael Große
04
Production deployment
Defining stable interfaces
Supporting a first non-Growth extension
Questions and answers
Slidedeck: https://s.wmcz.cz/wmhack24-cc�Homepage: https://s.wmcz.cz/cc-homepage �Contact: murbanec@wikimedia.org, mgrosse@wikimedia.org