Projects
Last updated
Last updated
A project is called a project in part to differentiate it from your own application(s) to which it corresponds. A project can be understood as an unlimited collection of related forms and resources that developers build and integrate/embed into one or more related application(s). There can be an unlimited number of forms and resources in a single project. There can be an unlimited number of developers working as a team on a single project. There can be an unlimited number of API submission calls on a single project.
Projects are the main working areas within the Form.io platform. Each Project is typically associated with a single form-based application and includes many critical components such as Forms, Resources, Roles, etc. All of these components exist within a single "domain" API endpoint, where they are all encapsulated within the project context. Projects provide a contextual sandbox around the following components:
Projects provide a contextual sandbox around the following components:
Project Context
Forms & Resources - Ad-hoc data collecting interfaces
Submissions - Data submitted into each form
Actions - Actions performed once the form is submitted; such as Email, Webhooks, etc.
Logs - Keeps an active report of actions performed.
Access - Assign Role-based permissions to certain actions within each form
Revisions - If enabled, create new revisions for every form update.
Settings - Settings per-form
Roles - Assigned to users to establish access control. Can be user-defined.
Stages - Child project contexts used to manage multiple environments and authoring workflows.
Integrations - Configure integrations with third-party providers, such as Email providers on a per-project basis
Authentication - Configure SSO, OAuth, SAML, and LDAP authentication systems.
Stage Versions and Deployments - Used to create and manage the versions of a specific stage and to deploy created versions to other stages.
On-Premise Environment - Allows you to connect a stage to a remote API server.
Project & Stage Settings - Includes CORS, API Keys, Public Configurations, etc.
New Projects can be created from the Portal home page. To get there from any part of the portal, click on the Form.io logo within the header.
To create a Project, click the green +Create Project button. You can either create a custom project or use an application template.
Clicking on any of these icons will open up the Project creation modal which provides you the ability to provide the following.
Project Title: The Project Title is the name that will be used to identify and access a specific Project throughout the entire life of the Project. Keeping this in mind, a sensible Project naming convention should be utilized to clearly identify the Project as being associated with the corresponding customer Application in which it will be used.
Description: The Project Description can be up to 512 characters and may be comprised of any letters, numbers, spaces, or other special characters. This description is simply used for reference within the Project, and is not utilized elsewhere.
Advanced Options (Template): Project Templates are predefined templates that specify what Resources, Forms, and Actions to automatically create for you. You may select from one of our existing project templates, or upload your own. Templates can be created by exporting an existing project. For more information on templates, see the Project Templates section.
After providing a Project title within the modal, click the Create Project button.
The API Explorer is a way to visualize the APIs created when you build either Resources or Forms within your project. One of the more amazing things about the Form.io platform, is that when you create a new form for your application, a REST API is automatically generated to serve as the backend for not only that form but also any other system that would like to create submissions. This API is visualized through the Swagger API documentation platform, and looks as follows.
The Data section is a place where you can easily access the Submission data that has been submitted to each Form and Resource. It is also possible to access the data on a per-form or per-resource basis by clicking on the specific form interface, but this tab provides more direct access to that data. It first allows you to quickly find your form or resource and click on the Data button for that form or resource.
API Keys: Keys that provide admin access to your project APIs using the x-token
header within each REST API request.
CORS Settings: This provides a way to limit API access to your project via an application domain. For more information on how CORS works, we recommend reading the article at https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
PDF Server URL: Provides the PDF server URL that will be used when uploading and connecting forms to the PDF server.
PDF File Manager: The PDF File Management section keeps track of all uploaded PDF's within this project. These files are separate PDF files uploaded to remote storage providers (such as S3), and can be attached to any form within your project. This section is used to manage these files as well as delete them to free of storage space.
To export your project you need to navigate to the Staging link in the side menu and choose Export Template.
You can upgrade your project by either clicking the 'Project Plan' button located in the side navigation bar or by clicking the Project Plan Tag next to the Project title.