Library Licenses

Library Licenses are the licenses required to use expanded Form.io Platform functionality in an application.

Library licenses are distinct from Deployment or Developer licenses and issued separately.

Applications already using legacy versions of premium libraries with the formio/js 4.x renderer do not use this Library License system.

Modules requiring a library license

The following libraries offer features that require a separate license:

In-development features that will be available through additional libraries include:

For detailed documentation on each module, refer to the appropriate section of the Form.io Help.

Using a Library License

Including these libraries in an application requires a valid license for that library to be in place and for the library to be imported.

Using a library license to enable the features within a library will look similar to the following sample:

import { Formio } from '@formio/js';
import premium from ‘@formio/premium’;
Formio.license = ‘--- YOUR LICENSE –--’;

Formio.use(Premium);

License Requirements

In order to be properly licensed, anyone using premium libraries must provide certain domains to be included in the license. Wildcard domains are allowed. Multiple domains can be included in a singular license. The required domains include:

  • Enterprise Server Hostname(s) The domain(s) where the formio/enterprise-server Docker containers are hosted within the customer environment. If these containers reside behind a Load Balancer, use the domains that resolve to the Load Balancers. These are the same hostnames that are used in applications to point the APIs to the correct endpoints. These might be indicated within the application as follows: Formio.setBaseUrl(....) Formio.setProjectUrl(...) The values passed to these functions provide the Enterprise Server Hostname(s) to the license. Commonly, these use the alias “appUrl” and “apiUrl” within configuration files for the Form.io libraries. Note: These URLs do not need to be publicly accessible. If the applications that host premium libraries can communicate to these URLs when connected to any internal networks, then these URLs must be provided and included in the license that Form.io will create and provide.

  • Application Hostname(s) The domain(s) that host the application(s), which uses the Form.io renderer and Premium Libraries. For example, if end users go to the URL https://app.mysite.com to access an application that uses our Form renderer + Premium libraries, the “mysite.com” hostname is required to be provided for including in the license that Form.io will create and provide.

License Examples:

Example 1:

Consider the following deployment:

  • A SaaS product where every tenant uses a unique subdomain:

    • https://tenantA.mysite.com

    • https://tenantB.mysite.com

  • These applications communicate to an endpoint at a different domain:

    • https://api.mysiteapi.com

The required license would contain:

endpoints:   *.mysiteapi.com
hostnames:   *.mysite.com

Example 2:

A different deployment arrangement in which many domains are used for both the application and the API endpoints:

  • Applications domains:

    • www.ExampleOne.com

    • www.ExampleTwo.com

    • www.ExampleThree.com

  • Endpoints:

    • www.EastAPI.com

    • www.WestAPI.com

The required license would contain:

hostnames:   exampleone.com, exampletwo.com, examplethree.com
endpoints:   eastapi.com, westapi.com 

Legacy Process

Users with legacy versions of premium modules (which are required for users of formio/js 4.x) should follow the legacy process of installing modules from the PKG Repository.

Refer to PKG.Form.io for the complete process.

For information on what has changed between the legacy process and the current procedure, refer to the Changes to Premium Libraries section of the Maintenance and Migration guide.

Importing Premium Libraries

Premium libraries are delivered through public NPM registries and are accessed through a standard package manager.

The documentation for a specific library will have detailed instructions, but the general process is very simple and will be similar to the following options.

  • NPM: npm install --save @formio/premium

  • Yarn: yarn add @formio/premium

Last updated

Was this helpful?