Page MenuHomePhabricator

[Eng] - Add For You method to ExploreDataController
Closed, ResolvedPublic5 Estimated Story Points

Description

In ExploreDataController, create a NEW method that fetches data for the "for you" tab. This needs to:

  • Fetch interest topics persisted in T427930. For each topic, make topic call (which should have been created in T427930) to gather random topic articles.
  • Fetch interest articles persisted in T427930. For each article, fetch related articles from RelatedPagesDataController in T413371.
  • Fetch the continue reading data:
      • Get seed article via fetching a list of all recently read articles in the past month, read for more than 1 minute, then randomly picking one. (WMFPageViewsDataController).
    • Also randomly get articles that user has saved (up to 3). (WMFSavedArticlesDataController)
  • Fetch "Because you read" data:
    • Get seed article via fetching a list of all recently read articles in the past month, read for more than 10 seconds, then randomly picking one (WMFPageViewsDataController).
    • Get related pages for this seed article (T413371) and return.

Caching

(See https://phabricator.wikimedia.org/T427673)

Automatically refresh the feed automatically every calendar day (early in the local day for the user). After the daily refresh, do not automatically refresh the feed unless the user chooses to.

Use SharedCacheStore to persist and return as cache for the remainder of the calendar day.

Event Timeline

Tsevener set the point value for this task to 1.Dec 22 2025, 4:49 PM
Tsevener updated the task description. (Show Details)
Tsevener removed the point value 1 for this task.Feb 26 2026, 2:48 PM
Tsevener set the point value for this task to 2.Mar 2 2026, 6:20 PM
Tsevener raised the priority of this task from Medium to High.Apr 13 2026, 3:25 PM
Tsevener lowered the priority of this task from High to Medium.Apr 14 2026, 2:46 PM
Tsevener lowered the priority of this task from Medium to Low.Apr 14 2026, 4:24 PM
Tsevener renamed this task from Explore Tech Debt - Add continue reading logic to data controller to [Eng] - Add For You method to ExploreDataController.Jun 2 2026, 3:12 PM
Tsevener updated the task description. (Show Details)
Tsevener removed the point value 2 for this task.
Tsevener raised the priority of this task from Low to Medium.Jun 2 2026, 3:15 PM
Tsevener updated the task description. (Show Details)
Tsevener updated the task description. (Show Details)

Estimate blocked on Continue Reading article picking logic.

https://phabricator.wikimedia.org/T427676

Also blocked on Because You Read article picking logic.

https://phabricator.wikimedia.org/T427675

(They can also overlap)

Update: logic has been simplified in Continue Reading and Because you Read seed article to:

Continue Reading: Most recently read for 1+ minutes
Because you read: Most recently read for 10+ seconds

Additional filtering to avoid articles already seen in feed is nice-to-have.

Tsevener set the point value for this task to 5.Jun 18 2026, 3:09 PM
HNordeenWMF raised the priority of this task from Medium to High.Jul 13 2026, 2:50 PM