Summary
For T384725: [Epic] WE4.2.18 UserInfoCard experiment for assisting patrollers and moderators, we want to be able to show the user info card for temporary accounts and accounts that don't have Special:Homepage preference enabled. The data store we propose to use in T386435: UserInfoCard: Create service to return user info card data for an account is the GrowthExperiments Impact store. This backend currently only supports generating data for permanent accounts. In this task, we need to determine the best way to support temporary accounts and permanent accounts without Special:Homepage enabled.
Background
- https://www.mediawiki.org/wiki/Extension:GrowthExperiments/Technical_documentation#Impact_module_and_Special:Impact describes how the Impact data store cache is populated
User story
As a consumer of the service in T386435: UserInfoCard: Create service to return user info card data for an account, I want to be able to fetch data to populate a user info card for a temporary account or a permanent account without the Special:Homepage preference enabled.
Technical notes
- rEGREa84453219d73: IP Masking: Replace isRegistered/isAnon calls with isNamed() updated ComputedUserImpactLookup's getUserImpact and getExpensiveUserImpact to check for a named user. We need to confirm with Growth and DBA (due to potential growth in rows to growthexperiments_user_impact) that it is OK to store data for temporary accounts as well. (Status quo: 36k rows in the impact table on enwiki.)
- GrowthExperimentsUserImpactUpdater#userIsInCohort checks for a named account in addition to a few other things (does user have Special:Homepage enabled). This would also need modification to support temporary accounts and permanent accounts without Special:Homepage enabled.
Acceptance criteria
- Visiting https://test.wikipedia.org/wiki/Special:Impact/~2025-34124 returns impact data for a user
- Visiting https://test.wikipedia.org/wiki/Special:Impact/{user} returns impact data for a user without Special:Homepage preference enabled
- Approval from DBA about expected increase in rows and churn in purging those rows