...
CLI changes
chat-facing administration of channel moderation settings
plugin changes
BACKGROUND READING
...
add a channel-scoped permission to a team scheme (if it has an associated team)
remove a channel-scoped permissions from a team scheme (if it has an associated team)
add a team to a team scheme
remove a team from a team scheme
delete a team scheme
create a team scheme (if it has an associated team)
Question for Platform team: Is this synchronization compatible with the plan for the future custom roles?
Permissions
New permission:
...
manage_public_channel_properties
manage_private_channel_properties
delete_public_channel
delete_private_channel
remove_others_reactions
upload_file
create_post_public
create_post_ephemeral
manage_channel_roles
read_channel
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.
REST API
...
The new Roles
records that are created will be updated to match the Permissions
value from the higher-scoped scheme (as described in the high-level architecture above).
Question for dev: does the API already copy the permissions from the “previous” scheme? If so, then no update is required. If not, can we consider making that a permanent part of the API behaviour?
When “enable channel moderation” is toggled off, a
DELETE
request is made to/api/v4/schemes/:scheme_id
.
Question for dev: Does the delete scheme API endpoint cleanup orphaned Roles
records? If not does it make sense to make that a permanent part of the API behaviour?
The API to create channel mentions must have access controlled by the new
use_channel_mentions
permission.
...
None needed unless channel moderation is experimental.
Question for PM: will channel moderation be experimental?
Webapp only
TBD. Designs for the channel moderation UI in the system console is pending.
...
If the actions occur asynchronously—say in a background job—then the actions will not incur a performance degradation, but at the cost of added complexity.
Plugins
TBDOut of scope.
CREDITS
Give credit here to anyone who helped you write the spec or provided feedback to improve it.