Page MenuHomePhabricator

Special:CreateMassMessageList should allow converting an existing page
Open, LowPublic

Description

https://meta.wikimedia.org/wiki/Special:CreateMassMessageList requires a unique title that doesn't already exist. This is annoying if you already have an existing delivery list.

Event Timeline

I've implemented the backend part of this, but I'm a bit unsure how the UX for this should work:

  • The first title field is checked client side to make sure the page doesn't already exist
  • The radio selector to pick what page you're importing from comes after the title input field

So...we can mark it as invalid until you pick that you're importing and then say it's okay? Or should we not do the extra validation client-side and let the server handle it?

Change 274568 had a related patch set uploaded (by Legoktm):
[WIP] Allow converting pages to MMCH on the same page

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

We should probably do this in a way that warns the user that the page is going to be converted, and tells them the old wikitext can still be accessed in the revision history--maybe something like the warning we give for missing signatures when sending a mass message.

Can't this already be done with Special:ChangeContentModel?

Can't this already be done with Special:ChangeContentModel?

No. Special:ChangeContentModel does not actually modify the page content. It only handles cases where the content is already suitable for the target model (in this case, a JSON object encoding a description and a list of targets).

I think the "proper" way to do this is to offer a preview of the converted results (where the description is the page with the targets stripped out) and allow the user to make changes. However, stripping targets out is difficult, as there is no guarantee that they follow a fixed syntax in the wikitext (e.g. they could be abstracted away in a template, as they are on Meta). Since this isn't an easy task or a critical feature (you can already import targets from a wikitext delivery list), I'm not inclined to work on it at the moment.

Legoktm subscribed.