LogoLogo
Getting StartedDevelopersDeployment GuideGet Help
  • Quick Links
  • Welcome to Form.io
    • Getting Started With Form.io
    • Launch a Form
    • Overview of Form.io
  • Developer Tool Ecosystem
    • PDF Solution
    • Enterprise Form Builder
    • Form View Pro
    • The Security Module
    • Accessibility Compliance Module
    • Developer License
    • SQL Connector - Deprecated
    • Integration Libraries
    • Form.io CLI Tool
  • User Guide
    • Introduction
    • Form.io Developer Portal
    • Teams
    • Projects
      • Project UI
      • Project Settings
      • Stages
      • Multi-Tenancy
    • Resources
      • ResourceJS
    • Forms
      • Form Creation
      • Form Types
      • PDF Forms
      • Embedding a Form
      • Form Revisions
      • Form Settings
    • Form Building
      • Form Builder UI
      • Form Components
        • Component Settings
        • Basic Components
          • Resource as Select Component Data Source
        • Advanced Components
        • Layout Components
        • Data Components
        • Premium Components
          • Nested Forms
        • Custom Components
      • Logic & Conditions
      • Existing Resource Fields
      • Actions
    • Submissions
      • Accessing Submissions
      • Importing Submissions
    • Form.io eSignature - Coming Soon
    • Form.io Reporting Module
    • PDF Template Designer
    • Form View Pro
    • Form Manager
    • Enterprise Form Builder Module
      • Installation
      • User Guide
  • Developer Guide
    • Introduction
      • Application Development
      • API Documentation
    • Form Development
      • Form Renderer
      • Form Builder
      • Form Embedding
      • Form Evaluations
      • Form Templates
      • Custom Components
      • Translations
    • JavaScript Development
      • JavaScript SDK
      • JavaScript Frameworks
      • JavaScript Utilities
    • Authentication and Authorization
      • SAML
      • OAuth
      • LDAP
      • Resource Based Authentication
      • Email Authentication
      • Two-Factor Authentication
    • Roles and Permissions
      • Field Match-Based Access
      • Field-Based Resource Access
      • Group Permissions
    • Integrations
      • Email Integrations
      • File Storage
      • Google Developer Console
      • eSign Integrations
      • Relational Databases
    • Modules
    • Fetch Plugin API
    • CSS Frameworks
    • Offline Mode
    • Audit Logging
  • Deployments
    • Self-Hosted Deployment
      • Local Deployment
        • Local File Storage
      • Kubernetes
      • Cloud Deployment
        • AWS Deployment
          • AWS Lambda
          • Form.io/AWS Elastic Beanstalk End-To-End Encrypted Deployment
        • Azure Deployment
          • Azure App Service
            • Azure MSSQL Connector - Deprecated
          • Azure Virtual Machine
          • Azure Kubernetes Service
          • Set up the DB
        • GCP Deployment
          • GCP Cloud Run
      • On-Premise Deployment
      • Enterprise Server
      • PDF Server
    • Deployment Configurations
      • DNS Configuration
      • Load Balancer Configuration
    • Licenses
      • License Management
      • Library Licenses
    • Portal Base Project
      • Portal SSO
      • Portal Translations
    • Maintenance and Migration
      • Changes to Premium Libraries
  • FAQ
    • FAQ
    • Tutorials & Workflows
      • Password Reset
      • Dynamic Select Filtering
      • Approval Workflow
      • SSO Email Token
      • Embedding A Video
      • Data Source Validation
      • Select Data Source Options
      • Nested Form Workflows
        • Nested Wizard Forms
      • Save as Draft
      • Role-Based Conditions
      • Custom Component
      • Dynamic Radio and Select Box Values
      • Override CKEDITOR
    • Errors
    • Examples
    • License Utilization Checks
  • Contact Us
Powered by GitBook
On this page
  • What is changing
  • Does this change apply to me?
  • When to upgrade
  • License Requirements
  • Examples:

Was this helpful?

  1. Deployments
  2. Maintenance and Migration

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:

  1. @formio/premium - The premium components library.

  2. @formio/offline-plugin - Enables offline forms and submission support

  3. @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:

import { Formio } from ‘@formio/angular’;

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

Formio.use(Premium);

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)

Does this change apply to me?

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

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.

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 

Please contact support@form.io with any questions regarding this upgrade.

PreviousMaintenance and MigrationNextFAQ

Last updated 3 months ago

Was this helpful?

Any versions that are less than these provided versions must use the legacy system.

The applications affected by this change are applications built and bundled by customers where the premium components were installed via.

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 @

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 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.

pkg.form.io
pkg.form.io
https://github.com/formio/formio.js/blob/master/Changelog.md#new-features
https://app.mysite.com