Skip to content

Groups

Groups are admin-defined collections of members. They serve two purposes — permission gating and optional public display — managed from Admin → Groups.


Every group is either public or backend-only, set when the group is created.

Backend-only groups are invisible to members. They exist purely as a permission mechanism — to grant access to something for a specific set of users regardless of their role.

Public groups do everything backend groups do, plus display a badge on members’ profiles, posts, and user card popovers. Each public group has a configurable badge label, color, icon, and display locations.


Click New group and fill in:

FieldNotes
NameDisplay name. Max 60 characters. Must be unique.
SlugMachine identifier used in permissions and the extension API. Lowercase letters, numbers, and underscores only. Auto-generated from name, editable. Must be unique.
DescriptionOptional. Shown in the admin group list only. Max 500 characters.
Public groupToggle on to enable badge display for members.

When Public group is enabled, additional fields appear:

FieldNotes
Badge labelText shown in the badge pill. Max 30 characters.
Badge colorHex color for the badge background and text.
Badge iconOptional Font Awesome icon shown inside the badge. Choose from the preset list or select none.
Show badge onWhere the badge appears: Profile page, Posts and replies, User card popover. Each location is independently toggled.

Click members on any group card to open the members panel. Members are added by username and removed individually. Adding a user who is already a member is a no-op.


Groups extend the permission system. Any permission gate — both core settings like Who can upload images and extension permission keys — can be configured to grant access based on group membership in addition to role.

The Permissions page uses a gate picker with two sections:

  • Role pillsEveryone, Members, Moderators, Admins only — exactly one is selected (radio behaviour)
  • Group pills — one pill per group — independently toggleable

Access is granted when either condition is met:

  • The user’s role meets or exceeds the selected role, OR
  • The user belongs to any of the selected groups

This allows patterns like “moderators and members of the beta-testers group” or “admins and members of trusted-users” without requiring a role change.


Click delete on the group card. All memberships are permanently removed. Any permission gates that included this group’s slug will continue to function — the group slug is simply no longer matchable, so it acts as if no group condition was set.


Extension code can check group membership directly using Nexus.Groups.user_in_any_group?/2. The structured permission gate format is also supported by Nexus.Extensions.Permissions.check/3 — see the extension permissions documentation for details.