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
| 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
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)
| HIGH | I | |||
2 | Deprecate setting: "ExperimentalTownSquareIsReadOnly": false" | I | ||||
3 | Allow members to add and remove other users
|
|
| II |
|
|
4 |
| 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:
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