Page MenuHomePhabricator

Track users' recent edits (and block status) for Library Bundle requirements
Closed, ResolvedPublic

Description

We need to perform a periodic check, per-user, as to whether they meet the 10+ edits in the past month requirement for Library Bundle access. While we can retrieve their total edit count and initial registration date with a single API call, determining their total recent edits across all Wikimedia projects (maybe even just all Wikipedia projects) is a slightly less straightforward task.

Ideally, when users first login to the platform, we should be able to certify their bundle status very quickly so they have a good user experience. We want the 'past month' check to be 30 days from the current date, rather than '10 edits in September if we're in October' so that users can get up to speed if they want to, rather than arbitrarily waiting for the start of next month.

The most seamless way of doing this criteria check will be to track users' total edits from CentralAuth over time in the Library Card. We can then easily, for any particular user, see what their edit count was 30 days ago. The obvious limitation of this method is that it requires us to collect 30 days of data. As such, we can move forward with a system where users are initially allowed to access Bundle resources by only meeting the 500/6+ criteria, and once we have a month's worth of data we begin requiring recent activity too.

While this primarily helps us overcome a technical difficulty, it also provides us with a nice way to encourage folks to start using Library Card resources even if they haven't been active recently - TWL access could help re-activate editors.

This will have implications for our homepage redesign (T230524) because we want to give an indication that the 10+ edits/month requirement doesn't apply while the logged in user is in their first month. We'll also need to explain this nuance on the Bundle section of the About page.

Event Timeline

Samwalton9-WMF updated the task description. (Show Details)

we need separate props for each requirement, account age, total edit count, not blocked and 30 day edit count

this code has been written and is live on staging. awaiting feedback.

note that the current code doesn't actually update block status: as we only checking it against the oauth information, which is updated at user login. Related questions in T234552 comments

Samwalton9-WMF raised the priority of this task from Medium to High.Feb 11 2020, 11:00 AM