Development tools for Fonto.


Keywords
fdt, fonto, fontoxml
License
MIT
Install
npm install @fontoxml/fontoxml-development-tools@3.10.0-beta.1

Documentation

fontoxml-development-tools Build Status NPM version Greenkeeper badge

The development tools for FontoXML are command-line tools which offer support for developers when configuring FontoXML Editor instances and their complementary apps, and facilitate running them locally for testing purposes. They act as a gateway to the FontoXML SDK and can be used for creating and updating editor instances, and preparing XML schemas for use with FontoXML.

Installation

The development tools require NPM on Node.js® version 8.11 or higher which are freely available. After installing Node.js you can install the FontoXML development tools using the following command:

npm i -g @fontoxml/fontoxml-development-tools

tip: You can use Node Version Manager on Linux/MacOS or its Windows counterpart to install and use multiple version of Node.js on a single system. This is useful if you develop different projects with different versions of Node.js.

Usage

Get help for the available commands:

fontoxml-development-tools --help

Get help for a specific command, detailing all its arguments:

fontoxml-development-tools <command> --help

Use the fdt shorthand instead of fontoxml-development-tools:

fdt <command> --help

Development license

Certain commands, like editor, connectors and content-quality, require a valid developer license file on your system and the permissions to run them. A license file fonto.lic can be stored in either of these locations:

  • In your user home directory ($HOME on linux/MacOS, or %homepath% on Windows).
  • In an ancestor folder of where you are running the fdt command.

Verify that your license file is installed correctly by running the fdt license validate command.

To obtain a license file, or to obtain additional permissions, please contact us at https://fontoxml.com/contact-us/ or reach out to your FontoXML contact if you have one available. License files are personal and we disadvice to store them in any version control system you might have.

Usage examples

Validate and update the currently installed license file:

fdt license validate

Output a table with information about all attributes in a schema:

fdt attributes [--schema <schemaPath>] [--columns name ns use defaultvalue ...]

Output schema information about a specific attribute, including all its definitions:

fdt attribute <attributeName> [--schema <schemaPath>]

Output a table with information about all elements in a schema:

fdt elements [--schema <schemaPath>] [--columns name ns local desc atts ...]

Output schema information about a specific element, including detailed content model info:

fdt element <elementName> [--schema <schemaPath>]

Output a table with information about all operations in a repository:

fdt operations [--columns name file label desc key ...]

Output information about a specific operation:

fdt operation <operationName>

Output a table with information about all schemas:

fdt schemas [--columns package locations path]

Output a table with information about all simple types in a schema:

fdt simpletypes [--columns name variety format]

Extract messages from packages and save them in a message bundle template:

fdt localization extract [<output>] [--paths <package1> [<package2> ...]]

Merge multiple message bundles into a single bundle:

fdt localization merge [<output>] --bundles <bundle1> <bundle2> [<bundle3> ...]

Update message bundle with a new template bundle:

fdt localization update <output> <bundle> [--output-to-stdout]

Output a table with information about all messages in a message (template) bundle:

fdt localization messages <bundle> [--search-in <search text>] [--search-out <search text>] [--search-package <search text>] [--search-file <search text>] [--with-conflicts] [--without-conflicts] [--with-out] [--without-out] [--no-table]

Create a new instance of a FontoXML Editor:

fdt editor init [--name <name>] [--schema <path>] [--favicon <path>] [--addons <addon> [<addon>]] [--non-interactive] [--version <version>]

Upgrade an instance of a FontoXML Editor, and/or add or remove addons:

fdt editor upgrade [--addons <addon> [<addon>]] [--add-addons <addon> [<addon>]] [--remove-addons <addon> [<addon>]] [--remove-backup] [--non-interactive] [--version <version>]

Start a development server for running a FontoXML Editor:

fdt editor run ...

Create a build version of a FontoXML Editor for production usage:

fdt editor build [--no-mangle]

Compile a XSD schema to a schema format which can be used by a FontoXML editor:

fdt editor schema compile [<schemaSourcePath>] [--overwrite] [--version <version>]

Initialize a connectors instance in an empty or non-existent directory:

fdt connectors init [--location <path>] --version <version>

Run a connectors instance with a self-signed certificate to test your configuration:

fdt connectors run [--location <path>] [--config-location <path>]

Build a connectors docker image for production use:

fdt connectors build [--location <path>] [--image-name <image-name>] [--image-tag <image-tag>]

Upgrade an existing FontoXML Connectors instance to the specified version:

fdt connectors upgrade [--location <path>] --version <version>

Download a self-contained build:

fdt connectors download-self-contained --version <version> --runtime <runtime> [--location <path>]

Initialize a Content Quality App instance in an empty or non-existent directory:

fdt content-quality init [--location <path>] --version <version>

Run a Content Quality App instance to test your configuration:

fdt content-quality run [--location <path>] [--config-location <path>]

Build a FontoXML Content Quality App docker image for production use:

fdt content-quality build [--location <path>] [--image-name <image-name>] [--image-tag <tag>]

Upgrade an existing FontoXML Content Quality App instance to the specified version:

fdt content-quality upgrade [--location <path>] --version <version>

Download a self-contained build:

fdt content-quality download-self-contained --version <version> --runtime <runtime> [--location <path>]