Page MenuHomePhabricator

Chart wizard: Change `action=edit&visual=1` to `Special:ChartWizard`
Open, In Progress, HighPublic

Description

Background

Running the Vue app on action=edit is problematic as we don't have any easy means to disable other extensions, gadgets and user scripts that integrate with the editor. We should instead bring the user to dedicated page for editing charts via the wizard.

Acceptance criteria:

  • When browsing to a Chart page, say Data:World fastest elevators.chart, the "Edit with form" tab should take you to Special:ChartWizard/Data:World fastest elevators.chart with the dataset field pre-filled.
  • For now, browsing to Special:ChartWizard directly will show an error about a missing page. Later, we could provide an input to start a new Chart page, or something.

Event Timeline

HMonroy renamed this task from Change `action=edit&visual=1` to `chartaction=edit` to Visual mode: Change `action=edit&visual=1` to `chartaction=edit`.May 7 2026, 3:31 AM
HMonroy updated the task description. (Show Details)
HMonroy updated the task description. (Show Details)
HMonroy changed the task status from Open to In Progress.May 7 2026, 3:38 AM
HMonroy claimed this task.

I proposed on Slack that we move to using a Special page, say, Special:ChartWizard. Then we could link to a specific chart with i.e. Special:ChartWizard/Data:World fastest elevators.chart. This is not really necessary for Vue-only app, but we ideally want to use a little Codex PHP to prevent the FOUCs, and since we're adding a form, it begs if we should use FormSpecialPage.

This would make the setup very similar to what we did for MediaWiki-extensions-CommunityRequests (see SpecialWishlistIntake.php and the associated hook handler).

Note however, it's still possible to use HTMLForm (which powers FormSpecialPage) without an actual Special page, but it might be more hassle than it's worth. The end goal here with respect to PHP-provided fields I think would just be the "Dataset field" (which I'm proposing renaming to "Source" field at T425688 to match the JSON schema). So like Special:Block, where to do anything you need a user, in the Chart Wizard you need a source dataset. That makes it pretty compatible with the Special page paradigm, I think.

MusikAnimal renamed this task from Visual mode: Change `action=edit&visual=1` to `chartaction=edit` to Chart wizard: Change `action=edit&visual=1` to `chartaction=edit`.May 11 2026, 3:27 PM
MusikAnimal renamed this task from Chart wizard: Change `action=edit&visual=1` to `chartaction=edit` to Chart wizard: Change `action=edit&visual=1` to `Special:ChartWizard`.May 12 2026, 2:48 AM
MusikAnimal updated the task description. (Show Details)

Change #1287514 had a related patch set uploaded (by MusikAnimal; author: MusikAnimal):

[mediawiki/extensions/Chart@master] wizard: Add Special:ChartWizard to leverage Codex PHP

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