...
add a channel-scoped permission to a team scheme with an associated team
remove a channel-scoped permissions from a team scheme with an associated team
add a team to a team scheme
remove a team from a team scheme
Question: Is updating permissions from higher-scoped schemes' roles to channel schemes' roles compatible and feasible with the future custom roles feature?
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: Do we need to expose create_post
and use_channel_mentions
in the system and team schemes UI?
Schema
There are no schema changes.
...
The new Roles
records that are created will be updated to match the Permissions
value from the higher-scoped scheme. Question: does it 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 create team and channel scheme API behaviour, avoiding a separate update?
When “enable channel moderation” toggled off, a DELETE
request is made to /api/v4/schemes/:scheme_id
.
Question: 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 ability to send @here, @all, and @channel must have access controlled by the new use_channel_mentions
permission.
...
Configuration
None needed. Question: will channel moderation be experimental?
Frontend
Design of channel moderation UI in the system console TBD.
Preventing posting based on permissions (rather than it currently being prevented based on the experimental read-only town square feature) must be implemented throughout the UI.
Preventing access to @here, @all, @channel must be controlled by the new
use_channel_mentions
permission.
...
If the synchronization of permissions (as described above) occur synchronously then those actions will incur a performance degradation.
If the actions occur asynchronously asynchronously—say in a background job then job—then the actions will not incur a performance degradation, but at the cost of added complexity.
Plugins
TBD
CREDITS
Give credit here to anyone who helped you write the spec or provided feedback to improve it.