Links

Submissions

Introduction

A Submission is a JSON object whose values were submitted to a form or resource. These can be thought of as “objects” within the system and operate very much like them. A typical submission JSON object looks like the following.
{
"_id": "123456789012345678901234",
"data": {
"firstName": "Sally",
"lastName": "Thompson"
},
"metadata": {},
"state": "submitted",
"form": "123456789012345678901234",
"project": "123456789012345678901234",
"created": "2021-05-24T13:51:43.414Z",
"modified": "2021-05-24T13:51:43.415Z",
"owner": "123456789012345678901234",
"roles": [],
"access": []
}
These properties are described as follows.
Property
Description
_id
The MongoDB ID of the submission
data
The values of the form that were submitted.
metadata
Additional metadata that is added to the submission, such as timezone information.
state
The state of the submission. "draft" for draft submission, and "submitted" would mean it has been submitted.
form
The Form ID for this submission.
project
The Project ID where this submission resides.
created
The date this submission was created.
modified
The date this submission was modified.
owner
The ID of the "user" who created this submission.
roles
If this submission is used as a "user" submission, these are the roles that are added to that user.
access
Access configurations for this submission. This is used when field based resource access is used to establish permissions to the submission.
You can access submissions of a form through the API interface of the submission.
There are also a number of interfaces that can be used to visualize and export the submission data of a form. These are as follows.

Viewing Submissions

The submissions of a form can be seen by clicking on the Data tab on a form within the Developer Portal.
Think of the submissions view as administrative access to the database. This should not be used for typical interaction with the application and is not designed for end user use.
The Submissions page gives you an administrative overview of submissions to your forms.
You can see a table view of the fields that had “Table view” selected on them. To add or remove fields from this display, edit the field on the Form Edit page and uncheck “Table View”
From the Submissions overview page you can also view, edit and delete individual submissions to your forms. Use the icons on the right to perform these actions.

Exporting Submissions

Use the two buttons at the top of the submissions list to export all of your data for a form. These operations are streamed from the database which means they should start very quickly and will work on very large datasets without having to write everything out to the server before starting the download.

Export JSON

JSON is Javascript Object Notation and is a way of representing data in a common way for javascript applications. Many other programming languages are able to read in JSON as well. Since data in Form.io is stored in JSON format, this will be the truest form of the data.

Export CSV

CSV is Comma Separated Values and data is squashed down to rows of values with commas between them. This may not work well for complex data structures as it is essentially a flat file. CSV files can be opened by spreadsheet applications like Excel.

Submission Revisions

Submission Revisions provide visibility to who has updated a submission, when a change was made, and any notes associated with the update. Additionally, Submission Revisions can be used to revert to previous versions while safeguarding all submission data.
This feature is included in the Security and Compliance package. Follow the link or contact [email protected] for more details.

Enable Submission Revisions

To get started, create or edit a Form or Resource.
In the Revisions section, in the Submission Revisions block, expand the select dropdown menu and select Enable option.
After adding these settings on the tab, each time you make a change to the submission, a new version of it will be created.

View and Updating Submission Revisions

After configuring Submission Revisions, the settings, the Edit submission tab has the following form:
Use the Revision Note field to add a comment to a submission revision.
A Submission Revision will not be created unless a change is made to the submission
Click the Revision tab to review all revisions for the submission.
Revision list for the submission
Click the View button to review a specific revision.
Click the Restore button to revert the submission back to that specific version.

Submission Revision Log

Generate a PDF output report of all Submission Revision changes made to the submission. To activate the Submission Revision Log, access your Form Settings.
Scroll down to the PDF Settings block and check Show Change Log option.
After this configuration is set, downloading a PDF of the submission pdf file will contain information such as the Revision ID, the User who updated the submission, data and time of the update, submission revision note related to the change, and a list of all revision changes made.
Submission Revision PDF output log

Submission Collection

Enables the storage of submission data within a separate database collection. These collections can be configured on a per form basis.
This feature is included in the Security and Compliance package. Follow the link or contact [email protected] for more details
For read-heavy applications, a database index can be set on fields that are used often for application performance improvements.
Compliance requirements - Ensure data separation between collections.
Enable Submission Collection
To configure this feature, navigate to the Form or Resource you want to configure the Collection for and click the form settings button.
If you have an active Security and Compliance package, you will see the Submission Collection field enabled within your settings. Set the collection folder from your database and save your settings.
Submission Collection field in Form Settings
Once active, all data submitted with this Form or Resource will save in the specified database collection.