When trying to apply bookmarks that are based on a map chart, they will fail with an error similar to below:
Could not perform action 'Bookmark name'.
An exception occurred during a transaction and the attempt to rollback failed.
at Spotfire.Dxp.Framework.Commands.CommandHistory.RollbackOutermostTransaction(Exception exception, Object busyProof)
at Spotfire.Dxp.Framework.DocumentModel.TransactionHandle.Dispose(Boolean disposing)
at Spotfire.Dxp.Framework.Commands.CommandHistory.OutermostTransactionHandle.Dispose(Boolean disposing)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor)
at Spotfire.Dxp.Application.Visuals.HtmlTextArea.InteractWithControl(String id, Action`1 interaction)
When checking the client log file, the following stack trace can be seen:
ERROR Spotfire.Dxp.Application.AnalyticItems.BookmarkManager [(null)] - Bookmark could not be applied.
System.InvalidOperationException: Node 'Spotfire.Dxp.Application.Visuals.Maps.ImageLayer' has two properties named 'EditMode'.
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.ValidatePropertyIsNotDuplicate(Set`1 propertyNames, PropertyName property)
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c__DisplayClass103_0.<ValidatePropertyDuplicates>b__1(Node node)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c.<ValidatePropertyDuplicates>b__103_0(DocumentNode documentNode)
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c__DisplayClass178_0.<ForEachNonFrozenDocumentNodeInSubTree>b__0(Node node)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlLeaf`1.ForEachChild(Action`1 action, Boolean includeFrozen)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlNode`1.ForEachChild(Action`1 action, Boolean includeFrozen)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlNode`1.ForEachChild(Action`1 action, Boolean includeFrozen)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.UndoableList`1.ForEachChild(Action`1 action, Boolean includeFrozen)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild)
at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action)
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.ConfigureAndAttachFromNew()
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.AttachSubTreeWhileExecuting(UndoableNodeBase newOwner)
at Spotfire.Dxp.Framework.DocumentModel.UndoableNode.Spotfire.Dxp.Framework.DocumentModel.IUndoableNode.AttachItemToUndoableNode(Object item)
at Spotfire.Dxp.Framework.DocumentModel.UndoableProperty`1.<>c__DisplayClass10_0.<set_Value>b__0()
at Spotfire.Dxp.Framework.DocumentModel.Node.InternalTransaction(Executor executor, Boolean rollbackNestedInternalTransactionAtException, Boolean isStreamingProperty)
at Spotfire.Dxp.Application.AnalyticItems.VisualAnalyticItem.<>c__DisplayClass22_0.<GetUpdater>b__1(VisualContent documentNode)
at Spotfire.Dxp.Application.AnalyticItems.SerializedDocumentNodeAnalyticItem`1.Apply(T currentDocumentNode, Action`1 updater, BookmarkApplyContext applyContext)
at Spotfire.Dxp.Application.AnalyticItems.VisualAnalyticItem.Apply(Visual visual, BookmarkApplyContext context)
at Spotfire.Dxp.Application.AnalyticItems.PageConfigurationAnalyticItem.Apply(Document document, BookmarkApplyContext context)
at Spotfire.Dxp.Application.AnalyticItems.Bookmark.Apply(Document document, BookmarkApplyContext context)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor)
at Spotfire.Dxp.Application.AnalyticItems.BookmarkManager.Apply(Bookmark bookmark, BookmarkApplyContext context)