This is a backend-focused subtask of T432812: Account setup: Integrate interest selector into suggested edits + propose tasks by interest (DE1.3.1).
The current backend is fully built on top on searching for articles with suggested edits in user-selected topics. However, now we have user-select Interestes, stored as plain article titles in the user option created in T432811, and want to use morelikethis: to get more relevant suggestions to show.
This task is about making that possible on the backend. That means in particular:
If a user has interests selected, and they are in the experiment (=> FeatureManager), then these interests should be used to
- generate their recommendations that are prefilled on the Homepage
- generate the pre-computed and cached recommendations
- return the number of available tasks for the respective api-endpoints (which thus now need to support interests)
If a user is not in the treatment group of the experiment, then they should use topics with no changes in functionality at all.
The rough goal is to tackle this task in 5 slices:
- Creating the InterestBasedTopic and to adjust the SearchStrategy to use it to use it to search for tasks with morelikethis:...
- Integrating interest-based tasks and interests into TaskSet and making the caching for that work
- Have the TaskSetFilters be created more centrally and depending on the user's experiment group use either interests or topics -> here is the actually visible behavior change on the Homepage
- gtinterests API parameter, so that we can show "you have X tasks available for your selected interests"
- shaping what tasks the user is presented with in what order in detail
- TODO