Page MenuHomeMiraheze

Improve ManageWiki extension interface
Open, LowPublic

Description

After a fruitful discussion in Discord today, we came up with a few ways we might be able to improve the interface to ManageWiki. The first couple have to do with discoverability -- unless you know the name of the extension you want, it's hard to find something useful.

  1. Split the long extension list into multiple categories, so that similar functionality is grouped together (kind of akin to what Special:SpecialPages does). While it might be possible to get this from extension.json, this might end up with too many groups. We may want to choose a smaller group to be manually determined, like "User rights and moderation" "Wikicode functions" (parser functions), "Appearance", "Editing", Special Pages", "Other". The categories might be grouped into tabs or with ordinary headers; I'm fairly agnostic on this point. (Completed with this pull request)
  2. Next to each extension, load descriptionmsg from extension.json (or the translation files). The intent here is likely to be able to read what is not applicable before reading every page on Wikimedia.
  3. The save tab is a little weird. If it's at all possible, can we steal CSS from Special:Preferences? Similar functionality should look similar, and the MW design team did a fairly good job on "page with tabs and checkboxes".
  4. Stretch goal: configure extension variables from this screen, which also increases discoverability. If this is even possible, or a good idea.

Honestly you've done a really good job with ManageWiki, I'm just proposing to add a little more polish.

Event Timeline

labster triaged this task as Low priority.Sun, Apr 11, 08:15
labster created this task.

Agree with just about everything said and surprised there isn't a task for it already.

Some of this has been discussed before but we're lacking in developers with the experience to do it.

R4356th added a subscriber: R4356th.

This is was talked about on Discord. Thank you for creating the task! I will work on this when I return to Miraheze full time.

Now that I have CreateWiki and ManageWiki working on my local MediaWiki install, I will attempt to start working on some of these changes when I get the chance.

Split the long extension list into multiple categories, so that similar functionality is grouped together (kind of akin to what Special:SpecialPages does). While it might be possible to get this from extension.json, this might end up with too many groups. We may want to choose a smaller group to be manually determined, like "User rights and moderation" "Wikicode functions" (parser functions), "Appearance", "Editing", Special Pages", "Other". The categories might be grouped into tabs or with ordinary headers; I'm fairly agnostic on this point.

Already supported, just needs mw-config change for that. You just need to add the 'section' => 'section' key => value to ManageWikiExtensions.php.

Next to each extension, load descriptionmsg from extension.json (or the translation files). The intent here is likely to be able to read what is not applicable before reading every page on Wikimedia.

$extensions = ExtensionRegistry::getInstance()->getAllThings();
$descriptionmsg = $extensions['ExtensionName']['descriptionmsg'];
$description = wfMessage( $descriptionmsg )->parse();

Should work for this (provided that the extension or skin is loaded with ExtensionRegistry (extension/skin.json))

I have a couple additional plans for this though.

Split the long extension list into multiple categories, so that similar functionality is grouped together (kind of akin to what Special:SpecialPages does). While it might be possible to get this from extension.json, this might end up with too many groups. We may want to choose a smaller group to be manually determined, like "User rights and moderation" "Wikicode functions" (parser functions), "Appearance", "Editing", Special Pages", "Other". The categories might be grouped into tabs or with ordinary headers; I'm fairly agnostic on this point.

Already supported, just needs mw-config change for that. You just need to add the 'section' => 'section' key => value to ManageWikiExtensions.php.

Added in this pull request. Currently this just uses the type value from extension.json, but we may want to consider changing these categories to be more useful and balanced in the future.

https://github.com/miraheze/mw-config/pull/3830/ reorders the sections created by @Joritochip (thanks for that by the way)

https://github.com/miraheze/mw-config/pull/3830/ reorders the sections created by @Joritochip (thanks for that by the way)

Note that some extensions define custom types (see Wikibase, for example). I suggest adding those sections. There should be a way to automatically detect this (not very important but would be good).