Page MenuHomePhabricator

Deploy summary experiment
Closed, ResolvedPublic1 Estimated Story Points

Assigned To
Authored By
ovasileva
Oct 24 2024, 3:27 PM
Referenced Files
F57726341: screenshot 42.png
Nov 20 2024, 11:12 PM
F57726339: screenshot 41.png
Nov 20 2024, 11:12 PM
F57726337: screenshot 40.png
Nov 20 2024, 11:12 PM
F57726335: screenshot 39.png
Nov 20 2024, 11:12 PM
F57726333: screenshot 38.png
Nov 20 2024, 11:12 PM
F57726310: screenshot 17.mov.gif
Nov 20 2024, 11:12 PM
F57726308: screenshot 16.mov.gif
Nov 20 2024, 11:12 PM
F57726306: screenshot 15.mov.gif
Nov 20 2024, 11:12 PM

Description

Background

We would like to deploy our summary experiment in our browser extension

User story

As a browser extension user, I want to see summaries within pages, so that I can get a quick glance of what an article is about

Requirements

Deployment prep:

  • The previous experiment must be disabled
  • The new experiment should be enabled with a scheduled start and end date
  • The version number of the extension should be increased

Experiment smoke test
Before publishing to the Chrome store, we should do a QA run to verify the experiment functionality.

  • Popup
    • The new terms-of-service popup appears on install and the terms can be accepted or declined.
    • The summary experiment appears when the terms of service have been accepted.
  • Experiment
  • Instrumentation
    • A request is posted to the statsv endpoint:
      • On every pageview when the extension is enabled: enabled
      • On every pageview where a summary is available: available
      • When a user opens a summary: open
      • When a user clicks the 'yes' button: yes
      • When a user clicks the 'no' button: no

BDD

Feature: Summary Experiment Deployment

Scenario: Verify Terms of Service Popup
Given the extension is installed
When the user launches the extension
Then the terms-of-service popup should appear
And the user can accept or decline the terms.

Scenario: Verify Summary Display
Given the terms of service have been accepted
And the user is viewing one of the specified pages
When the extension is active
Then simplified summaries should appear
And the summaries should be expandable or collapsible.

Scenario: Verify Instrumentation Events
Given the extension is active
When the user interacts with the summary experiment
Then the following events should be logged to the statsv endpoint:
| Action        | Event     |
| Pageview      | enabled   |
| Summary Found | available |
| Summary Open  | open      |
| Yes Clicked   | yes       |
| No Clicked    | no        |

Test Steps

Test Case 1: Verify Terms of Service Popup

  1. Install the browser extension.
  2. Launch the extension.
  3. AC1: Confirm that the terms-of-service popup appears and users can accept or decline the terms.

Test Case 2: Verify Summary Display

  1. Accept the terms of service in the popup.
  2. Navigate to a page listed in the repository: https://gitlab.wikimedia.org/repos/web/web-experiments-extension/-/tree/main/src/assets/summaries?ref_type=heads.
  3. AC2: Confirm that simplified summaries appear on the page.
  4. Expand and collapse the summaries.
  5. AC3: Verify that the summaries expand and collapse correctly.

Test Case 3: Verify Instrumentation Events

  1. Enable the extension and browse a few pages.
  2. Open the Chrome DevTools and monitor network requests to the statsv endpoint.
  3. Perform the following actions:
    • View pages with and without summaries.
    • Open a summary.
    • Click the 'yes' and 'no' buttons.
  4. AC4: Confirm that the following events are logged correctly:
    • enabled on every pageview when the extension is active.
    • available on every pageview where a summary is available.
    • open when a summary is opened.
    • yes when the 'yes` button is clicked.
    • no when the 'no` button is clicked.

Acceptance criteria

  • All subtasks of the epic must be resolved before deployment
  • Get a green light from @ovasileva

Communication criteria - does this need an announcement or discussion?

  • Add communication criteria

Rollback plan

  • The extension build artifact can be rolled back to a previous version through the Chrome store UI.

QA Results - Beta

This task was created by Version 1.2.0 of the Web team task template using phabulous

Event Timeline

ovasileva set the point value for this task to 1.Oct 24 2024, 5:16 PM

1 with the caveat that more tickets might need to be created as preparation (recruitment, other post-summary creation follow-up)

@ovasileva to make a ticket for instrumentation and for recruitment

@ovasileva is there a timeframe we want to have summaries active for?

@ovasileva is there a timeframe we want to have summaries active for?

We can have the summaries running for a while (no strict timeline), but data should be ready to analyze after 14 days.

Jdrewniak subscribed.

I'm attaching the zip file of the latest build. If this build passes QA, then this zip file will be uploaded to the chrome store as version 1.0.7

Edtadros removed Edtadros as the assignee of this task.EditedNov 20 2024, 11:12 PM
Edtadros subscribed.

Test Result - Prod

Status: ✅ PASS
Environment: enwiki (chrome extension version 1.0.7)
OS: macOS
Browser: Chrome
Device: MS MBA
Emulated Device: NA

Test Artifact(s):

Test Steps

Test Case 1: Verify Deployment Prep for Summary Experiment

  1. Confirm that the version number of the extension has been updated.
  2. AC1: Deployment prep requirements are satisfied.

screenshot 37.png (397×203 px, 25 KB)

Test Case 2: Smoke Test for Terms-of-Service Popup

    1. Install the browser extension.
  1. Confirm the new terms-of-service popup appears.
  2. Accept or decline the terms.
  3. AC2: Verify the terms of service can be accepted or declined.

screenshot 15.mov.gif (1,334×832 px, 927 KB)

screenshot 16.mov.gif (1,334×832 px, 1 MB)

screenshot 17.mov.gif (1,334×832 px, 955 KB)

Test Case 3: Verify Summary Experiment Functionality

  1. Ensure the terms of service have been accepted.
  2. Visit pages in the summary list.
  3. Confirm the simplified summaries are available and can be expanded or collapsed.
  4. AC3: Confirm summary functionality works as expected.

Test Case 4: Verify Instrumentation for Summary Experiment

  1. Enable the extension.
  2. Open Chrome DevTools and filter network requests by “statsv.”
  3. Verify the following requests are logged:

• enabled: Sent on every pageview when the extension is enabled.
• available: Sent on every pageview where a summary is available.
• open: Sent when a user opens a summary.
• yes: Sent when a user clicks the “yes” button.
• no: Sent when a user clicks the “no” button.

  1. AC4: Verify all required events are logged correctly.
EventRequest LoggedScreenshot
enabledMediaWiki.experiment.web.summaries.enwiki.enabled=1c
screenshot 38.png (1,176×751 px, 134 KB)
availableMediaWiki.experiment.web.summaries.enwiki.available: 1c
screenshot 39.png (1,174×758 px, 135 KB)
openMediaWiki.experiment.web.summaries.enwiki.opened: 1c
screenshot 40.png (1,163×758 px, 134 KB)
yesMediaWiki.experiment.web.summaries.enwiki.yes: 1c
screenshot 41.png (1,171×755 px, 134 KB)
noMediaWiki.experiment.web.summaries.enwiki.no: 1c
screenshot 42.png (1,173×764 px, 135 KB)

I just submitted the build (v1.0.7) to the Chrome store Thursday morning, and it was approved shortly after!
Unfortunately, I noticed a typo in the scheduled activation date (set to November 26th, instead of November 21st) , so I uploaded the fix as v1.0.8.

ovasileva claimed this task.

All done! Thank you @Jdrewniak!