Member Management
What you’ll learn
Section titled “What you’ll learn”- Where the members page is and what it shows
- The invite flow and what fields are required
- How role changes and confirmations work
- How to remove a member
The members page
Section titled “The members page”Population administration → Members renders a sortable table powered by the population-members component. Columns:
| Column | What it shows |
|---|---|
| Name | First and last name, linked to the edit drawer |
| The member’s account email | |
| Role | Their current role in the population |
| Joined | The memberSince date, formatted via the date service |
| Status | A green Confirmed badge with the confirmedOn date — or, for unconfirmed members, an inline Confirm button |
Default page size is 25 with options 10/25/50. Above the table sits an Invite Member primary button.
Inviting a new member
Section titled “Inviting a new member”Click Invite Member. The drawer opens in new mode with the title “Invite New Member” and the Send Invitation action button (disabled until the form is valid).
The form has five fields:
| Field | Required | Notes |
|---|---|---|
| First Name | Yes | Free text |
| Last Name | Yes | Free text |
| Yes | The address the invitation goes to | |
| Assigned Role | Yes | Dropdown of roles your account can assign — pulled from the population’s getUserAssignableRoles endpoint at drawer open |
| Personalize your invitation | Optional | Textarea pre-filled with We're looking forward to your contribution! |
The default selected role is the last entry in the assignable list — typically the lowest-tier role (e.g. Novice or Viewer). Adjust before sending if you want to grant more.
Submit calls populationService.inviteMember with a UserCreationInvitationDto carrying the user details, the personalised message, the population id, and the chosen role id. On success the drawer closes and the toast confirms the invitation; the new member appears in the list once they accept and join.
Editing a member’s role
Section titled “Editing a member’s role”Click the member’s name in the table (or the row’s edit action) to open the drawer in edit mode. The title reads Edit {firstName} {lastName}.
The drawer surfaces the role selector for that member. Save changes calls populationService.updatePopulationUserRole with the member and the new role; on success the role updates in place and the drawer closes.
Confirming a pending member
Section titled “Confirming a pending member”Some join paths leave members in an unconfirmed state — they appear in the table with no Confirmed badge and an inline Confirm button instead. Clicking that button calls confirmPopulationMember(userProfileDto, population). On success the badge flips to Confirmed and confirmedOn is set to the current date.
There’s no separate confirmation queue page for population membership in the client component; the inline button on each row is the surface.
Removing a member
Section titled “Removing a member”The row-actions menu has a Remove option. Clicking it calls removeMember(populationId, userId); on success the member is spliced out of the table immediately.
Removal does not delete the user account itself — only the member’s relationship with this population. The same user can be re-invited later or could continue as a member of other populations.
Permission notes
Section titled “Permission notes”The page is reached via the population’s administration sidebar. The set of roles available in the invite drawer’s Assigned Role dropdown is determined server-side by getUserAssignableRoles, which returns only the roles your role is allowed to assign. There’s no client-side override.
For the broader role matrix (System / Organization / Population scopes), see Roles & Permissions.
Related
Section titled “Related”- Roles & Permissions — what each role can do
- Workbench Access — per-tool permissions on top of role
- Population Settings — the broader population administration surface