EE: Channel Moderation Settings

Target release

Q2 2020

Epic

https://mattermost.atlassian.net/browse/MM-11670

Edition

E20+

Document status

99%

Community Server Channel

EE: Channel Moderation Settings

Document owner

@Dennis Kittrell (Deactivated)

Designer

@Michael Gamble (Deactivated)

Tech lead

@Scott Bishel

Technical writers

@Justine Geffen (Deactivated)

QA

@Rohitesh Gupta (Deactivated)

OKR

Improve Team/Channel Administration

Product Board

Channel Moderation Settings

Request (CR)

https://mattermost.atlassian.net/browse/CR-9

Request (other)

UserVoice

Design Spec

https://mattermost.atlassian.net/wiki/spaces/EN/pages/397246485

Technical Spec

Test Plan

Documentation

Link 1

Objective

By adding business value in the form of channel restrictions we enable new use cases that are in high demand from customers and enable growth. This feature also enables the highly requested “Read Only/Announcement Channels” toggle and we expect this to substantially advance user expansion for enterprise customers. 

Channel restrictions created that are set per channel in System Console (only channel admins can post, add/remove members, or @mention the channel). Any number of channels can have these restrictions enabled. Each channel setting can be toggled individually in the System Console. 

Background

Both the “Member add/remove restriction” and the “Channel Mention restriction” derived from customer interviews and internal discussions about “nice-to-haves” regarding channel restrictions

This is a high-impact feature for some very large customers

Success metrics

Goal

Metric

Goal

Metric

Solve channel moderation use-cases demanded by customers

  • read only channels

  • restrict add/remove members

  • restrict channel @Mentions

  • restrict post reactions

At least 50% of customers requesting “Read Only Channels” in in CR-9 confirm that this meets their basic expectations (must-have requirements).

Handle a large number of users in the channel at the same time without performance issue

A read only channel (where only channel admins and above can post) can handle at least 1000 concurrent active users without a measureable performance impact.

User Scenarios

  • Topic specific announcement channels with specified members (e.g. public, employees, specific team or department, guest users, etc)

  • Read-only channels where specific members are elevated to channel admins and can share important announcements with the rest of the team

  • Channels where members can post, reply, and react while letting guest accounts read and react only

  • Disabling channel mentions (e.g, @channel, @here, and @all) on very large channels to prevent users from alerting and notifying all other users at once

  • Locking down members in a channel by only allowing the channel admin to add or remove users

Assumptions

  • Leverages existing permissions architecture

  • UX should be simplified for managing this explicit permission change

Launch Timeline

Dec2019Jan2020FebMarAprMayJun5.22 CF5.20 CF5.22 release
Design
Develop
QA
Launch

High Fi Designs

iOS App

Android

Phase I

Phase II

Phase III

QA

Marketing

Documentation

Areas Touched

  • Permissions

  • Mobile UI

  • Web/Desktop Chat-Facing UI

  • System Console UI (Channel Configuration page and permissions)

Requirements

Requirement

User Story

Phase

Jira Issue

Requirement

User Story

Phase

Jira Issue

1

Capability to turn off post creation for guests & members (only Channel Admins and above can post)

  • Ensure that bots can still post to channels where guests & members cannot

As a System Admin, I want the ability to restrict posting/interacting to channel admins and higher in specified channels, so that I can create announcement channels.

I

2

Setting to disallow reactions for guests and members

As a System Admin, I want the ability to restrict post reactions to members or channel admins and higher in specified channels, so that I can create restricted channels.

I

3

 Capability to turn off members ability to to add and remove other members

  • Only channel admins and above can add/remove members in the channel

  • If this setting is turned on after members exist, they will remain, but only admins can modify

  • Must be inactive when group sync is turned on

 As a System Admin, I want the ability to restrict the adding and removing of other members in a specified channel, so that I have better control over important channels.

II

4

 Capability to turn off channel mentions for guests & members

  • Only channel admins and above can @Mention members within the channel using the @all, @channel and @here commands

  • Even when disabled “off” @Mentioning specific users will still be allowed

 As a System Admin, I want the ability to disable channel mentions, so that I have better control over important channels.

III

5

Deprecate setting: "ExperimentalTownSquareIsReadOnly": false"

N/A

III

6

Telemetry - Feature usage tracking internally

  • record each setting within the channel scheme when it is turned on

As a PM, I want the telemetry/usage data for when this feature is in use, so that I can make better decisions on improvements and success.

III

7

Audit log event tracking

Need to log the following events:

  • Enabling and disabling each of the checkboxes

  • Creation and deletion of channel schemes

As a compliance manager, I want the ability to track events in which permissions are modified so that I can properly investigate issues.

III

Open Questions

Question

Answer

Date Answered

Question

Answer

Date Answered

How does "Member Management" work with the Permissions schemes in the case that Users are not able to "Manage Channel Members" under the Public and Private channel permissions? Is this feature still available to be enabled or is it in a read-only state?

 

 

What happens when user tries to mention the @Channel and the setting is disabled?

 

 

Out of Scope

  • Chat-facing page for Channel Admins and above to adjust settings

  • Members choosing reactions from pre-selected emoji

  • Disallow post pinning

  • LHS icon to identify read-only channels

  • CLI Commands for management of settings

  • Filter on channel listing that displays channels with moderation enabled

Decision Log