Configuring Undo for Page Editing
- Topics:
- Administering
CREATED FOR:
- Admin
The OSGi service Day CQ WCM Undo Configuration ( com.day.cq.wcm.undo.UndoConfigService
) exposes several properties that control the behavior of the undo and redo commands for editing pages.
Default Configuration
In a standard installation the default settings are defined as properties on the sling:OsgiConfig
node:
/libs/wcm/core/config.author/com.day.cq.wcm.undo.UndoConfig
This node contains cq.wcm.undo.whitelist
and cq.wcm.undo.blacklist
properties, for the other properties the defaults are taken.
/libs
path./libs
is overwritten the next time you upgrade your instance (and may well be overwritten when you apply either a hotfix or feature pack).Configuring Undo and Redo
You can configure these OSGi service properties for your own instance.
The following lists the properties as displayed in the Web console, followed by the name of the corresponding OSGi parameter, together with a description and the default value (where appropriate):
-
Enable
(cq.wcm.undo.enabled
)- Description: Determines whether page authors can undo and redo changes.
- Default:
Selected
- Type:
Boolean
-
Path
(cq.wcm.undo.path
)- Description: The repository path for persisting binary undo data. When authors change binary data such as images, the original version of the data is persisted here. When changes to binary data is undone, this binary undo data is restored to the page.
- Default:
/var/undo
- Type:
String
NOTE
By default, only administrators can access the/var/undo
node. Authors can perform undo and redo operations on binary content only after they are given permissions to access the binary undo data. -
Min. validity
(cq.wcm.undo.validity
)- Description: The minimum amount of time that binary undo data is stored, in hours. After this time period, the binary data is available for deletion, to conserve disk space.
- Default:
10
- Type:
Integer
-
Steps
(cq.wcm.undo.steps
)- Description: The maximum number of page actions that are stored in the undo history.
- Default:
20
- Type:
Integer
-
Persistence
(cq.wcm.undo.persistence
)-
Description: The class that persists undo history. Two persistence classes are provided:
CQ.undo.persistence.WindowNamePersistence
: Persists history using the window.name property.CQ.undo.persistence.CookiePersistance
: Persists history using cookies.
-
Default:
CQ.undo.persistence.WindowNamePersistence
-
Type:
String
-
-
Persistence mode
(cq.wcm.undo.persistence.mode
)-
Description: Determines when undo history is persisted. Select this option to persist undo history after each page edit. Clear this option to persist only when a page reload occurs (for example, the user navigates to a different page).
Persisting undo history uses web browser resources. If your users’ browser reacts slowly to page edits, try persisting the undo history on page reloads.
-
Default:
Selected
-
Type:
Boolean
-
-
Marker mode
(cq.wcm.undo.markermode
)-
Description: Specifies the visual cue to use for indicating which paragraphs are affected when an undo or redo occurs. The following values are valid:
- flash: The selection indicator of the paragraphs flash temporarily.
- select: The paragraph is selected.
-
Default:
flash
-
Type:
String
-
-
Good components
(cq.wcm.undo.whitelist
)-
Description: A list of components that you want to be affected by undo and redo commands. Add component paths to this list when they function correctly with undo/redo. Append an asterisk (*) to specify a group of components:
-
The following value specifies the foundation text component:
foundation/components/text
-
The following value specifies all foundation components:
foundation/components/*
-
-
When undo or redo is issued to a component that is not in this list, a message appears that indicates that the command can be unreliable.
-
Default: The property is populated with many components that AEM provides.
-
Type:
String[]
-
-
Bad components
(cq.wcm.undo.blacklist
)-
Description: A list of components and/or component operations that you do not want to be affected by the undo command. Add components and component operations that do not behave correctly with the undo command:
- Add a component path when you want none of the component’s operations in the undo history, for example
collab/forum/components/post
- Append a colon (:) and an operation to the path when you want that specific operation to be omitted from the undo history (other operations function correctly), for example
collab/forum/components/post:insertParagraph.
- Add a component path when you want none of the component’s operations in the undo history, for example
NOTE
When an operation is on this list, it is still added to the undo history. Users cannot undo operations that exist earlier than a Bad Component operation in the undo history.-
Typical operation names are as follows:
insertParagraph
: The component is added to the page.removeParagraph
: The component is deleted.moveParagraph
: The paragraph is moved to a different location.updateParagraph
: The paragraph properties are changed.
-
Default: The property is populated with several component operations.
-
Type:
String[]
-
Experience Manager
- Administering User Guide overview
- Sites Features
- Website Administration
- Reusing Content: Multi Site Manager and Live Copy
- Live Copy Overview Console
- Configuring Live Copy Synchronization
- Creating and Synchronizing Live Copies
- MSM Rollout Conflicts
- MSM Best Practices
- Translating Content for Multilingual Sites
- Managing Translation Projects
- Identifying Content to Translate
- Preparing Content for Translation
- Creating a Language Root Using the Classic UI
- Connecting to Microsoft Translator
- Configuring the Translation Integration Framework
- Language Copy Wizard
- Translation Enhancements
- Translation Best Practices
- Configurations and the Configuration Browser
- AEM FAQs
- Operations
- Dashboards
- Operations Dashboard
- Backup and Restore
- Data Store Garbage Collection
- Monitoring Server Resources Using the JMX Console
- Working with Logs
- Configure the Rich Text Editor
- Configure the Video component
- The Bulk Editor
- Configuring Email Notification
- Configuring RTE for Producing Accessible Sites
- The Link Checker
- Troubleshooting AEM
- Audit Log Maintenance in AEM 6
- Editor
- Managing Access to Workflows
- Using cURL with AEM
- Configuring Undo for Page Editing
- Proxy Server Tool (proxy.jar)
- Configuring for AEM Apps
- Administering Workflows
- Configuring Search Forms
- Tools Consoles
- Reporting
- Administering Workflow Instances
- Configuring Layout Container and Layout Mode
- Enabling Access to Classic UI
- Starting Workflows
- Configure the Rich Text Editor plug-ins
- Admin Consoles
- Security
- User Administration and Security
- User, Group and Access Rights Administration
- Security Checklist
- OWASP Top 10
- Running AEM in Production Ready Mode
- Identity Management
- Adobe IMS Authentication and Admin Console Support for AEM Managed Services
- Creating a Closed User Group
- Mitigating serialization issues in AEM
- User Synchronization
- Encapsulated Token Support
- Single Sign On
- How to Audit User Management Operations in AEM
- SSL By Default
- SAML 2.0 Authentication Handler
- Closed User Groups in AEM
- Granite Operations - User and Group Administration
- Enabling CRXDE Lite in AEM
- Configuring LDAP with AEM 6
- Configure the Admin Password on Installation
- Service Users in AEM
- Encryption Support for Configuration Properties
- Handling GDPR Requests for the AEM Foundation
- Content Disposition Filter
- Personalization
- eCommerce
- Integration
- Integrating with Third-Party Services
- Integrating with Salesforce
- Integrating with Adobe Target
- Integrating with Adobe Analytics
- Connecting to Adobe Analytics and Creating Frameworks
- Configuring Link Tracking for Adobe Analytics
- Mapping Component Data with Adobe Analytics Properties
- Configuring Video Tracking for Adobe Analytics
- HTTP2 Delivery of Content FAQ
- Troubleshooting your Adobe Campaign Integration
- SharePoint Connector Licenses, Copyright Notices, and Disclaimers
- SharePoint Connector
- DHTML Viewer End-of-Life FAQs
- Integrating with Adobe Campaign Classic
- Related Community Articles
- Integrating with Adobe Campaign Standard
- Flash Viewers End-of-Life Notice
- Integrating with Adobe Creative Cloud
- Integrating with Adobe Dynamic Tag Management
- Opting Into Adobe Analytics and Adobe Target
- AEM Portals and Portlets
- Integrating with Dynamic Media Classic
- Troubleshooting Integration Issues
- Integrating with BrightEdge Content Optimizer
- Best Practices for Email Templates
- Catalog Producer
- Integrating with Silverpop Engage
- Integrating with Adobe Campaign
- Integrating with ExactTarget
- Analytics with External Providers
- Integrating with the Adobe Marketing Cloud
- Manually Configuring the Integration with Adobe Target
- Prerequisites for Integrating with Adobe Target
- Adobe Classifications
- Solutions Integration
- Target Integration with Experience Fragments
- Best Practices
- Content Management