Page MenuHomePhabricator

Graduate the Page Previews beta feature on stage 0 wikis
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

The Page Previews feature will be deployed in staged rollouts, beginning with Stage 0: Italian, Russian, Greek, Catalan, Hebrew (see rollout plan). The performance on each Wikipedia will be measured and analyzed.

NOTE: Enable stage 0 wikis March 20.

AC

After the beta feature is graduated make sure:

  • Those logged in users who enabled the beta feature will still have the feature enabled.
  • 90% of logged out users will have the feature delivered to them.
  • Events are logged for all users (as a basis of comparison)
  • Feature is not present under the beta feature list
  • Olga, Anthony and TSG run through test plan

Open Questions

  • Should this be implemented by making the Page Previews codebase lazily-loadable? No. Given that all of the interaction handling code and the instrumentation will be required, we (the Reading Web software engineers) consider delaying the initial preview too much of a penalty.
  • Should we test all Wikipedias or only a portion? We'll test on all stage 0 Wikipedias.

The original wording of this task, which is as follows, is still relevant but approached the problem from a performance perspective:

There are a handful of instances where the majority of the Popups code needn't be loaded but is:

  • When the user has enabled the beta feature but has since disabled it via the settings menu
  • When the user is entered into the A/B test but isn't assigned the enabled condition (see T132604)
  • When the user has the NavPopups gadget enabled

AC

Answers on the back of a postcard, sent to mobile-l/wikitech-l:

  • Can we really defer the loading of the majority of the codebase?
  • Would it be worth it, i.e. what the impact on UX, if any, be acceptable?
  • If it wouldn't be worth it, are there any small improvements that we can make to improve the status quo?

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

PagePreviews feature will be available only as a normal feature or Beta feature. Additionally, we want to enable PagePreviews for all beta users who enabled Popups previously.

We use the same Opt-In UserPreference key (https://github.com/wikimedia/mediawiki-extensions-Popups/blob/mpga/includes/PopupsContext.php#L61) to store user opt-in state for PagePreviews both for normal/Beta mode. All users who previously enabled PagePreviews Beta feature will have enabled PagePreviews after rollout.
If someone disables the PagePreviews after rollout and then we rollback the code -> user will also have disabled Beta PagePreviews.

Restricted Application added a subscriber: Dereckson. ยท View Herald TranscriptFeb 13 2017, 8:06 PM

Open question: This is currently scheduled for sprint 92 but timeline wise it looks like we won't be ready to do this until sprint 93 at earliest.

Depends on when we merge the new branch. Can we work on this in parallel? The plan would be:

  1. {156290}
  2. Complete this task and QA
  3. Deploy to stage 0 wikis T136602: Graduate the Page Previews beta feature on stage 0 wikis
ovasileva updated the task description. (Show Details)
ovasileva set the point value for this task to 3.

Change 340706 had a related patch set uploaded (by Phuedx):
[operations/mediawiki-config] Re-enable Page Previews instrumentation

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

Change 340706 merged by Phuedx:
[operations/mediawiki-config] Re-enable Page Previews instrumentation

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

phuedx updated the task description. (Show Details)

^ Moving this to To Do as we could defer graduation on hewiki until T160614: Horizontal gradient appearing on wrong side of text for RTL page previews is deployed there (Wednesday, 22nd).

Performance-Team: Be aware that the JS and CSS payload on it-, ru-, el-, and cawiki will increase by ~14 KB and 3.5 KB respectively when the feature is graduated. If we choose to be more aggressive in T158999: Popups is not independent from EventLogging anymore, then we can decrease the JS payload size by 2-3 KB.

Services/Performance-Team: Be aware that this we're lining this up for today's morning SWAT (6-7 PM UTC).

Is the 3.5kb loaded in head or via js (i think it is the latter?)

The latter. None of the Page Previews RL modules are loaded in the head.

Change 343675 had a related patch set uploaded (by Phuedx):
[operations/mediawiki-config] pagePreviews: Enable by default on "stage 0" wikis

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

Change 343675 merged by jenkins-bot:
[operations/mediawiki-config] pagePreviews: Enable by default on "stage 0" wikis

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

Mentioned in SAL (#wikimedia-operations) [2017-03-20T18:28:15Z] <thcipriani@tin> Synchronized wmf-config/InitialiseSettings.php: SWAT: [[gerrit:343675|pagePreviews: Enable by default on "stage 0" wikis]] T136602 (duration: 00m 42s)

Jdlrobson removed a project: Patch-For-Review.

Over to you @ovasileva.
As discussed, we'll deploy to Hungarian and Hebrew wikis next sprint in a follow up (please create card upon sign off) and we'll limit this card to the ones we were actually able to deploy for.

feature works on all wikis. No immediate bugs found. Further bugs will be tracked under T156292: Page Previews full feature QA