Add Kolibri-usage filters and CSV export to admin Users page#5922
Draft
rtibbles wants to merge 1 commit into
Draft
Add Kolibri-usage filters and CSV export to admin Users page#5922rtibbles wants to merge 1 commit into
rtibbles wants to merge 1 commit into
Conversation
Adds four new filters to the admin Users page based on signals of likely Kolibri usage (Slack conversation with Laura): published a channel, made Studio edits, joined recently, active recently. Adds a Download CSV action that streams the filtered user list as CSV, including registration information (locations, storage needed, source). Backend filters share Exists() expressions between AdminUserFilter and the CSV action's annotate() call. The CSV endpoint uses AdminUserCSVFilter (a RequiredFilterSet subclass) so unfiltered exports return 412. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Download CSV action on the admin Users page so Laura can pull user emails for outreach. Adds four filters for likely-Kolibri-usage signals: published a channel, made Studio edits, joined recently, active recently. CSV includes email, basic activity, and registration info (locations, storage needed, source).
References
Slack thread with Laura on Studio activity signals that correlate with Kolibri usage.
Reviewer guidance
How to test:
/administration/users: toggle the new filters and confirm counts narrow (they AND with the existing filters).studio_users_<YYYY-MM-DD>.csv. Verify Locations / Heard from / Yes-No columns.Worth a closer look:
viewsets/user.py—AdminUserCSVFilter(AdminUserFilter, RequiredFilterSet)MRO; required-filter enforcement comes fromRequiredFiltersFilterBackendrecognisingdetail=False.AI usage
Used Claude Code (Superpowers) to brainstorm the design and implement the changes. The spec, plan, and code were reviewed at each step; backend + frontend tests, a load test at 30k users / 17k channels, and a manual browser smoke-test all pass.