diff --git a/e2e-tests/playwright/support/server/default_config.ts b/e2e-tests/playwright/support/server/default_config.ts
index c57222c8a7..f33653f9db 100644
--- a/e2e-tests/playwright/support/server/default_config.ts
+++ b/e2e-tests/playwright/support/server/default_config.ts
@@ -583,10 +583,8 @@ const defaultServerConfig: AdminConfig = {
DataRetentionSettings: {
EnableMessageDeletion: false,
EnableFileDeletion: false,
- EnableBoardsDeletion: false,
MessageRetentionDays: 365,
FileRetentionDays: 365,
- BoardsRetentionDays: 365,
DeletionJobStartTime: '02:00',
BatchSize: 3000,
},
@@ -669,7 +667,6 @@ const defaultServerConfig: AdminConfig = {
PermalinkPreviews: true,
CallsEnabled: true,
BoardsFeatureFlags: '',
- BoardsDataRetention: false,
NormalizeLdapDNs: false,
GraphQL: false,
CommandPalette: false,
diff --git a/server/config/client.go b/server/config/client.go
index 50f9c048a3..46dad7e496 100644
--- a/server/config/client.go
+++ b/server/config/client.go
@@ -126,8 +126,6 @@ func GenerateClientConfig(c *model.Config, telemetryID string, license *model.Li
props["DataRetentionMessageRetentionDays"] = "0"
props["DataRetentionEnableFileDeletion"] = "false"
props["DataRetentionFileRetentionDays"] = "0"
- props["DataRetentionEnableBoardsDeletion"] = "false"
- props["DataRetentionBoardsRetentionDays"] = "0"
props["CustomUrlSchemes"] = strings.Join(c.DisplaySettings.CustomURLSchemes, ",")
props["IsDefaultMarketplace"] = strconv.FormatBool(*c.PluginSettings.MarketplaceURL == model.PluginSettingsDefaultMarketplaceURL)
@@ -200,8 +198,6 @@ func GenerateClientConfig(c *model.Config, telemetryID string, license *model.Li
props["DataRetentionMessageRetentionDays"] = strconv.FormatInt(int64(*c.DataRetentionSettings.MessageRetentionDays), 10)
props["DataRetentionEnableFileDeletion"] = strconv.FormatBool(*c.DataRetentionSettings.EnableFileDeletion)
props["DataRetentionFileRetentionDays"] = strconv.FormatInt(int64(*c.DataRetentionSettings.FileRetentionDays), 10)
- props["DataRetentionEnableBoardsDeletion"] = strconv.FormatBool(*c.DataRetentionSettings.EnableBoardsDeletion)
- props["DataRetentionBoardsRetentionDays"] = strconv.FormatInt(int64(*c.DataRetentionSettings.BoardsRetentionDays), 10)
}
if license.HasSharedChannels() {
diff --git a/server/platform/services/telemetry/telemetry.go b/server/platform/services/telemetry/telemetry.go
index ad5b7d0beb..ef8c485874 100644
--- a/server/platform/services/telemetry/telemetry.go
+++ b/server/platform/services/telemetry/telemetry.go
@@ -829,10 +829,8 @@ func (ts *TelemetryService) trackConfig() {
ts.SendTelemetry(TrackConfigDataRetention, map[string]any{
"enable_message_deletion": *cfg.DataRetentionSettings.EnableMessageDeletion,
"enable_file_deletion": *cfg.DataRetentionSettings.EnableFileDeletion,
- "enable_boards_deletion": *cfg.DataRetentionSettings.EnableBoardsDeletion,
"message_retention_days": *cfg.DataRetentionSettings.MessageRetentionDays,
"file_retention_days": *cfg.DataRetentionSettings.FileRetentionDays,
- "boards_retention_days": *cfg.DataRetentionSettings.BoardsRetentionDays,
"deletion_job_start_time": *cfg.DataRetentionSettings.DeletionJobStartTime,
"batch_size": *cfg.DataRetentionSettings.BatchSize,
"time_between_batches": *cfg.DataRetentionSettings.TimeBetweenBatchesMilliseconds,
diff --git a/server/public/model/data_retention_policy.go b/server/public/model/data_retention_policy.go
index 1e2817c28a..f8d3ad6470 100644
--- a/server/public/model/data_retention_policy.go
+++ b/server/public/model/data_retention_policy.go
@@ -6,10 +6,8 @@ package model
type GlobalRetentionPolicy struct {
MessageDeletionEnabled bool `json:"message_deletion_enabled"`
FileDeletionEnabled bool `json:"file_deletion_enabled"`
- BoardsDeletionEnabled bool `json:"boards_deletion_enabled"`
MessageRetentionCutoff int64 `json:"message_retention_cutoff"`
FileRetentionCutoff int64 `json:"file_retention_cutoff"`
- BoardsRetentionCutoff int64 `json:"boards_retention_cutoff"`
}
type RetentionPolicy struct {
diff --git a/server/public/model/feature_flags.go b/server/public/model/feature_flags.go
index a820acd289..73b7ebf8d7 100644
--- a/server/public/model/feature_flags.go
+++ b/server/public/model/feature_flags.go
@@ -27,9 +27,6 @@ type FeatureFlags struct {
// CallsEnabled controls whether or not the Calls plugin should be enabled
CallsEnabled bool
- // Enable DataRetention for Boards
- BoardsDataRetention bool
-
NormalizeLdapDNs bool
// Enable GraphQL feature
@@ -58,7 +55,6 @@ func (f *FeatureFlags) SetDefaults() {
f.TestBoolFeature = false
f.EnableRemoteClusterService = false
f.AppsEnabled = true
- f.BoardsDataRetention = false
f.NormalizeLdapDNs = false
f.GraphQL = false
f.CallsEnabled = true
diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/__snapshots__/data_retention_settings.test.tsx.snap b/webapp/channels/src/components/admin_console/data_retention_settings/__snapshots__/data_retention_settings.test.tsx.snap
index eba2b19e90..7943720835 100644
--- a/webapp/channels/src/components/admin_console/data_retention_settings/__snapshots__/data_retention_settings.test.tsx.snap
+++ b/webapp/channels/src/components/admin_console/data_retention_settings/__snapshots__/data_retention_settings.test.tsx.snap
@@ -112,14 +112,6 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
/>
,
- "boards":
-
-
,
"channel_messages":
@@ -490,19 +482,6 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
/>
,
- "boards":
-
-
,
"channel_messages":
@@ -888,19 +867,6 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
/>
,
- "boards":
-
-
,
"channel_messages":
@@ -1281,19 +1247,6 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
/>
,
- "boards":
-
-
,
"channel_messages":
diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.test.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.test.tsx
index 06b98cbc2d..9453f7799a 100644
--- a/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.test.tsx
+++ b/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.test.tsx
@@ -12,10 +12,8 @@ describe('components/admin_console/data_retention_settings/data_retention_settin
DataRetentionSettings: {
EnableMessageDeletion: true,
EnableFileDeletion: true,
- EnableBoardsDeletion: true,
MessageRetentionDays: 100,
FileRetentionDays: 100,
- BoardsRetentionDays: 100,
DeletionJobStartTime: '00:15',
},
},
@@ -83,7 +81,6 @@ describe('components/admin_console/data_retention_settings/data_retention_settin
const props = baseProps;
props.config.DataRetentionSettings.EnableMessageDeletion = false;
props.config.DataRetentionSettings.EnableFileDeletion = false;
- props.config.DataRetentionSettings.EnableBoardsDeletion = false;
const wrapper = shallow(
{
const columns: Column[] = [
{
@@ -100,19 +99,6 @@ export default class DataRetentionSettings extends React.PureComponent
- ),
- field: 'boards',
- },
- );
- }
columns.push(
{
name: '',
@@ -205,11 +191,6 @@ export default class DataRetentionSettings extends React.PureComponent
),
- boards: (
-
- {this.getMessageRetentionSetting(DataRetentionSettings?.EnableBoardsDeletion, DataRetentionSettings?.BoardsRetentionDays)}
-
- ),
actions: (
messageRetentionInputValue: this.getDefaultInputValue(DataRetentionSettings?.EnableMessageDeletion, DataRetentionSettings?.MessageRetentionDays),
fileRetentionDropdownValue: this.getDefaultDropdownValue(DataRetentionSettings?.EnableFileDeletion, DataRetentionSettings?.FileRetentionDays),
fileRetentionInputValue: this.getDefaultInputValue(DataRetentionSettings?.EnableFileDeletion, DataRetentionSettings?.FileRetentionDays),
- boardsRetentionDropdownValue: this.getDefaultDropdownValue(DataRetentionSettings?.EnableBoardsDeletion, DataRetentionSettings?.BoardsRetentionDays),
- boardsRetentionInputValue: this.getDefaultInputValue(DataRetentionSettings?.EnableBoardsDeletion, DataRetentionSettings?.BoardsRetentionDays),
};
}
- includeBoards = this.props.config.PluginSettings?.PluginStates?.focalboard?.Enable && this.props.config.FeatureFlags?.BoardsDataRetention;
-
getDefaultInputValue = (isEnabled: boolean | undefined, days: number | undefined): string => {
if (!isEnabled || days === undefined) {
return '';
@@ -84,7 +78,7 @@ export default class GlobalPolicyForm extends React.PureComponent
};
handleSubmit = async () => {
- const {messageRetentionDropdownValue, messageRetentionInputValue, fileRetentionDropdownValue, fileRetentionInputValue, boardsRetentionDropdownValue, boardsRetentionInputValue} = this.state;
+ const {messageRetentionDropdownValue, messageRetentionInputValue, fileRetentionDropdownValue, fileRetentionInputValue} = this.state;
const newConfig: AdminConfig = JSON.parse(JSON.stringify(this.props.config));
this.setState({saving: true});
@@ -108,13 +102,6 @@ export default class GlobalPolicyForm extends React.PureComponent
newConfig.DataRetentionSettings.FileRetentionDays = fileDays;
}
- newConfig.DataRetentionSettings.EnableBoardsDeletion = this.setDeletionEnabled(boardsRetentionDropdownValue.value);
-
- const boardsDays = this.setRetentionDays(boardsRetentionDropdownValue.value, boardsRetentionInputValue);
- if (boardsDays >= 1) {
- newConfig.DataRetentionSettings.BoardsRetentionDays = boardsDays;
- }
-
const {error} = await this.props.actions.updateConfig(newConfig);
if (error) {
@@ -222,33 +209,6 @@ export default class GlobalPolicyForm extends React.PureComponent
inputId={'file_retention_input'}
/>
- { this.includeBoards &&
-
- {
- if (this.state.boardsRetentionDropdownValue.value !== value.value) {
- this.setState({boardsRetentionDropdownValue: value, saveNeeded: true});
- this.props.actions.setNavigationBlocked(true);
- }
- }}
- onInputChange={(e) => {
- this.setState({boardsRetentionInputValue: e.target.value, saveNeeded: true});
- this.props.actions.setNavigationBlocked(true);
- }}
- value={this.state.boardsRetentionDropdownValue}
- inputValue={this.state.boardsRetentionInputValue}
- width={90}
- exceptionToInput={[FOREVER]}
- defaultValue={keepForeverOption()}
- options={[daysOption(), yearsOption(), keepForeverOption()]}
- legend={Utils.localizeMessage('admin.data_retention.form.boardsRetention', 'Boards retention')}
- placeholder={Utils.localizeMessage('admin.data_retention.form.boardsRetention', 'Boards retention')}
- name={'boards_retention'}
- inputType={'number'}
- dropdownClassNamePrefix={'boards_retention_dropdown'}
- inputId={'boards_retention_input'}
- />
-
}
diff --git a/webapp/channels/src/i18n/en.json b/webapp/channels/src/i18n/en.json
index 5e06a0416d..b7559736fd 100644
--- a/webapp/channels/src/i18n/en.json
+++ b/webapp/channels/src/i18n/en.json
@@ -708,7 +708,6 @@
"admin.data_retention.customPoliciesTable.channelMessages": "Channel messages",
"admin.data_retention.customPoliciesTable.description": "Description",
"admin.data_retention.customTitle": "Custom Retention Policy",
- "admin.data_retention.form.boardsRetention": "Boards retention",
"admin.data_retention.form.channelAndDirectMessageRetention": "Channel & direct message retention",
"admin.data_retention.form.days": "Days",
"admin.data_retention.form.fileRetention": "File retention",
@@ -716,7 +715,6 @@
"admin.data_retention.form.text": "Applies to all teams and channels, but does not apply to custom retention policies.",
"admin.data_retention.form.years": "Years",
"admin.data_retention.global_policy.form.numberError": "You must add a number greater than or equal to 1.",
- "admin.data_retention.globalPoliciesTable.boards": "Boards",
"admin.data_retention.globalPoliciesTable.channelMessages": "Channel messages",
"admin.data_retention.globalPoliciesTable.delete": "Delete",
"admin.data_retention.globalPoliciesTable.description": "Description",
diff --git a/webapp/platform/types/src/config.ts b/webapp/platform/types/src/config.ts
index 12edcd1dc3..21dca76dc8 100644
--- a/webapp/platform/types/src/config.ts
+++ b/webapp/platform/types/src/config.ts
@@ -790,10 +790,8 @@ export type BleveSettings = {
export type DataRetentionSettings = {
EnableMessageDeletion: boolean;
EnableFileDeletion: boolean;
- EnableBoardsDeletion: boolean;
MessageRetentionDays: number;
FileRetentionDays: number;
- BoardsRetentionDays: number;
DeletionJobStartTime: string;
BatchSize: number;
};