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.