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.

end-userThink 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 Submission Data

Use the two Export buttons at the top of the submissions list to export all of the submission data for the given form. These operations are streamlined directly from the database 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.

Importing Submission Data

Whether you're migrating data between projects or importing data from an external database, the Import CSV button allows you to select a CSV file containing data from your local machine and import that data into the given Form or Resource.

Configuring CSV Files

In order to import data, a properly configured CSV File is required in order for the import to succeed. The CSV column headers need to map directly to the fields on the form you wish to import data to. Ensure that your column headers match the Property Name of your fields before importing the file.

Use the CSV rows to add different submission entries within the file.

Importing File

When your CSV file is ready, click the Import CSV button within the data tab and select the file.

Selecting the Replace all submissions setting will replace all existing submission entries with the row data inside the CSV file

Once the import is complete, the Submission View table will reflect the CSV file entries.

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. The Submission Revision feature was introduced in API Server Version 7.4.0.

This feature is included in the Security and Compliance package. Follow the link or contact sales@form.io 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.

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 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 sales@form.io 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.

Once active, all data submitted with this Form or Resource will save in the specified database collection.

Last updated