MediaWiki-extensions-CommunityConfiguration has the concept of editor capabilities. This is used to give complete control over the editor subpage, empowering other extensions to replace the default editor with their own logic. An example usecase is Adiutor by @Dogu, which has a fairly complex configuration pages with tabs and so on, something which is unfortunately not possible to do within MediaWiki-extensions-CommunityConfiguration itself.
In this task, we should allow client extensions to define their own editor capabilities. This can look like this (snippet from extension.json):
{
[...],
"attributes": {
"CommunityConfiguration": {
"EditorCapabilities": {
"BlockCategories": {
"class": "MediaWiki\\Extension\\StructuredBlockReasons\\EditorCapabilities\\BlockCategoriesEditorCapability"
}
},
"Providers": {
"BlockCategories": {
"store": {
"type": "wikipage",
"args": ["MediaWiki:BlockCategories.json"]
},
"validator": {
"type": "jsonschema",
"args": ["MediaWiki\\Extension\\StructuredBlockReasons\\Schemas\\BlockCategoriesSchema"]
},
"options": {
"editorCapability": "BlockCategories"
}
}
}
}
},
[...]
}