Page MenuHomePhabricator

Use Codex in Special:PagePreparation
Closed, ResolvedPublic4 Estimated Story Points

Description

Before making more changes to this Special page, it would be helpful to have a solid base that's easy to extend.

Event Timeline

Nikerabbit renamed this task from Use vue in Special:PagePreparation to Use Vue.js in Special:PagePreparation.Oct 10 2023, 10:48 AM
Nikerabbit set the point value for this task to 4.
abi_ changed the point value for this task from 4 to 8.Oct 11 2023, 5:23 AM

Change 976192 had a related patch set uploaded (by Wangombe; author: Wangombe):

[mediawiki/extensions/Translate@master] Use Codex on Special:PagePreparation

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

Wangombe changed the task status from Open to In Progress.Nov 22 2023, 7:17 AM
Wangombe claimed this task.

SearchSuggest exists in MW Core so It would make sense to update it to a Vue component there instead of on the Translate extension. The diff is generated from the compare API as well; meaning that there's no additional work related to Vue on Special:PagePreparation

Wangombe renamed this task from Use Vue.js in Special:PagePreparation to Use Codex in Special:PagePreparation.Feb 2 2024, 9:29 AM

Change 995182 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/Translate@master] PrepareTranslatablePageTemplate: Use codex CSS buttons instead of mw buttons

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

SearchSuggest exists in MW Core so It would make sense to update it to a Vue component there instead of on the Translate extension.

Isn’t that TypeaheadSearch?

Change 995182 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Use Codex CSS buttons in Special:PrepareTranslatablePage

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

Was testing this on Translatewiki.net:

With Vector 2022 (BROKEN):

image.png (681×889 px, 49 KB)

With Vector legacy:

image.png (363×742 px, 22 KB)

With Timeless (Looks bad):

image.png (374×738 px, 22 KB)

Change #1014998 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/Translate@master] Special:PagePreparation: Increase specificity for 'hide' class

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

Change #1014999 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/Translate@master] Special:PagePreparation: Improve layout on Timeless skin

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

Change #1014998 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Special:PagePreparation: Increase specificity for 'hide' class

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

Change #1014999 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Special:PagePreparation: Improve layout on Timeless skin

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

Wangombe changed the point value for this task from 8 to 4.Mar 28 2024, 7:33 AM

We'll be following up this task with T361138. Story points have been reduced to 4 as we didn't have to use so much of Codex components.

Change #976192 abandoned by Wangombe:

[mediawiki/extensions/Translate@master] Use Codex on Special:PagePreparation

Reason:

In favor of I75bc7f7d529fe34b7bf4311659cc23a7cc11f9b1

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

Abandoned as it wasn't entirely in line with the requirements

The extent to which it’s a subtask of T343454: Use Codex CSS components or OOUI form instead of mediawiki.ui in Translate may be resolved, but I don’t think the result is particularly a “solid base that's easy to extend”. It mixes a JavaScript frontend (that actually provides nothing more in its current state than a pure-PHP version would) and a Mustache-based template, Codex classes with title search provided (and styled) by searchSuggest.js. It’s more like an experiment showcasing as many technologies as possible than a solid base that’s easy to extend. 🙂

I think a solid base would be either:

  • A pure PHP/Mustache/OOUI solution that provides with no more JS interactivity than what MediaWiki\Widget\TitleInputWidget provides (only PHP OOUI components).
  • A pure JS/Vue/Codex solution that uses no Mustache (the PHP part is so simple that it doesn’t need a templating system), no searchSuggest.js styling and no jQuery, but rather Vue and Codex’ Vue components (in particular TypeaheadSearch).