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
    • Glossary of Key Concepts
  • Contact Us
Powered by GitBook
On this page
  • Forms
  • Components
  • Submissions
  • Resources
  • Projects
  • Authentication
  • Actions
  • Form Renderer
  • Developer Portal
  • Form View Pro
  • Platform Architecture
  • Licenses

Was this helpful?

  1. FAQ

Glossary of Key Concepts

Forms

A form is broadly any structured request for input. Data may be entered in a variety fields of different formats, including text fields, checkboxes, drop-down select boxes, etc.

Forms may be presented as interactive webforms or fillable PDFs.

In the Form.io Platform, a form is defined by a JSON object that describes each field on the form as well as how the fields are presented.

Forms are built with a drag-and-drop form builder that provides are array of different components that are rendered into individual fields on the form.

Learn more about Forms.

Components

Components are the building blocks of Form.io forms. Components describe the type of field as well as how it is displayed and how it behaves. The component settings let form builders set validation rules, conditional logic, and much more.

Layout Components

Layout components help structure forms. They let form builders control how fields are grouped and arranged.

Data Components

Data components create data structures that control how data collected by the form is stored.

Learn more about Form Components.

Submissions

A submission is a record of the data entered into a form by a form user. Submissions, just like forms, are stored as JSON objects. A submission will describe the data entered into each field. Submissions may also include metadata about the form and the user submitting the form.

Submissions are stored in the Form.io Platform database. They can be viewed through the Developer Portal UI, programmatically accessed through a REST API, or downloaded as a PDF.

Because the submission is a JSON object, it's easy to integrate that data into other aspects of the application, or parse it with a variety of third-party tools.

Learn more about Submissions.

Resources

A resource is a data object in the Form.io Platform that works as a reusable data model. Like a form, it consists of a collection of fields and is stored as a JSON object. Resources are the primary way that data is reused throughout the Form.io Platform. Resources may be used to populate the selectable options in different form components.

Resources are built using the same drag-and-drop arrangement of components as forms, but are used for data storage rather than input.

Resources can consume data directly through submissions against that resource. Submissions to forms can also be routed to resources.

Learn more about Resources.

Projects

A project is the workspace used to organize collections of forms, resources, and submissions, as well as other parts of the Form.io Platform. Projects are the top-level container in the Form.io Platform.

Because projects compartmentalize the elements they manage, a single project typically corresponds to a single application.

Learn more about Projects.

Portal Base Project

The Portal Base Project is automatically populated in self-hosted deployments. It contains forms and resources used to manage the Developer Portal. It assists with Team management, authentication, and other essential platform management functions. The Portal Base Project is not counted as a project for the purposes of licensing.

Do not use the Portal Base Project to create user-facing forms or resources.

Learn more about Portal Base Project.

Stages

Stages are used to sandbox the project as it progresses through different parts of the development lifecycle. By default, every project has a Live stage that represents a production environment. The platform license determines how many stages can be created. Stages allow form builders to develop their forms in a QA or Test stage, for example, to prevent potential breaking changes from affecting the application.

Learn more about Stages.

Permissions

Permissions control how a user can interact with Projects, Forms, and Resources. Permissions follow the standard Create, Read, Update, Delete operations. At each scope, permissions can be set to apply to all projects, forms, or resources, or only the projects, forms, or resources that list that user as the owner.

Learn more about Roles and Permissions.

Roles

Roles are logical groupings of permissions. Roles are used to distribute sets of permissions based on the type of user. Roles are scoped to the project level and are not transferrable across projects.

By default, every project starts with the Anonymous, Everyone, Authenticated, and Administrator roles, but more can be configured within a project. Any user that is assigned a role receives all of the permissions associated with that role for the entire time that role is assigned.

Learn more about Roles and Permissions.

Authentication

Authentication allows form builders to ensure that only authorized users can interact with a form or submission data. The Form.io platform supports multiple authentication methods (OAuth, SAML, LDAP, Form.io Resource) to credential a form user with a JSON Web Token which is used to control access to Form.io project assets.

Learn more about Authentication and Authorization

Actions

Actions are automated tasks that are triggered when a form touches the submission database. Actions enable dynamic workflows and integration with third-party services. Actions may be used to assign roles, send email notifications, or hit external webhooks.

Learn more about Actions.

Form Renderer

The Form Renderer is the client-side engine, embedded into an application, that transforms the form definition into an interactive form. The form renderer also processes input and handles all validation and logic in the form.

The Form Renderer is how form users will interact with the form in the application.

Learn more about Form Renderer.

Developer Portal

The Form.io Developer Portal is the web-based UI. It provides tools to manager projects, forms, resources, and other elements of the Form.io Platform. This is where most form builders will develop forms that will be embedded into the application.

Learn more about Form.io Developer Portal

Form View Pro

Since forms in the platform are presented by an application through the form renderer, the Form View Pro application provides a basic application to launch a form. It is accessible through the Launch Form button in the Developer Portal. It has limited functionality and is not typically used in production.

Learn more about Form View Pro

Platform Architecture

The Form.io Platform is containerized, with different aspects of the platform spread across multiple containers. These containers can be hosted on-prem, on a cloud provider, or locally on a single machine. The containers and their function are described below:

Enterprise

The Enterprise container enables the Form.io API for access to form and submission data, and hosts the Developer Portal. It also hosts the Form Manager and FormView products.

PDF (optional)

The PDF container enables submissions to be reviewed as PDFs that match the structure of the webform. With a PDF Plus license, container enables PDF-first forms, a dynamic webform overlayed on a PDF.

Mongo (optional)

The Mongo container is needed for document (JSON object) storage when the deployment is not using an external service (MongoDB Atlas, AWS DocumentDB, Azure CosmosDB, etc.). It uses MongoDB Community Edition to store forms, submission, and RBAC data.

MinIO (optional)

The MinIO container is used for blob storage when the deployment is not using an external service such as AWS S3. It can be used for unstructure data such as form user file uploads.

NGINX (optional)

The NGINX container can serve a a load balancer and reverse proxy for deployments that need one.

Licenses

All Form.io Platform features beyond what is available in the open source offering require a license.

There are a variety of license types available that unlock different features to suit a multitude of use cases. The most essential, the Platform License, unlocks for core enterprise functionality of the Form.io Platform. Licenses for separate features and functionality are referred to as library licenses.

Learn more about Licenses.

PreviousLicense Utilization Checks

Last updated 23 hours ago

Was this helpful?