Skip to content

Server-level user permissions aka groups/rolesΒ #2195

@B4cchus

Description

@B4cchus

A federated organisation runs a SASL-only server for its members and trusted associates. The server has a bunch of channels dedicated to organisation branches (geographical) and themes, for examples, IT. Several channels may be themed to IT, for example: maintenance, bugs and issues, self-hosted utilities, chat. Sought after functionality would allow the server admin to define user groups, such as 'branch SomeRegion', 'IT - regular', 'IT - admin', assign users to these groups and enforce appropriate modes for the assigned users in all channels, e.g. give voice. Of course, groups should also be listable, with details on the channels they affect and the users they have currently assigned. A user should be able to be assigned to multiple groups, which means the service needs to check that they don't clash, or that the most empowered mode takes precedence. E.g. if a user is both 'branch SomeRegion' and 'mod SomeRegion', he should have moderation rights.

Bonus functionalities: 1. assign all user by default to a lowprivilege group which is muted everywhere, enforce this if modes are manually changed in some channel β€” e.g. force the use of groups to manage permissions and override manual attempts. 2. Join a user to all the groups where he should have rights above mute when assigning him to a group.

Note: apparently Atheme GroupServ does something similar. Discord roles also have similar functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions