Add feature flag to disable auto-save on the Layout tab (explicit Save action)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Description
Add a system-level feature flag that lets a dotCMS instance switch the Layout tab (page/template layout editor in UVE) from its current auto-save behavior to an explicit, manual Save action.
Today the Layout tab auto-saves while every other tab requires an explicit action. This inconsistency confuses editors, and — more importantly — partners on constrained or unreliable networks (varying bandwidth/latency) experience unpredictable behavior: sometimes the auto-save completes, sometimes it appears to do nothing, and editors are left unsure whether their work was persisted.
This change gives partners the ability to opt in to an explicit Save on the Layout tab via system configuration, without altering behavior for any existing customer.
Behavior
| Flag state | Layout tab behavior |
|---|---|
| Disabled (default) | Current auto-save behavior — no change for existing customers |
| Enabled (opt-in) | Auto-save is turned off; an explicit Save action/button persists layout changes. Editor is warned before leaving the tab/page with unsaved changes |
Acceptance Criteria
- A system-wide feature flag (e.g. backend
Configproperty exposed to the frontend) controls Layout-tab save behavior. - When the flag is disabled (default / unset), the Layout tab behaves exactly as it does today (auto-save) — no regression for existing customers.
- When the flag is enabled, auto-save on the Layout tab is disabled.
- When the flag is enabled, an explicit Save action/button is shown on the Layout tab and persists layout changes only on user action.
- When the flag is enabled and there are unsaved layout changes, navigating away / switching tabs / closing the editor triggers an "unsaved changes" confirmation before discarding.
- After an explicit Save, the unsaved-changes state is cleared (no false warning).
- The flag is read consistently by the frontend so toggling it system-wide takes effect without code changes (config-only).
- Toggling the flag does not affect save behavior of other tabs.
- The flag's name, default value, and effect are documented for partners enabling it.
Additional Context
- Affected area: Universal Visual Editor (UVE) — page/template Layout tab.
- Likely touches both backend (config property exposure) and frontend (UVE Layout tab save logic + unsaved-changes guard), hence Technology = FE and BE.
- Requested by a state partner (e.g. Indiana) for explicit-save workflows on constrained networks.
- Helpdesk reference: https://helpdesk.dotcms.com/a/tickets/37840
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the UVE Layout tab save flow and the backend Config property exposure described in the issue. Verify the disabled default preserves auto-save, while the enabled setting provides explicit Save behavior, unsaved-change protection, and no effect on other tabs; document the flag name and default when the behavior is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100