...
create_post_public
create_post_ephemeral
delete_post
/delete_others_posts
(exposed in schemes UI)edit_post
/edit_others_posts
(exposed in schemes UI)manage_channel_roles
manage_public_channel_properties
/manage_private_channel_properties
(exposed in schemes UI)delete_public_channel
/delete_private_channel
(exposed in schemes UI)read_channel
remove_others_reactions
upload_file
The permissions marked with (exposed in schemes) UI are the ones that when changed will cause the schemes saving to be slower for the webapp. All of the others will simply be slower if modified via the API only because they’re not exposed in the webapp UI.
Question for PM: Do we need to expose create_post
and use_channel_mentions
in the system and team schemes UI?
Schema
No schema changes .unless the performance of updating non-moderated channel-scoped permissions on the higher-scoped schemes is problematic at the outset, in which case the schema of storing permission can be changed from a space-separated list of strings in the Permissions
column of the Roles
table to a join table, something like:
|
|
---|---|
|
|
|
|
REST API
A new endpoint to get the channel moderation matrix. For example, to display the matrix as shown in the configuration from the high-fidelity mockups, the API endpoint
GET /api/v4/channels/:channel_id/moderations
returns the following:
...
The synchronization of permissions (as described above) will cause a performance performance degradation when updating channel-scoped permissions on the system scheme or on team schemes. The permissions marked (exposed in schemes UI) in the list of permissions that must be replicated from the Permissions section of this document are those that will cause the scheme UI in the webapp to be slower upon editing and saving. The still affect direct API calls.
The performance impact of the replication of permissions from the higher-scoped schemes to the channel schemes can be tweaked by optionally changing how permissions are stored in Mattermost as described in the Schema section of this document.
Plugins
Out of scope.
CREDITS
...