Page MenuHomeMiraheze

Proposal to split Special:ManageWiki/settings into subpages in order to significantly boost preformance
Open, LowPublic

Description

Currently we have alot of configurable settings in Special:ManageWiki/settings. This module of ManageWiki really needs a redesign to prevent page slowdowns. With many more additons to this, I fear ManageWiki will become almost unusable due to how slow it is becoming. An example of this is test2wiki, with the amount of extensions enabled and therefore the amount of additional settings, it takes up to 5 minutes for it to load sometimes, for wikis which use alot of extensions, it is the same result.

I propose we split Special:ManageWiki/settings into 3 subpages, Special:ManageWiki/settings/core, Special:ManageWiki/settings/extensions, and Special:ManageWiki/settings/miscellaneous to split up the amount of elements loading on a single page and significantly increase page loads. If anything, I do think we at least need to split core configuration settings from extension configuration settings to at least give us awhile longer, by significantly removing the amount of configurstion fields loading at once, and hopefully give an overall significant preformance boost to this great module of ManageWiki. While this may not be of high priority right now, it isn't to far out before it is absolutely necessary to do something about this. Splitting into subpages is just an example idea, and any other possibilities is welcome, so long as it'll solve this issue. Thank you!

Event Timeline

Universal_Omega lowered the priority of this task from Normal to Low.Oct 28 2020, 18:04
Universal_Omega removed a project: MediaWiki.

ManageWiki has its own work board.

RhinosF1 removed John as the assignee of this task.Oct 28 2020, 18:11
RhinosF1 lowered the priority of this task from Normal to Low.
RhinosF1 added a subscriber: John.

Please don't assign tasks to users without permission and change priority

Universal_Omega raised the priority of this task from Low to Normal.Oct 28 2020, 18:12
Universal_Omega lowered the priority of this task from Normal to Low.
Universal_Omega moved this task from Features to Maintenance on the ManageWiki board.

Moved to maintenance as it's not really a feature. Sorry for the priority conflict.

With the introduction of the new helper classes, I do want to look at re-designing how ManageWiki as a whole interfaces with eachother. So enabling extensions and configuring them happens as a 'step by step' method, where once you enable an extension - you can change namespaces (if any), user groups/permissions (if any) and settings (if any) before the extension is actually physically enabled.

But at the same time, offer the existing large pages for modifying all extensions, settings, namespaces, permissions etc. This would also involve moving all core settings to a separate page and introduce extension specific 'multi pages' - but lack the full ability of the existing pages.

I'll provide rough mock ups of what I want to do by harcoding stuff on test2 wiki/locally and providing screen shots/a design spec.

In T6373#125296, @John wrote:

With the introduction of the new helper classes, I do want to look at re-designing how ManageWiki as a whole interfaces with eachother. So enabling extensions and configuring them happens as a 'step by step' method, where once you enable an extension - you can change namespaces (if any), user groups/permissions (if any) and settings (if any) before the extension is actually physically enabled.

But at the same time, offer the existing large pages for modifying all extensions, settings, namespaces, permissions etc. This would also involve moving all core settings to a separate page and introduce extension specific 'multi pages' - but lack the full ability of the existing pages.

I'll provide rough mock ups of what I want to do by harcoding stuff on test2 wiki/locally and providing screen shots/a design spec.

Thank you! I appreciate that! That sounds like a very good idea actually!

A side note but Phabricator has a application called 'mock' or something similar that might be useful for

I'll provide rough mock ups of what I want to do by harcoding stuff on test2 wiki/locally and providing screen shots/a design spec.

I may be being blind but we might need to install/enable it.