Page MenuHomePhabricator

[S] Create a shouldShowYearInReviewProfileItem method in data controller
Closed, ResolvedPublic

Description

Background

The Apps team plans to explore if a personalized Wikipedia Year in Review feature that displays insights about a user's reading history, editing history, and donation history is engaging for App users, and inspires them to make a donation to the Wikimedia Foundation.

Tasks
  • Create a shouldShowYearInReviewProfileItem method in data controller. Within this, check developer settings feature flag, check remote config logic before moving to next bullet point (country code, kill switch, primary app language wiki. Note both country code and primary app language wiki must match. AND, not OR).
  • Then check persisted report model from T376041 and return yes if one or more personalized slides are set as evaluated=yes, display=yes, and they do not have a slide-specific kill switch in the remote config.
  • Add Wikipedia Year in Review entry point to profile view if data controller shouldShowYearInReviewProfileItem returns true.
  • Do not add badge here yet.
QA Notes
  • Install app
  • Ensure device region in iOS settings is set to Mexico or Italy
  • Ensure primary app language is set to Spanish, Italian or English
  • At this stage, do at least one of these things: Build up a rabbit hole so the History tab shows 6+ articles OR log into an account with 1+ edits in 2024.
  • Enable year in review feature flag in app developer settings menu
  • Background / foreground the app to trigger report creation.
  • Year in Review entry point should appear in Profile menu
  • Fresh install app, repeat steps. At fourth bullet point, keep History tab lower than 5 articles and ensure you are logged out or logged into an account with zero edits. Ensure you do NOT see entry point in Profile.

Event Timeline

Tsevener renamed this task from Create a shouldShowWikipediaInReviewProfileItem method in data controller to [S] Create a shouldShowWikipediaInReviewProfileItem method in data controller.Oct 1 2024, 6:36 PM
Tsevener updated the task description. (Show Details)
Tsevener updated the task description. (Show Details)
HNordeenWMF renamed this task from [S] Create a shouldShowWikipediaInReviewProfileItem method in data controller to [S] Create a shouldShowYearInReviewProfileItem method in data controller.Oct 4 2024, 3:16 PM
HNordeenWMF updated the task description. (Show Details)
HNordeenWMF updated the task description. (Show Details)

Draft PR is up with my progress. There's a couple of blockers here until I can fully wrap this up (T376041 and T376040), so moving this to Blocked for now.

Marking this as a "Part 1" PR, ready for code review.

A part 2 PR will need to get in later after one of the personalized slides (T376066 or T376320) is complete, so that the "one or more personalized slides" requirement can be tested. For now the entry point is displaying when a user passes these requirements:

  1. Device country code in France or Italy
  2. Primary app language wiki in French or Italian
  3. Developer Settings feature flag is on

Moving to Blocked / Waiting until we finish one of the personalized slides, so we can test this part of the requirements:

Then check persisted report model from T376041 and return yes if one or more personalized slides are set as evaluated=yes, display=yes, and they do not have a slide-specific kill switch in the remote config.

T376066 (article read count personalized slide) PR is up, so moving this into Code Review.

Tsevener updated the task description. (Show Details)
Tsevener subscribed.