Fonto 7.11.0 (June 26, 2020)

For the upgrade instructions, head over to Upgrade from 7.10 to 7.11.

New Functionality

  1. Fonto now has a notification center that gives updates on the state of the application. This version includes notifications for document save errors, long running searches that complete and Content Quality errors that occur. We aim to add more systems to this notification center in the future. Currently it is not possible to plug in your own custom notifications, but this is also something we identified as an improvement for a future release.

  2. Fonto now allows you to drag and drop content within Fonto, between different Fonto tabs and even to and from other applications. Simply select some content and drag to move it around.

  3. The Fonto Development Tools now offer more help when setting up new instances of Fonto Editor by enabling common configuration settings, preparing schema configuration, and providing guidance in the form of comments and links to documentation throughout the generated files. The getting started guide has been updated to reflect these changes. Make sure to update to the latest version of FDT using npm install -g @fontoxml/fontoxml-development-tools.

  4. Fonto is now able to work with CALS tables with multiple <tgroup> elements. Note that most operations that affect a <tgroup> element or its descendants will only be enabled when the cursor is inside of the <table> element if it has a single <tgroup> child.

  5. The new doubleclickoperation @ fontoxml-families/src/configureproperties.js CVK option / widget argument can be used to configure an operation to run when an element or widget is double clicked. This is supported in all places where the clickoperation @ fontoxml-families/src/configureproperties.js could already be used.

  6. The new addparentoncopy @ fontoxml-families/src/configureproperties.js and adddescendantsoncopy @ fontoxml-families/src/configureproperties.js CVK options can be used to control what other content ends up on the clipboard when content is copied in Fonto.

  7. The reload icon shown in the left border of a sheetframe when a document is out of sync now remains in view when scrolling through the document. This icon is only added when you do not have sheetframe headers configured. We aim to add this feature for sheetframe header enabled apps as well in a later release.

  8. We now support pasting nested ordered and unordered lists from Word.

  9. We now support pasting text formatted with the Symbol font from Word, and will automatically convert such symbols to their unicode equivalent.

  10. We have changed the sidebar tabs to be more visible and made it more clear that they can be expanded.

  11. The CMS browser can now be configured to pass extra "query" parameters to requests to POST /browse

  12. DITA URLs in <topicref>s can now contain anchors as well. This allows pointing them to topics that are not the root element in the target document..

  13. The bottom of the last sheet frame can now be scrolled to the middle of the viewport to make its content more readable.

  14. As usual, we are also releasing new versions of our other products. Please refer to the corresponding release notes for more details:

