Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 23 Next »

Target release

Q2

Epic

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

OKR

Improve Team/Channel Administration

Request (CR)

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

Request (other)

UserVoice

Design Spec

Figma (New Page)

Technical Spec

(New Page)

Test Plan

(New Page)

Edition

E20+

Document status

DRAFT

Document owner

Dennis Kittrell (Deactivated)

Designer

Michael Gamble (Deactivated)

Tech lead

Scott Bishel

Technical writers

Justine Geffen (Deactivated)

QA

Rohitesh Gupta (Deactivated)

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

Solve channel moderation use-cases demanded by customers

  • read only channels

  • restrict add/remove members

  • restrict Channel @Mentions

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

  • Announcement channels (e.g. public, employees, guest users, etc)

  • Bot only channels

  • Lunch Channels

  • Work-around for some use cases of Ethical Walls/Information Barriers

Assumptions

Phases & Milestones

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

Importance

Phase

Jira Issue

Notes

1

Make this channel Read Only (only channel admins can post)

  • Posts by Channel Admins Only

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

  • Disallow members to emoji react (out of scope - only choosing from pre-selected emoji)

  • Disallow pinning of posts

HIGH

I

2

Deprecate setting: "ExperimentalTownSquareIsReadOnly": false"

I

3

 Allow members to add and remove other users

  • Only admins can add/remove members in the channel

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

  • Remove toggle when group sync is turned on

 

 

II

 

 

4
  • Allow channel @mentions (e.g. Channel, Here)

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

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

III

User interaction and design

High Level Summary:

Available in E20 Edition and above

This feature adds settings to the channel configuration page that restrict posting, member management, and channel mention abilities for members of a specific channel.

These settings are quite useful for special purpose channels such as “Announcements” channel as well as cases where member management and the ability to message en masse require careful considerations. 

General concept for the channel moderation setting:

High Fidelity Design

Desktop Design 

Include functional design notes and mockups/prototypes. 

Mobile App Design

Include functional design notes and mockups/prototypes. 

Technical Design 

Link to the technical design doc.  Technical design and implementation needs to consider developing E2E tests for the feature. 

Accessibility Design

Ensure implementation of the feature meets accessibility requirements. 

Audit Log Events

Need to log events of enabling and disabling each of the 3 toggles

Telemetry Design 

Need to track how many customers have each of the 3 toggles turned on

Design Notes:

Exploratory: We considered enabling this on the chat-facing side first (for channel admins to set). While this is planned in the future, it was removed from the scope. 

Validation: A large customer in the CR was pleased with the High Fidelity design

Open Questions

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

  • Toggle allowing reactions

  • Toggle allowing post pinning

  • LHS icon to identify read-only channels

  • CLI Commands for management of settings

  • No labels