Page MenuHomePhabricator

trial new termbox on desktop on a test system
Open, Stalled, Needs TriagePublic

Description

Problem:
The new termbox has proven itself on the mobile site of Wikidata. In order to reduce tech-debt and code duplication we also want to move forward with using it on the desktop site. Before we can do this we need to make a few more adaptations to make it work well on desktop and go through iterations with the editors (beta feature or similar, to be decided). As a first step UX and product want to better understand what it would look like if we just took the current version to desktop in order to better evaluate the remaining work needed. In order to do that we want to trial it on a test system without making any user-visible changes on Wikidata.

Acceptance criteria:

  • Termbox on Desktop page of Beta Wikidata is the Termbox v2 implementation as currently (September 2020) visible on Mobile Wikidata
  • This new behavior on beta is to be switched using a feature toggle (e.g. GET parameter)
  • UX and product can evaluate the current state of the new termbox on desktop on a test system

Open questions:

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Incomplete list of possible blockers:

  • load testing - enabling termbox on desktop is certainly going to increase the load on the termbox SSR service
  • Compatibility (or lack of) with the Vector skin - so far Termbox was tailored to look and work well only on MinervaNeue skin - not a blocker for this task. We intend to have a page does not look right to identify what is missing
  • it looks like the Termbox v2 cannot currently handle rendering revisions that no longer are provided by the API (e.g. Special:Undelete case) - issue for server-side rendered termbox

I manged to get it to "work" in my localhost:

image.png (461×1 px, 107 KB)

Horrible things I had to do to get it to work:

  • Make TermboxFlag php class set it to true if the setting is set
  • In RepoHooks::onBeforePageDisplay() register termbox and termbox.styles modules in case the settings is present or feature toggle is called)
  • Remove targets => [ 'mobile'] from termbox RL modules definitions
  • Prevent the old code from hydrating the termbox (I just set early return in view/resources/jquery/wikibase/jquery.wikibase.entityview.js, doing it properly will be fun)
  • Install ULS (it's not documented but termbox doesn't work without ULS)
  • Get the termbox SSR running, it's weirdly complex, I have made some patches to improve it.

Change 627532 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[mediawiki/extensions/Wikibase@master] [PoC] [DNM] How to make termbox work in desktop

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

Change 627549 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[mediawiki/extensions/Wikibase@master] Enable Termbox SSR for desktop behind a feature flag

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

Actually getting it behind feature flag wasn't that hard (mostly because of using jquery selector in the old js code).

Change 627549 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Enable Termbox v2 for desktop behind a feature flag

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

Change 628337 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[operations/mediawiki-config@master] labs: Turn on termbox v2 on wikidatawiki

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

Change 628337 merged by jenkins-bot:
[operations/mediawiki-config@master] labs: Turn on termbox v2 on wikidatawiki

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

Mentioned in SAL (#wikimedia-operations) [2020-09-18T14:13:14Z] <ladsgroup@deploy1001> Synchronized wmf-config/InitialiseSettings.php: labs: Turn on termbox v2 on desktop for wikidatawiki -- noop for production, sanity sync (T261488) (duration: 01m 00s)

Mentioned in SAL (#wikimedia-operations) [2020-09-18T14:15:37Z] <ladsgroup@deploy1001> Synchronized wmf-config/Wikibase.php: labs: Turn on termbox v2 on desktop for wikidatawiki -- noop for production, sanity sync (T261488) (duration: 00m 56s)

WMDE-leszek changed the task status from Open to Stalled.Sep 29 2020, 6:59 AM

After the discussion with @Lydia_Pintscher the conclusion has been reached that the v2 termbox on desktop beta wikidata will be taken down, and re-enabled when the team is ready to perform the evaluation.
Task for turning the old termbox back on desktop beta wikidata to follow.

Change 630852 had a related patch set uploaded (by Michael Große; owner: Michael Große):
[mediawiki/extensions/Wikibase@master] Don't try to show new Termbox for Lexemes

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

Change 630852 abandoned by Pablo Grass (WMDE):
[mediawiki/extensions/Wikibase@master] Don't try to show new Termbox for Lexemes

Reason:
The bug which this fixes has been reverted in Ifaec20aa47642c559254d085cb691e5affecba3c

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

Install ULS (it's not documented but termbox doesn't work without ULS)

The need for this is tracked in T218291: Model ULS dependency

Change 627532 abandoned by Ladsgroup:
[mediawiki/extensions/Wikibase@master] [PoC] [DNM] How to make termbox work in desktop

Reason:

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

Addshore moved this task from Incoming to Needs Wikidata PM Work on the Wikidata-Campsite board.
Addshore subscribed.

Moved per Lydia's note in an email.

Blocked until Product and UX want to do the trial.

Update: Work on this is now happening as part of the EntitySchema work in T324235 and in https://phabricator.wikimedia.org/project/view/6664/