Page MenuHomePhabricator

Register PersonalDashboard modules in extension.json
Closed, ResolvedPublic5 Estimated Story PointsSpike

Description

Currently, the module registry is hardcoded. Modules should be registered in extension.json to allow for more flexibility.

Acceptance criteria:

  • modules are registered via extension attribute
  • modules are namespaced to the extension that registers them
  • remove intermediate abstract class for module implementations
  • modules are injected into the dashboard via a factory pattern rather than wiring pattern

Event Timeline

jsn.sherman changed the task status from Open to In Progress.
jsn.sherman triaged this task as High priority.

Change #1267109 had a related patch set uploaded (by Jsn.sherman; author: Jsn.sherman):

[mediawiki/extensions/PersonalDashboard@master] DNM external module registration via attribute

https://gerrit.wikimedia.org/r/1267109

Okay, I took a first pass at registering modules in extension.json; this is not the most important step in itself, but IMO it will make the other steps cleaner if we look at it first and then base future changes on this.

Test wiki created on Patch demo by SCardenas (WMF) using patch(es) linked to this task:
https://2b9f25d505.catalyst.wmcloud.org/w/

Change #1267109 merged by jenkins-bot:

[mediawiki/extensions/PersonalDashboard@master] register modules via extension attribute

https://gerrit.wikimedia.org/r/1267109

Change #1273936 had a related patch set uploaded (by Jsn.sherman; author: Jsn.sherman):

[mediawiki/extensions/PersonalDashboard@master] DNM use ObjectFactory spec for module registry

https://gerrit.wikimedia.org/r/1273936

Change #1273936 merged by jenkins-bot:

[mediawiki/extensions/PersonalDashboard@master] use ObjectFactory spec for module registry

https://gerrit.wikimedia.org/r/1273936

jsn.sherman renamed this task from SPIKE PersonalDashboard: Investigate ways to make dashboard instatiation more dynamic to Register PersonalDashboard modules in extension.json.Apr 21 2026, 1:00 PM
jsn.sherman removed a project: Spike.
jsn.sherman updated the task description. (Show Details)
jsn.sherman updated the task description. (Show Details)
jsn.sherman moved this task from QA to Done on the Moderator-Tools-Team (Kanban) board.

verified that we didn't release the magic smoke on testwiki.

Test wiki on Patch demo by SCardenas (WMF) using patch(es) linked to this task was deleted:

https://2b9f25d505.catalyst.wmcloud.org/w/