Upgrade from 7.7 to 7.8
Required Changes
F DT
This release of Fonto Editor requires the latest version of the Fonto Development Tools (FDT). Please run npm i -g @fontoxml/fontoxml-development-tools
to install it.
Recommendations
Contextual Menu for Tables
This release introduces a standard contextual menu for tables. It contains a set of predefined operations for all supported table types. You can add your own (custom) operations to this menu. These will be shown as a submenu under the "More" menu item. The "More" menu item will not be rendered when no contextual operations have been configured for the table's elements.
You can remove any contextual operation configuration for operations that already appear in the default context menu to prevent duplicate entries showing up in the "More" submenu. Alternatively, you can add hide
to keep showing these operations in other places such as the breadcrumbs menu.
Default Toolbar for Tables
This release introduces a standard toolbar for tables. To include the default toolbar, include the Table
from fontoxml-table-flow
in your Masthead.jsx
file as shown in the example below. Remember to delete the table toolbar that is currently configured in your editor.
JavaScript
import TableToolbar from 'fontoxml-table-flow/src/TableToolbar.jsx';
Expanded table view
This release introduces a better way of showing large, especially wide, tables. Tables can now break out of the sheetframe of its containing document. You can disable this feature setting the allowExpansionInContentView CVK option to false. This property can be set on a table or on any of its ancestors.
JavaScript
configureProperties(sxModule, 'self::table', {
allowExpansionInContentView: false
});
Table performance
This release of Fonto Editor improves table performance, for this we have also made some changes in fontoxml-table-flow-xhtml. We advise you to update any forks you have of this.
Spell Checker
It is now possible, and highly recommended, to host your own instance of the backend for the optional spell checker add-on for Fonto Editor. Previously, integrating the add-on automatically meant sending (parts of) documents over the public internet to a Fonto-managed backend. While this is still the default, as of this release, the spell checker backend can be obtained with the latest version of the Fonto Development Tools, using the fdt spell-checker
commands. Set the new use
property of the Spellfalse
to have Fonto Editor send requests relating to the spell checker through the /proxy/spell-checker
endpoint. These requests can then be forwarded to a self-hosted spell checker backend instance.
Custom connectors
We have made a change in the connectors used in Fonto Editor to support the iFrame connectors across all products. Document History, Content Quality and Review did not support iFrame connectors up to now.
-
With this change we deprecated the use of the Connector class. Don't extend from that anymore.
-
That also means you cannot use the this._cmsClient anymore.
-
Importing the standardCmsClient and iframeCmsClient is not supported anymore.
-
Use the newly introduced connectorsManager to acquire the current registered cmsClient.
If you had a connector like so
JavaScript
import Connector from 'fontoxml-connector/src/Connector.js';
import RequestData from 'fontoxml-connector/src/RequestData.js';
import standardCmsClient from 'fontoxml-connectors-standard/src/standardCmsClient.js';
function MyCustomConnector(cmsClient) {
Connector.call(this, cmsClient || standardCmsClient);
}
MyCustomConnector.prototype = Object.create(Connector.prototype);
MyCustomConnector.prototype.constructor = MyCustomConnector;
MyCustomConnector.prototype.myMethod= function() {
return this._cmsClient.isAutoSaveAllowed;
};
Change it to this
JavaScript
import connectorsManager from 'fontoxml-configuration/src/connectorsManager.js';
import RequestData from 'fontoxml-connector/src/RequestData.js';
function MyCustomConnector() {}
MyCustomConnector.prototype.myMethod= function() {
return connectorsManager.getCmsClient().isAutoSaveAllowed;
};
It is not necessary to extend the default connectors to support custom CMS endpoints. Use a custom connector instead.
Grey block frames
In previous releases, block frames with their background color set to grey
were actually rendered as white
. This is fixed: grey block frames are now grey. If you configured these frames as grey, expecting them to be white, they will need to be changed to white. They no longer have to be set to blue-grey to make them grey. Default values are unchanged.