docs(P13c): reconcile docs drift — Administration Guide: Configure (#37483)

* docs(P13c): reconcile Configure content drift — audit log/telemetry cleanup, mobile ephemeral mode, watermarking, plugin/integration defaults, CJK fix

Ports content drift from the legacy mattermost/docs Sphinx repo into the
Administration Guide > Configure MDX pages (phase P13, sub-phase P13c):

- environment-configuration-settings: remove unused ExperimentalAuditSettings
  file-rotation settings (now handled via AdvancedLoggingJSON), update
  EnableDiagnostics description to reflect Rudder/telemetry removal (Sentry
  only), and add the Mobile ephemeral mode settings.
- experimental-configuration-settings: remove the same unused audit logging
  settings, and add the experimental Enable Mobile Watermark setting.
- site-configuration-settings: update Report a Problem default behavior and
  fix the ReportAProblemMail env var name, add Channel category sorting, and
  add the Classification Markings section.
- integrations-configuration-settings: fix OutgoingIntegrationRequestsTimeout
  key name and default value.
- plugins-configuration-settings: fix RequirePluginSignature default (false).
- reporting-configuration-settings: rename Site statistics to System
  statistics, preserving the legacy anchor.
- enabling-chinese-japanese-korean-search: fix missing semicolon in the
  zhparser SQL example.
- system-attributes: rename "Custom attributes for user profiles" to "User
  attributes" to match the v11.7 product rename.

authentication-configuration-settings had no net drift to apply: the source
commit reviewed (LDAP/SAML ID case-sensitivity notes) was later reverted
upstream, and Azure Blob Storage documentation (hinted in the task) was also
added then fully reverted upstream, so no Azure content exists in either the
source or target repo.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs(P13c): fix config.json key for Enable Mobile Watermark setting

ExperimentalSettings.EnableMobileWatermark does not exist in config.go;
the actual field is ExperimentalSettings.EnableWatermark.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Eva Sarafianou
2026-07-14 12:18:48 +03:00
committed by GitHub
co-authored by Cursor
parent f898ea3615
commit 3cf63487ea
8 changed files with 161 additions and 251 deletions
@@ -80,7 +80,7 @@ apt install git postgresql-server-dev-13
``` sql
-- 创建 extension
CREATE EXTENSION zhparser
CREATE EXTENSION zhparser;
-- 创建 text search configuration
CREATE TEXT SEARCH CONFIGURATION simple_zh_cfg (PARSER = zhparser);
-- 配置 token mapping
@@ -2776,33 +2776,18 @@ Enable debug logs by changing the [file log level](#file-log-level) to `DEBUG` t
</colgroup>
<tbody>
<tr>
<td><p>Whether or not general diagnostics and error reports are sent to Mattermost, Inc.</p><ul><li><strong>true</strong>: <strong>(Default)</strong> Send diagnostics and error reports.</li><li><strong>false</strong>: Diagnostics and error reports aren't sent.</li></ul></td>
<td><ul><li>System Config path: <strong>Environment &gt; Logging</strong></li><li><code>config.json</code> setting: <code>LogSettings</code> &gt; <code>EnableDiagnostics</code> &gt; <code>""</code></li><li>Environment variable: <code>MM_LOGSETTINGS_ENABLEDIAGNOSTICS</code></li></ul></td>
<td><p>Controls whether server errors and crashes are reported to Mattermost via Sentry.</p><ul><li><strong>true</strong>: <strong>(Default)</strong> Error and crash reports are sent to Mattermost's Sentry endpoint.</li><li><strong>false</strong>: No error or crash data is sent.</li></ul></td>
<td><ul><li>System Config path: <strong>Environment &gt; Logging</strong></li><li><code>config.json</code> setting: <code>LogSettings</code> &gt; <code>EnableDiagnostics</code> &gt; <code>true</code></li><li>Environment variable: <code>MM_LOGSETTINGS_ENABLEDIAGNOSTICS</code></li></ul></td>
</tr>
</tbody>
</table>
<Note>
See the [telemetry](/administration-guide/manage/telemetry#error-and-diagnostics-reporting-feature) docummentation for details on the information Mattermost collects.
See the [telemetry](/administration-guide/manage/telemetry#error-and-diagnostics-reporting-feature) documentation for details on the information Mattermost collects.
</Note>
#### Enable verbose diagnostics
<table>
<colgroup>
<col style={{width: '36%'}} />
<col style={{width: '63%'}} />
</colgroup>
<tbody>
<tr>
<td><p>Whether or not verbose general diagnostics information is sent.</p><ul><li><strong>true</strong>: Send verbose diagnostics information.</li><li><strong>false</strong>: <strong>(Default)</strong> Verbose diagnostics information isn't sent.</li></ul></td>
<td><ul><li>System Config path: N/A</li><li><code>config.json</code> setting: <code>LogSettings</code> &gt; <code>VerboseDiagnostics</code> &gt; <code>false</code></li><li>Environment variable: <code>MM_LOGSETTINGS_VERBOSEDIAGNOSTICS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Enable Sentry reporting
<table>
@@ -3023,85 +3008,10 @@ When `FileEnabled` is set to **true**, then the [audit file name](#audit-file-na
<Note>
The file name must be set to [enable](#output-audit-logs-to-file) audit logging.
When [output audit logs to file](#output-audit-logs-to-file) is enabled, the file name must be set. To configure file rotation and advanced audit log output, use the [AdvancedLoggingJSON](#output-audit-logs-to-multiple-targets) setting.
</Note>
#### Maximum file size
<table>
<colgroup>
<col style={{width: '36%'}} />
<col style={{width: '63%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum size in megabytes for audit log files before they are rotated.</p><p>Numerical input. Default is <strong>100</strong> MB.</p></td>
<td><ul><li>System Config path: <strong>Compliance &gt; Audit Logging</strong></li><li><code>config.json</code> setting: <code>ExperimentalAuditSettings</code> &gt; <code>FileMaxSizeMB</code> &gt; <code>100</code></li><li>Environment variable: <code>MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB</code></li></ul></td>
</tr>
</tbody>
</table>
#### Maximum file age
<table>
<colgroup>
<col style={{width: '36%'}} />
<col style={{width: '63%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum age in days for audit log files before they are deleted.</p><p>Numerical input. Default is <strong>0</strong> (no limit).</p></td>
<td><ul><li>System Config path: <strong>Compliance &gt; Audit Logging</strong></li><li><code>config.json</code> setting: <code>ExperimentalAuditSettings</code> &gt; <code>FileMaxAgeDays</code> &gt; <code>0</code></li><li>Environment variable: <code>MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Maximum file backups
<table>
<colgroup>
<col style={{width: '36%'}} />
<col style={{width: '63%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum number of audit log file backups to retain.</p><p>Numerical input. Default is <strong>0</strong> (no limit).</p></td>
<td><ul><li>System Config path: <strong>Compliance &gt; Audit Logging</strong></li><li><code>config.json</code> setting: <code>ExperimentalAuditSettings</code> &gt; <code>FileMaxBackups</code> &gt; <code>0</code></li><li>Environment variable: <code>MM_EXPERIMENTALAUDITSETTINGS_FILEMAXBACKUPS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Compress audit log files
<table>
<colgroup>
<col style={{width: '35%'}} />
<col style={{width: '64%'}} />
</colgroup>
<tbody>
<tr>
<td><p>Whether to compress rotated audit log files.</p><ul><li><strong>true</strong>: Rotated audit log files are compressed.</li><li><strong>false</strong>: <strong>(Default)</strong> Rotated audit log files aren't compressed.</li></ul></td>
<td><ul><li>System Config path: <strong>Compliance &gt; Audit Logging</strong></li><li><code>config.json</code> setting: <code>ExperimentalAuditSettings</code> &gt; <code>FileCompress</code> &gt; <code>false</code></li><li>Environment variable: <code>MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Audit log queue size
<table>
<colgroup>
<col style={{width: '35%'}} />
<col style={{width: '64%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum number of audit log entries that can be queued.</p><p>Numerical input. Default is <strong>1000</strong>.</p></td>
<td><ul><li>System Config path: <strong>Compliance &gt; Audit Logging</strong></li><li><code>config.json</code> setting: <code>ExperimentalAuditSettings</code> &gt; <code>FileMaxQueueSize</code> &gt; <code>1000</code></li><li>Environment variable: <code>MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE</code></li></ul></td>
</tr>
</tbody>
</table>
#### Audit log certificate
<table>
@@ -3604,6 +3514,76 @@ Changing this configuration setting takes effect when mobile users restart their
</Note>
### Mobile ephemeral mode
<PlanAvailability slug="ent-adv" />
See [mobile security features](/deployment-guide/mobile/mobile-security-features) for a full description of how the timers and operations interact.
These settings apply globally to all mobile users. Changes are delivered to connected devices in real time; offline devices continue operating under their last-known configuration until they reconnect. Timer state persists across app and device restarts.
When a timer expires, active cached content such as posts and file previews is purged, and the app notifies the user that data was removed due to policy enforcement. After a purge, users re-sync from the server on reconnection — server URLs are recoverable from keychain entries so server access is not lost.
#### Enable Mobile Ephemeral Mode
<table>
<colgroup>
<col style={{width: '50%'}} />
<col style={{width: '49%'}} />
</colgroup>
<tbody>
<tr>
<td><p>Controls whether mobile clients enforce the server-configured ephemeral data policies.</p><ul><li><strong>true</strong>: <strong>(Default)</strong> Ephemeral data policies are enforced.</li><li><strong>false</strong>: Ephemeral data policies are not enforced on mobile clients.</li></ul></td>
<td><ul><li>System Config path: <strong>Environment &gt; Mobile Security</strong></li><li><code>config.json</code> setting: <code>NativeAppSettings</code> &gt; <code>MobileEnableEphemeralMode</code> &gt; <code>true</code></li><li>Environment variable: <code>MM_NATIVEAPPSETTINGS_MOBILEENABLEEPHEMERALMODE</code></li></ul></td>
</tr>
</tbody>
</table>
#### Disconnection timeout
<table>
<colgroup>
<col style={{width: '50%'}} />
<col style={{width: '49%'}} />
</colgroup>
<tbody>
<tr>
<td><p>Grace period in seconds after the WebSocket drops before the device is considered offline. Once elapsed, the Offline Persistence Timer begins counting down.</p><p>Numerical input in seconds. Default is <strong>60</strong>. Values below 5 are not recommended.</p></td>
<td><ul><li>System Config path: <strong>Environment &gt; Mobile Security</strong></li><li><code>config.json</code> setting: <code>NativeAppSettings</code> &gt; <code>MobileDisconnectionTimeoutSeconds</code> &gt; <code>60</code></li><li>Environment variable: <code>MM_NATIVEAPPSETTINGS_MOBILEDISCONNECTIONTIMEOUTSECONDS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Offline persistence timer
<table>
<colgroup>
<col style={{width: '50%'}} />
<col style={{width: '49%'}} />
</colgroup>
<tbody>
<tr>
<td><p>How long cached content is retained after the device is considered offline, in hours.</p><p>Numerical input in hours. Default is <strong>2</strong>. Set to <strong>0</strong> for immediate purge on disconnect.</p></td>
<td><ul><li>System Config path: <strong>Environment &gt; Mobile Security</strong></li><li><code>config.json</code> setting: <code>NativeAppSettings</code> &gt; <code>MobileOfflinePersistenceTimerHours</code> &gt; <code>2</code></li><li>Environment variable: <code>MM_NATIVEAPPSETTINGS_MOBILEOFFLINEPERSISTENCETIMERHOURS</code></li></ul></td>
</tr>
</tbody>
</table>
#### Auto cache cleanup
<table>
<colgroup>
<col style={{width: '50%'}} />
<col style={{width: '49%'}} />
</colgroup>
<tbody>
<tr>
<td><p>Maximum age in days for content cached on the device, regardless of connection status.</p><p>Numerical input in days. Default is <strong>7</strong>. Set to <strong>0</strong> for zero-persistence mode.</p></td>
<td><ul><li>System Config path: <strong>Environment &gt; Mobile Security</strong></li><li><code>config.json</code> setting: <code>NativeAppSettings</code> &gt; <code>MobileAutoCacheCleanupDays</code> &gt; <code>7</code></li><li>Environment variable: <code>MM_NATIVEAPPSETTINGS_MOBILEAUTOCACHECLEANUPDAYS</code></li></ul></td>
</tr>
</tbody>
</table>
### Enable secure file preview on mobile
This setting improves an organization's mobile security posture by restricting file access while still allowing essential file viewing capabilities.
@@ -6,7 +6,6 @@ title: "Experimental configuration settings"
Review and manage the following [experimental](/administration-guide/manage/feature-labels#experimental) configuration options in the System Console by selecting the **Product** <img src="/img/ui/products_E82F.svg" alt="Navigate between Channels, collaborative playbooks, and boards using the product menu icon." className="theme-icon" /> menu, selecting **System Console**, and then selecting **Experimental \> Features**:
- [Experimental System Console configuration settings](#experimental-system-console-configuration-settings)
- [Experimental audit logging configuration settings](#experimental-audit-logging-configuration-settings)
- [Experimental job configuration settings](#experimental-job-configuration-settings)
- [Experimental configuration settings for self-hosted deployments only](#experimental-configuration-settings-for-self-hosted-deployments-only)
@@ -295,6 +294,33 @@ Changes made when hardened mode is enabled:
</tbody>
</table>
### Enable Mobile Watermark
Available on [Enterprise Advanced](https://mattermost.com/pricing/) from Mattermost v11.7 onward.
**True**: Authenticated Mattermost mobile sessions display a watermark overlay showing the user's username, the server domain, the current date (YYYY-MM-DD), and the current time (HH:mm). This experimental capability is intended to support data loss prevention (DLP) workflows by helping identify the user, server, and time associated with mobile screenshots or shared screen captures.
**False**: No watermark overlay is displayed in the Mattermost mobile app.
<Note>
- This is an experimental setting. Behavior, defaults, and visual presentation may change in future releases.
- This setting only applies to the Mattermost mobile app. It does not add a watermark to the Mattermost web app or desktop apps.
- The watermark overlay is a visual aid and does not, by itself, prevent screenshots, screen recordings, file exports, or other forms of data extraction. Use it in combination with other mobile security controls, such as [screenshot and screen recording prevention](/deployment-guide/mobile/mobile-security-features#screenshot-and-screen-recording-prevention), where appropriate.
</Note>
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalSettings.EnableWatermark": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Enable theme selection
**True**: Enables the **Display \> Theme** tab in **Settings** so users can select their theme.
@@ -705,151 +731,6 @@ Select **Purge Index** to remove the contents of the Bleve index directory. Sear
------------------------------------------------------------------------------------------------------------------------
## Experimental audit logging configuration settings
Enable the following settings to output audit events in the System Console by going to **Compliance \> Audit Logging**, or in the `config.json` file.
<Note>
The ability to enable and configure audit logging is currently in [Beta](/administration-guide/manage/feature-labels#beta).
</Note>
### Advanced logging
<PlanAvailability slug="entry-ent" />
Output log and audit records to any combination of console, local file, syslog, and TCP socket targets for a Mattermost Cloud deployment. See the [advanced logging](/administration-guide/manage/logging#advanced-logging) documentation for details about logging options.
### Enable audit logging
<PlanAvailability slug="ent-plus" />
When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, compression, maximium age to manage file rotation, and timestamps for audit logging, as defined below. You can specify these settings independently for audit events and AD/LDAP events.
**True**: Audit logging files are enabled, and audit files are written locally to a file for a self-hosted deployment.
**False**: Audit logging files aren't enabled, and audit logs aren't written locally to a file for a self-hosted deployment.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileEnabled": false",</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### File name
<PlanAvailability slug="ent-plus" />
Specify the path to the audit file for a self-hosted deployment.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileName": ""</code> with string input consisting of a user-defined path (e.g. <code>/var/log/mattermost_audit.log</code>).</td>
</tr>
</tbody>
</table>
### Max file size
<PlanAvailability slug="ent-plus" />
This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. The default setting is `100`.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '98%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileMaxSizeMB": 100</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Max file age
<PlanAvailability slug="ent-plus" />
This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. The default value is `0`, indicating no limit on the age.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '97%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileMaxAgeDays": 0</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Maximum file backups
<PlanAvailability slug="ent-plus" />
This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. The default value is `0`, indicating no limit on the number of backups.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '97%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileMaxBackups": 0</code> with numerical input.</td>
</tr>
</tbody>
</table>
### File compression
<PlanAvailability slug="ent-plus" />
When `true`, rotated files are compressed using `gzip` in a self-hosted deployment.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileCompress": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Maximum file queue
<PlanAvailability slug="ent-plus" />
This setting determines how many audit records can be queued/buffered at any point in time when writing to a file for a self-hosted deployment. The default is `1000` records. This setting can be left as default unless you are seeing audit write failures in the server log and need to adjust the number accordingly.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>".ExperimentalAuditSettings.FileMaxQueueSize": 1000</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Certificate
Cloud Enterprise customers can upload and manage a certificate for audit logging encryption on Syslog or TCP logging targets.
Upload the certificate PEM file in the System Console by going to **System Console \> Audit Log Settings \> Certificate** and selecting **File/Remove Certificate**. The certificate file can be stored in the filestore or stored locally on the filesystem.
## Experimental configuration settings for self-hosted deployments only
Access the following self-hosted configuration settings by editing the `config.json` file as described in the following tables. These configuration settings are not accessible through the System Console.
@@ -186,7 +186,7 @@ Cloud admins can't modify this configuration setting.
### Integration request timeout
The number of seconds to wait for external integration HTTP requests, before timing out, including [custom slash commands](https://developers.mattermost.com/integrate/slash-commands/custom/), [outgoing webhooks](https://developers.mattermost.com/integrate/webhooks/outgoing/), [interactive messages](https://developers.mattermost.com/integrate/plugins/interactive-messages/), and [interactive dialogs](https://developers.mattermost.com/integrate/plugins/interactive-dialogs/). Increase this value if you have external integrations that can take some time to generate an HTTP response, or experience delayed responses due to latency.
The number of seconds to wait for external integration HTTP requests before timing out, including [custom slash commands](https://developers.mattermost.com/integrate/slash-commands/custom/), [outgoing webhooks](https://developers.mattermost.com/integrate/webhooks/outgoing/), [interactive messages](https://developers.mattermost.com/integrate/plugins/interactive-messages/), and [interactive dialogs](https://developers.mattermost.com/integrate/plugins/interactive-dialogs/). Increase this value if you have external integrations that can take some time to generate an HTTP response, or experience delayed responses due to latency.
<table style={{width: '81%'}}>
<colgroup>
@@ -194,7 +194,7 @@ The number of seconds to wait for external integration HTTP requests, before tim
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"OutgoingIntegrationRequestsDefaultTimeout": 3</code>.</td>
<td>This feature's <code>config.json</code> setting is <code>"OutgoingIntegrationRequestsTimeout": 30</code>.</td>
</tr>
</tbody>
</table>
@@ -73,8 +73,8 @@ Disabling this configuration setting in larger deployments may improve server pe
</colgroup>
<tbody>
<tr>
<td><ul><li><strong>true</strong>: <strong>(Default)</strong> Enables plugin signature validation for managed and unmanaged plugins.</li><li><strong>false</strong>: Disables plugin signature validation for managed and unmanaged plugins.</li></ul></td>
<td><ul><li>System Config path: <strong>Plugins &gt; Plugin Management</strong></li><li><code>config.json</code> setting: <code>PluginSettings</code> &gt; <code>RequirePluginSignature</code> &gt; <code>true</code></li><li>Environment variable: <code>MM_PLUGINSETTINGS_REQUIREPLUGINSIGNATURE</code></li></ul></td>
<td><ul><li><strong>true</strong>: Enables plugin signature validation for managed and unmanaged plugins.</li><li><strong>false</strong>: <strong>(Default)</strong> Disables plugin signature validation for managed and unmanaged plugins.</li></ul></td>
<td><ul><li>System Config path: <strong>Plugins &gt; Plugin Management</strong></li><li><code>config.json</code> setting: <code>PluginSettings</code> &gt; <code>RequirePluginSignature</code> &gt; <code>false</code></li><li>Environment variable: <code>MM_PLUGINSETTINGS_REQUIREPLUGINSIGNATURE</code></li></ul></td>
</tr>
</tbody>
</table>
@@ -5,14 +5,16 @@ title: "Reporting configuration settings"
View the following statistics for your overall deployment and specific teams, as well as access server logs, in the System Console by selecting the **Product** <img src="/img/ui/products_E82F.svg" alt="Navigate between Channels, collaborative playbooks, and boards using the product menu icon." className="theme-icon" /> menu, selecting **System Console**, and then selecting **Reporting**:
- [Site statistics](#site-statistics)
- [System statistics](#system-statistics)
- [Team statistics](#team-statistics)
- [Server logs](#server-logs)
- [Statistics configuration settings](#statistics-configuration-settings)
------------------------------------------------------------------------------------------------------------------------
## Site statistics
<a id="site-statistics" />
## System statistics
<table>
<colgroup>
@@ -23,7 +25,7 @@ View the following statistics for your overall deployment and specific teams, as
<tr>
<td>View statistics on a wide variety of activities in Mattermost, including: users, seats, teams, channels, posts, calls, sessions, commands, webhooks, websocket and database connections, and collaborative playbooks.</td>
<td><ul>
<li>System Config path: <strong>Reporting &gt; Site Statistics</strong></li>
<li>System Config path: <strong>Reporting &gt; System Statistics</strong></li>
<li><code>config.json setting</code>: N/A</li>
<li>Environment variable: N/A</li>
</ul></td>
@@ -17,6 +17,7 @@ Review and manage the following site configuration options in the System Console
- [Public Links](#public-links)
- [Notices](#notices)
- [Connected Workspaces](#connected-workspaces)
- [Classification Markings](#classification-markings)
<Tip>
@@ -230,7 +231,7 @@ This configuration setting applies to all Mattermost clients, including web, des
With self-hosted deployments, you can specify how the **Report a Problem** option behaves in the Mattermost app via the **Help** menu:
- **Default link**: Uses the default Mattermost URL to report a problem. Customers with a Mattermost subscription are directed to the [Mattermost Support Portal](https://support.mattermost.com/hc/en-us/requests/new). Community deployments are directed to [create a new issue on the Mattermost GitHub repository](https://github.com/mattermost/mattermost/issues/new).
- **Default**: Customers with a Mattermost license can open a support case by email with the Mattermost support team. Unlicensed Mattermost deployments are directed to the [troubleshooting forums](https://mattermost.com/pl/report_a_problem_unlicensed).
- **Email address**: Enables you to [enter an email address](/administration-guide/configure/site-configuration-settings#report-a-problem-email-address) that users will be prompted to send a message to when they choose **Report a Problem** in Mattermost.
- **Custom link**: Enables you to [enter a URL](/administration-guide/configure/site-configuration-settings#report-a-problem-link) that users will be directed to when they choose **Report a Problem** in Mattermost.
- **Hide link**: Removes the **Report a Problem** option from Mattermost.
@@ -266,7 +267,7 @@ This setting is applicable to self-hosted deployments only.
<tbody>
<tr>
<td><p>This field sets the email address for the <strong>Report a Problem</strong> link in the channel header <strong>Help</strong> menu.</p><p>String input. Cannot be left blank.</p></td>
<td><ul><li>System Config path: <strong>Site Configuration &gt; Customization</strong></li><li><code>config.json</code> setting: <code>SupportSettings</code> &gt; <code>ReportAProblemMail</code></li><li>Environment variable: <code>MM_SUPPORTSETTINGS_REPORTAPROBLMEMAIL</code></li></ul></td>
<td><ul><li>System Config path: <strong>Site Configuration &gt; Customization</strong></li><li><code>config.json</code> setting: <code>SupportSettings</code> &gt; <code>ReportAProblemMail</code></li><li>Environment variable: <code>MM_SUPPORTSETTINGS_REPORTAPROBLEMMAIL</code></li></ul></td>
</tr>
</tbody>
</table>
@@ -885,6 +886,23 @@ Access the following configuration settings in the System Console by going to **
</tbody>
</table>
### Channel category sorting
From Mattermost v11.8, channel category sorting is enabled by default. When enabled, channel admins can choose a default sidebar category when creating or editing a channel. Channel admins can select an existing category, type a new category name, or clear the default category from channel settings. Members who join the channel see it under that category in their sidebar. When disabled, the default category selector is hidden.
<table>
<colgroup>
<col style={{width: '54%'}} />
<col style={{width: '45%'}} />
</colgroup>
<tbody>
<tr>
<td><ul><li><strong>true</strong>: <strong>(Default)</strong> When creating or editing supported channels, channel admins see a <strong>Default category (optional)</strong> field. They can select an existing category, enter a new category name, or clear the default category from channel settings. Members who join the channel see it under that category in their sidebar.</li><li><strong>false</strong>: The default category selector is hidden when creating or editing channels.</li></ul></td>
<td><ul><li>System Config path: <strong>Site Configuration &gt; Users and Teams</strong></li><li><code>config.json</code> setting: <code>TeamSettings</code> &gt; <code>EnableChannelCategorySorting</code> &gt; <code>true</code></li><li>Environment variable: <code>MM_TEAMSETTINGS_ENABLECHANNELCATEGORYSORTING</code></li></ul></td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Notifications
@@ -2119,6 +2137,35 @@ Enabling these features can increase the load on your Mattermost server’s CPU,
------------------------------------------------------------------------------------------------------------------------
## Classification Markings
From Mattermost v11.8, system admins can configure classification markings in the System Console by going to **Site Configuration \> Classification Markings**.
Classification markings define reusable classification levels that can be displayed as global or channel-level banners in the web and desktop apps. Each classification level includes a name, color, and rank order. You can select a preset, such as US DoD, NATO, UK GSCP, Canada, or Australia PSPF, or define custom classification levels.
<Note>
Classification markings are informational only and aren't tied to access control decisions at this time.
</Note>
Configure classification markings:
1. Go to **System Console \> Site Configuration \> Classification Markings**.
2. Enable **Enable classification markings**.
3. Select a **Classification preset**, or create custom classification levels.
4. Configure classification level names, colors, and rank order.
5. Optionally enable the **Global Classification Banner** under **Global Classification Indicators**.
6. Select the **Banner visibility**:
- **Top only**
- **Top and bottom**
7. Select the **Global classification level** to display.
8. Select **Save**.
------------------------------------------------------------------------------------------------------------------------
## config.json-only settings
The following self-hosted deployment settings are only configurable in the `config.json` file and are not available in the System Console.
@@ -9,6 +9,6 @@ Review and manage the following system attributes configuration options in the S
You can define, manage, and enforce specific attributes, including:
- **Custom attributes for user profiles**: Display details such as job titles, departments, or other metadata, on user profiles that align with your organizational structures and workflows. Learn more about [managing custom user profile attributes](/administration-guide/manage/admin/user-attributes). API responses for custom profile attributes return default visibility and sort order when those values are missing.
- **User attributes**: Display details such as job titles, departments, or other metadata, on user profiles that align with your organizational structures and workflows. Learn more about [managing user attributes](/administration-guide/manage/admin/user-attributes). API responses for user attributes return default visibility and sort order when those values are missing.
- **Granular access controls based on user attributes**: Ensure users have access to only the resources and functionality relevant to their roles, bolstering security and compliance across the organization. Learn more about [managing access based on user attributes](/administration-guide/manage/admin/attribute-based-access-control).
- **Control user-managed attributes in attribute-based access control (ABAC)**: From Mattermost v10.11 (Enterprise Edition Advanced), user-managed attributes are excluded from ABAC rules by default to prevent unauthorized access. System admins can enable them with a configuration setting. Learn more about enabling user-managed attributes in ABAC rules in the [User Attributes documentation](/administration-guide/manage/admin/user-attributes#before-you-begin).