Resolved issues

  1. Updating the hierarchy, for instance by adding, removing or moving structure view items will no longer cause all documents with errors to be reloaded. To achieve this, the documentloader @ fontoxml-remote-documents/src/documentloader.js was modified to default to not reloading a document that previously had an error. Please refer to the Upgrade from 7.10 to 7.11 page for details on how to modify your custom loading strategy / hierarchy management code to take advantage of this.

  2. Fixed an issue where the editor could crash in Chrome on Windows when scrolling past certain objects using the page up or page down key.

  3. Pasting content containing IDs for which the unique-id-configurations @ fontoxml-unique-ids/src/setdefaultconfiguration.js strategy has been set to "always-regenerate" will now regenerate those IDs.

  4. Resolved an issue where certain cursor positions were not reachable in read-only documents.

  5. Resolved an issue where selecting and typing over certain elements, including certain placeholders, would not remove them.

  6. Resolved an issue where toggling an inline formatting element with the cursor at its end could also remove different nested inline formatting elements.

  7. Resolved an issue where automatic creation of lists would not work if a space was typed in front of the trigger characters.

  8. Resolved an issue where certain tables with empty spanning cells were visualized in a confusing way.

  9. Resolved an issue where Fonto would always try to add attributes to tables with the default values for those attributes. This should improve performance when working with tables lacking these attributes.

  10. Resolved an issue where the selection would not be scrolled into view when the editor loads if the initially focused document is not one of the topmost documents.

  11. Resolved a rare error that could occur when loading a document containing certain XHTML tables.

  12. Resolved an error when using the execute-update-script @ fontoxml-base-flow/src/operations.json operation while there is no selection.

  13. An issue in the project browser modal has been resolved where elements wouldn't be linkable if the contextNode of a structure view item is not linkable.

  14. An issue in the project browser is fixed where clicking an unloaded document would crash the editor.

  15. Resolved an issue where the project browser would not preselect anything if only a documentId was supplied. This now defaults to the root element of the document specified by the documentId.

  16. Fixed being unable to click at the location of the collapse icon in a structure view (seen in the outline sidebar and the find and replace filter modal) when that item has no child items.

  17. The column sizing popover should now stay opened when dragging the mouse outside of the popover.

  18. A number of edge cases where Popovers are not positioned correctly have been fixed.

  19. Fixed a bug where sometimes the context menu in the editor would show a grey border at the bottom instead of only between the different sections.

  20. The fxdocumentcontextualoperationswidget @ fontoxml-fx/src/fxdocumentcontextualoperationswidget.jsx now passes the hierarchyNodeId property to its operations, similar to how these contextual operations would be invoked in other places. This property is required by certain operations to distinguish between multiple instances of the same document in the hierarchy.

  21. Although selecting text in the XML source sidebar is not supported, trying to do so would sometimes briefly show a selection. Now you don't even see a selection cursor or a temporary flash of selected text when you attempt to select the XML. The source sidebar is meant for debugging only. It does not provide an accurate XML serialization of the content. It may show incorrect prefixes, omit namespace declarations and will add additional whitespace that is not present in the document.

  22. Certain edge cases where Popovers are not positioned correctly have been fixed.

  23. The Find & Replace add-on now correctly scrolls find results in a JIT loaded context into view when the search is cancelled.

  24. The Search filter is now not available anymore when there is only one document loaded. This did not make sense since there was only one item to select.

  25. The spinner in the Quick Navigation modal is now replaceable with the standard spinner replace component.

  26. Resolved a regression introduced in 7.10 that caused the isHighlightedTabQuery option for fxeditormasthead @ fontoxml-fx/src/fxeditormasthead.jsx.js tabs to stop working.

  27. Resolved an error that could occur if the fximageloader @ fontoxml-fx/src/fximageloader.jsx.js component could not load an image.

  28. Resolved an issue where Fonto would sometimes steal focus from the parent frame when hosted in an iframe.

  29. Modifying the given selection range in a custom mutations invoked with an overrideRange will now correctly update that overrideRange for subsequent operation steps.

  30. Some SVG icons used in the table context menu unintentionally showed a tooltip because of an unexpected title element in them. This has now been resolved.

  31. The attribute editor will now correctly parse out the default value from the schema if there is any specified.

  32. Fixed an issue where automatic numbering using addreducer @ fontoxml-indices/src/addreducer.js would sometimes not update correctly if the path to the previous entry remained the same but its value changed.

  33. Fixed an issue where automatic numbering would not update if the query itself invalidated due to another dependency.

  34. Resolved an issue where reducers would not invalidate when returning an attribute node from the accumulator function.

  35. Updating automatic numberings (such as those described in Create a numbering for nodes) now triggers fewer UI updates. For instance, we avoided an unnecessary recomputation in automatic numbering when the path to the numbered node from the context node changed but the numbered node remained unchanged.

  36. Resolved an issue where unloaded documents would not be numbered correctly and where reloading documents would not update the numbering as expected.

  37. We've made several other improvements to the addreducer @ fontoxml-indices/src/addreducer.js API, fixing issues and improving its performance, especially for larger documents.

  38. Clicking on a contextual operations menu item from within an outline item now correctly removes the hover background styling of the outline item.

  39. Resolved an issue where query results or the view could fail to update after attribute changes if the attribute was read using undefined or the empty string as namespace URI.

  40. Resolved an issue where pressing delete in a table sometimes merged an adjacent list into it.

  41. Resolved an issue in Safari where in some cases, when typing in certain empty elements such as table cells, not all characters typed would be inserted into the document.

  42. Resolved an issue where retrying a lock release would cause an operation error.

  43. Schema Compiler: Fixed a degenerate case where there are a lot of values in an enumeration restriction.

Other improvements

  1. The default fonts used by the editor are now loaded and processed as early as possible to fix small visual glitches in the editor.

  2. Form components now stop click propagation in order to support nesting them in other clickable components.

  3. The preview modal for crosslinks now contains a link to the edit operation for the link being previewed.

  4. The expand button for tables was frequently in the way of content. It has therefore been removed from the tables and added to the default table toolbar. The option to expand / unexpand a table is also still present in the default context menu for tables. Clicking outside of an expanded table will now automatically unexpand it.

  5. We've made the descriptions for operations in the table context menu more consistent.

  6. We've made the look of the preview popovers for web and cross links more consistent.

  7. FDS form fields that are disabled now allow selecting and copying text from them where appropriate.

  8. We've updated the examples in our guides to use current best practices for React code, in particular regarding the use of function-style components and hooks.

  9. We made a number of smaller improvements that should improve the overall responsiveness of Fonto.

  10. A bunch of smaller UX improvements are made to the scoped search modal, this should ensure a consistent experience.

  11. We have changed some icons to a solid variant to make them more visible. This is especially noticeable in the sidebar.

  12. We've updated the FontoXPath XPath and XQuery engine to version 3.12.0. Most notably, this release brings some performance improvements and support for the fn:matches function. Please refer to the FontoXPath releases page for more details.

  13. The Fonto Development Tools now suggest available product versions when inputting non-existing ones.

Deprecated APIs

  1. The showWhen CVK option for configureassheetframe @ fontoxml-families/src/configureassheetframe.js and configureasmapsheetframe @ fontoxml-dita/src/configureasmapsheetframe.js is now deprecated. From a UX and design perspective, the background and border of a sheet frame should always be visible, regardless of the current cursor position / focused document. Use of this API will now output a deprecation warning. Remove the showWhen option if you encounter this warning.

  2. The dropbutton @ fds/src/components/drop-button/dropbutton.js component is now deprecated. Please use the newly introduced dropanchor @ fds/src/components/drop/dropanchor.js component instead.