FontoXML 6.7.0 (November 18, 2016)

Resolved issues

  1. When tracking changes is disabled, the undo history will now be cleared to prevent re-adding the markers.

  2. Resolved an issue where very rapidly clicking an element repeatedly in certain locations could cause unexpected selections to be made.

  3. The attributes editor will now scroll vertically again if it requires more space than is available in its sidebar panel.

  4. The save button is no longer enabled when no documents are loaded.

  5. The transform setReferrerDocumentIdToClosestMapAncestor no longer causes an error if the node specified by contextNodeId does not exist.

  6. The transform setContextNodeIdToTopicrefInsertionContainer no longer causes an error if the node specified by contextNodeId does not exist.

  7. The operations to set table borders and cell alignment no longer cause an error if no selection exists.

  8. Accepting all changes in a document (for instance, in order to disable change tracking) now also removes any invalid change tracking processing instructions from the document. Previously, the presence of these would cause change tracking to be re-enabled when the document was reloaded.

  9. A mistake in the previous release caused the fonto:dita-class XPath function to be missing. The function is included as intended in this release.

  10. Creating a new application using the SDK portal now contains a note on how to configure the paste pipeline instead of the outdated and no longer functional createParagraphImportStream call.

  11. When specified, the enabled attribute of a ui-menu-item now always determines whether the menu item is shown as enabled, even if the menu item does not use an operation.

  12. An issue has been resolved where XPath nodetype tests were incorrectly parsed as function calls in certain cases.

  13. The fonto:dita-class XPath function no longer causes an error when presented with a node that is not currently in the document. This could occur when computing operation states if the function was used in element configuration.

  14. The XPath string() function now correctly returns the nodes’ value when applied to text nodes.

  15. In certain situations, switching between normal documents and the DITA map containing them could leave the cursor in an invalid position. This has been resolved.

  16. A rare error has been resolved where the selection was placed in an invalid location when it moved between different sheet frames belonging to the same document.

  17. The cursor is now also scrolled into view if an inline element is inserted directly after the cursor.

  18. Requests made to the reference GET endpoint now include the correct content-type header.

  19. FontoXML now displays an error message if a DITA conref contains a cyclic reference, rather than infinitely expanding the referenced content.

  20. FontoXML now ignores DITA topicref elements inside a map’s reltable. The reltable elements are not currently supported. Previous releases would incorrectly consider such topicrefs to be direct children of the map.

  21. Resolved an issue where FontoXML could mistakenly use locally installed fonts instead of the intended web fonts, causing visual errors in the rendered documents and/or other UI elements.

  22. Files starting with unicode byte-order marks can now be loaded using the development server.

  23. The transform setContextNodeIdToAncestorMatchingStencil no longer causes an error if no selection exists.

  24. The fontoxml-single-document-hierarchy add-on no longer causes an invalid CMS call if the editor is loaded with no documentIds. It will now also check if documentIds contains at most a single value, rather than silently ignoring all values past the first.

  25. Resolved an issue where the toggle-inline-formatting-element operation failed to wrap text nodes when applied to certain combinations of text nodes and inline elements.

  26. Editing elements to which a conref exists in another loaded document could sometimes cause an error. This has been resolved.

  27. An issue has been resolved where the SchemaLocationToSchemaExperienceResolver failed to identify the schema for root elements with a prefix when using the xsi:schemaLocation attribute.

New functionality

  1. Support has been added for the XPath map operator (“!”).

  2. A new function configureMarkupLabel has been added to allow setting only the markup label for nodes matching a specific selector. This allows variations in markup label without having to repeat the full family configuration.

  3. A new function configureContextualOperations has been added to allow setting only the contextual operations for nodes matching a specific selector. This allows variations in contextual operations without having to repeat the full family configuration.

  4. The find functionality will now highlight the first match as seen from the selection, instead of highlighting the first match in document order.

  5. The new option titleQuery has been added to structure view items to allow the use of XPath for selecting the title of an element. The old titleSelectorOrNodeSpec, titleContainerOrNodeSpec and label options are deprecated and will be removed in a future release.

  6. The two new operations convert-selection-to-lowercase and convert-selection-to-uppercase convert any text found in the current selection to lower or upper case respectively.

  7. The new configureAsInlineAnchorToStructureWithBlock and configureAsInlineAnchorToStructureWithLine families allow the use of break tokens or break elements within the element they are applied to.

  8. The FontoXML editor route now supports being initialized with an empty array of documentIds, causing no documents to be loaded initially. Note that the default intialization will only show the editor route if documentIds is not empty. To also show the editor when no documents are specified, import fontoxml-routing/routingManager and call routingManager.addRootRoutingRule('editor')from an install.js to add the editor route as fallback route.

  9. The new fontoxml-connectors-iframe add-on enables connecting FontoXML to your CMS if implementing the FontoXML REST endpoints is not an option. Instead of making HTTP requests, this set of connectors communicates by sending equivalent postMessage messages to the window hosting the FontoXML iframe. This way, the actual communication with the CMS’ specific APIs can be implemented in JavaScript.

  10. Two new functions configureEmptyElementPlaceholderText and configureTabNavigation have been added to allow setting the default text placeholder and tab navigation.

  11. An experiment has been added which prevents placing the cursor in any position where text input is not possible. Set the configuration value enable-experiment/ignore-positions-where-text-input-is-not-allowed to true to enable this behavior.

  12. A change has been made in operations which causes the first action in an operation to run in the context of the event handler that triggered the operation. This enables things like opening a window without triggering popup blockers. If you encounter problems due to this change, set the configuration value enable-experiment/first-operation-step-is-sync to false to disable the behavior and please file a bug report.

Other improvements

  1. The getStartOffset, getEndOffset and isSelectionCollapsed methods of selectionManager no longer throw an error if no selection exists. We still recommend using the hasSelection method to check whether a selection exists instead of relying only on the result of these methods.

  2. The enable-experiment/altgr-support configuration value has been removed. The functionality of this experiment is now permanently enabled.

  3. The enable-experiment/protect-editor-focus configuration value has been removed. The functionality of this experiment is now permanently enabled.

  4. Using the split-and-insert operation at the start of an element no longer leaves an empty element before the inserted structure.

  5. The reference pipeline for DITA document references no longer requires the targetSpec to include a nodeId property.

  6. The enable-experiment/use-operation-error-modal configuration value has been removed. The functionality of this experiment is now permanently enabled.

  7. The edit button in reference popovers is no longer shown if editing the reference is not possible.

  8. The wording in the modal that explains how to cut, copy and paste using keyboard shortcuts has been improved.