QRTLY COTERMS .COM: Create Dynamic "Seats Currently in Use Members List" for GitLab.com (Backend)
Notes:
- The frontend issue for this MVC found here: #216899 (closed)
- This issue is an MVC of the desired implementation found here: #27074 (closed)
MVC Proposal
On the parent group billing page, beneath the current subscription table, create a collapsible list of members who tie to the Seats currently in use value
.
In the table include:
- Member Name (first, last)
- Username
- Email address - only if the email address is publicly available, otherwise display
private
-
IPwe should not serve up this information per legal - This information will only be accessible by members of the parent group with
owner
permissions
Rules
- Only display a member once if they are members of multiple subgroups/projects
- Display only billable members. Exclude GitLab generated bots (Support Bot, Alert Bot), Ghost Users, and Users with Guest permissions if the namespace subscribes to the Gold plan.
- Include members invited from shared groups as long as they meet the conditions in rule 2.
- The data should be updated dynamically as changes to the members in the instance are made. If this is too draining, let's update once a day and include a hover text which states that the table is updated at xx:xx time daily (including the timezone).
Testing & Availability
Tests should cover scenarios defined in Rules
section, and following
- list only displays for root group with subscription
- list can only be retrieved for members with owner permission
- email displayed as
private
is member doesn't set public email - list is paginated with a default order
- members removed from 1 of the subgroups they belong to still included in list
Documentation
Would need to update:
- Groups docs, currently has nothing on Members list in general, only adding users to group
What does success look like, and how can we measure that?
- Group owners can match their subscription user count to the group members list via UI.
Edited by Chloe Liu