Changes to Premium Libraries
Changes to the distribution and use of Premium Libraries
In an effort to improve the developer experience in Form.io, importing the Premium Libraries into applications now uses public NPM distribution of these libraries. New versions of premium libraries now use a Library License in order to operate within applications.
The Premium Component License will NOT affect the price amount of the current license agreement with Form.io.
Upon upgrading any applications to use the latest released premium libraries, a unique Premium Library license must be in place at the time of upgrade. Existing applications with older versions of the premium libraries will NOT be affected. This change only applies upon upgrade to the new version of Premium Libraries.
Because of this change, there are a few things that must be done prior to the upgrade of any applications to use the newest versions of the Form.io premium libraries.
Please contact support@form.io with any questions regarding this upgrade.
What is changing
The premium libraries that are affected are as follows:
@formio/premium - The premium components library.
@formio/offline-plugin - Enables offline forms and submission support
@formio/reporting - The new Reporting UI library.
Previously, including these libraries within an application required a user to be included in the https://pkg.form.io distribution server.
Each premium library is bundled to be publicly distributed via NPM, and will no longer require maintaining an account within the PKG registry. While they are distributed publicly, they require a Library License deliver by Form.io in order to use them at runtime within an application. This license is included as follows to use any premium module:
The Premium Library license refers to the unique license provided to access premium libraries and is a separate license from the platform license used elsewhere in the Form.io Platform. Do not use a Platform or Developer license here.
In addition, each of these libraries can now be imported using the standard and common NPM method as shown below.
NPM:
npm install --save @formio/premium
Yarn:
yarn add @formio/premium
The following versions will include the new Library License system:
@formio/premium - versions greater than or equal to 3.x.x (example 3.2.2)
@formio/offline-plugin - versions greater than or equal to 5.x.x (example 5.1.2)
@formio/reporting - versions greater than or equal to 2.x.x (example 2.1.0)
Any versions that are less than these provided versions must use the legacy pkg.form.io system.
Does this change apply to me?
The applications affected by this change are applications built and bundled by customers where the premium components were installed via pkg.form.io.
To determine if action is needed:
Inspect the “package.json” file included in an application for the presence of “@formio/premium”, “@formio/offline-plugin”, or “@formio/reporting”
Inspect the application codebase for "
Formio.use
"
If neither of these apply, no action is required.
For customers who use Quick Inline Embed or iFrame Embed systems to include forms within applications, no action is required.
The FormView Pro example application (used through the “Launch” feature within the Form.io Developer Portal) contains these libraries already. Any forms that are “Launched” and use the packaged FormView Pro application do not require any action.
When to upgrade
Along with the release of the new NPM deployment system, all of these libraries use the latest version of the Formio.js renderer library. The changes to this renderer version are documented @ https://github.com/formio/formio.js/blob/master/Changelog.md#new-features
Upgrading to the 5.x version of the renderer (Formio/js - formerly formio.js), requires the upgrade to the latest versions of the premium libraries.
Using the 5.x renderer version with “pkg” versioned premium libraries is not supported, nor recommended.
Using the latest “npm” versioned premium libraries with the 4.x (or earlier) formio.js renderer is also not supported nor recommended.
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 follow:
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.
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:
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:
Please contact support@form.io with any questions regarding this upgrade.
Last updated
Was this helpful?