Description
#37222 added FEATURE_FLAG_DOTAI_CONFIG_UI=false to dotCMS/src/main/resources/dotmarketing-config.properties. With that default, every installation shows the restored pre-redesign dotAI config screen (DotAiConfigDetailLegacyComponent, a raw JSON editor) instead of the redesigned provider configuration page delivered under the dotAI: Provider Configuration UI epic (#36826).
The redesigned page is now ready to be the default, so the false default should be removed from dotmarketing-config.properties.
How the flag resolves once the entry is gone
The frontend guard dotAiConfigDetailMatchGuard reads the flag through DotPropertiesService.getFreshFeatureFlag. When the key has no configured value, the configuration endpoint returns FEATURE_FLAG_NOT_FOUND, and normalizeFlagValue treats that as true. So the router matches the redesigned route, and the legacy fallback route in dot-apps.routes.ts is not used.
The flag itself (the FeatureFlagName constant, the ConfigurationResource allow-list entries, the guard and the legacy component) stays in place for now. Customers can still opt back into the legacy screen with DOT_FEATURE_FLAG_DOTAI_CONFIG_UI=false. Removing the flag and the legacy screen completely is out of scope here and can be a follow-up.
Acceptance Criteria
Additional Context
Description
#37222 added
FEATURE_FLAG_DOTAI_CONFIG_UI=falsetodotCMS/src/main/resources/dotmarketing-config.properties. With that default, every installation shows the restored pre-redesign dotAI config screen (DotAiConfigDetailLegacyComponent, a raw JSON editor) instead of the redesigned provider configuration page delivered under the dotAI: Provider Configuration UI epic (#36826).The redesigned page is now ready to be the default, so the
falsedefault should be removed fromdotmarketing-config.properties.How the flag resolves once the entry is gone
The frontend guard
dotAiConfigDetailMatchGuardreads the flag throughDotPropertiesService.getFreshFeatureFlag. When the key has no configured value, the configuration endpoint returnsFEATURE_FLAG_NOT_FOUND, andnormalizeFlagValuetreats that astrue. So the router matches the redesigned route, and the legacy fallback route indot-apps.routes.tsis not used.The flag itself (the
FeatureFlagNameconstant, theConfigurationResourceallow-list entries, the guard and the legacy component) stays in place for now. Customers can still opt back into the legacy screen withDOT_FEATURE_FLAG_DOTAI_CONFIG_UI=false. Removing the flag and the legacy screen completely is out of scope here and can be a follow-up.Acceptance Criteria
FEATURE_FLAG_DOTAI_CONFIG_UI=falseentry and its comment block are removed fromdotCMS/src/main/resources/dotmarketing-config.properties; no other entry in the file changesDOT_FEATURE_FLAG_DOTAI_CONFIG_UI=falseset, the same navigation shows the legacy JSON-editor screenGET /api/v1/configurationstill includes theFEATURE_FLAG_DOTAI_CONFIG_UIkey (valueNOT_FOUNDwhen unset, the configured value when overridden)dotAiConfigDetailMatchGuardstill passAdditional Context
85e7ef81cad)