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.