Dynamic form module
Issues |
|||
Git |
|||
Latest |
2.0.0
|
||
License |
DX Core + Analytics Connector Pack |
The Form Module allows you to create and publish forms (or polls) as well as view the answers and analytics for the forms. This module stores the information in an external database.
This module is at the INCUBATOR level. Version 1.1.0 introduced UUID record identifier, making possible cross environment export/import without breaking references. When moving from an older version of form module, or any version of poll module, several manual steps are required to migrate the data
|
Prerequisites
Because this module doesn’t actually create the database, you need to create the database beforehand. Depending on the external database where you want to store the forms, add the chosen database JDBC drivers.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
If you want to use an IDE like Eclipse or IntelliJ, you will need to configure the useragent due to the ebean framework as described in the following link.
|
Installing with Maven
Maven is the easiest way to install the module. Choose among the following modules depending on your need and add them to your bundle:
<dependency>
<groupId>info.magnolia.form</groupId>
<artifactId>magnolia-form-core</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>info.magnolia.form</groupId>
<artifactId>magnolia-form-app</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>info.magnolia.support.compatibility</groupId>
<artifactId>magnolia-livecopy-authoring-compatibility</artifactId> <1>
<version>1.0</version>
</dependency>
1 | This is only needed if using Live Copy. |
<dependency>
<groupId>info.magnolia.form</groupId>
<artifactId>magnolia-form-bootstrap</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>info.magnolia.form</groupId>
<artifactId>magnolia-form-rest</artifactId>
<version>2.0.0</version>
</dependency>
Usage
This functionality has 4 modules and each of them adds different features.
- Form Core
-
-
Allows saving forms in an external SQL Database
-
Dialogs and templates to render forms
-
Templating function
formfn
-
- Form App
-
-
Forms a content app
-
Rules creation for conversational forms (headless only)
-
Dialog Chooser
-
Form Results
-
Analytics and Graphs
-
- Form Bootstrap
-
-
Allows bootstrapping of yaml form files
-
- Form Rest
-
-
API Rest
-
Delivery Endpoint
-
Http client
-
Form Core
To function properly, this module requires configurations in module configuration locations. Configurations can be located in a JCR config node, config.yaml
file, or through decorations. Alternatively, configuration for the module can be set in magnolia.properties file.
We need to pass database connection info to the module.
This is the minimum configuration that needs to be passed to the module so it can connect to a database instance:
datasource:
username: [db_user]
password: [db_assword]
url: [db_url]
driver: [db_driver]
migration:
path: form-core/dbmigration/[db_type]
run: [true/false]
datasource:
username: user
password: password
url: jdbc:mysql://127.0.0.1:3306/forms
driver: com.mysql.cj.jdbc.Driver
migration:
path: form-core/dbmigration/mysql
run: true
Decorated configurations
datasource:
username: user
password: password
url: jdbc:mysql://127.0.0.1:3306/forms
driver: com.mysql.cj.jdbc.Driver
migration:
path: form-core/dbmigration/mysql
run: true
Using magnolia (system) properties
magnolia.properties
magnolia.form.datasource.db.username = user
magnolia.form.datasource.db.password = password
magnolia.form.datasource.db.url = jdbc:mysql://127.0.0.1:3306/forms
magnolia.form.datasource.db.driver = com.mysql.cj.jdbc.Driver
magnolia.form.ebean.migration.path = form-core/dbmigration/mysql
magnolia.form.ebean.migration.run = true
For bootstraping forms entities to work properly (when using info.magnolia.form.module.BootstrapFormTask) configure database connection parameters in magnolia.properties |
If you have an error like:
Add the following code to your url property in the config.yaml file: "?serverTimezone=Europe/Madrid" or your personal time zone. |
All properties that are prefixed with "form" are passed to the ebean server. This way we can easily tune ebean ORM framework.
More info on Ebean ORM is available on this ebean document. |
Database requirements
This module does not create a database. A database MUST EXISTS
and database user has to have also CREATE/DROP/ALTER RIGHTS
on that database.
For the database connection to work, we need an appropriate database driver to be available on the classpath. For example: if we are using MySQL database with Tomcat server we need to place "mysql-connector-java-8.0.18.jar" in Tomcat lib folder.
The table(s) required are created automatically by the init scripts in the magnolia-form-core module. For these scripts to be executed the first time the module is installed (or whenever the database is empty) the migration node in the datasource is used:
-
path
: The path of the init script.-
form-core/dbmigration/mysql
for MySQL schema -
form-core/dbmigration/pg
for PostgreSQL schema
-
-
run
: this property needs to be true to initialize or migrate database. Default value: true
Dynamic content
Version 1.1.0
introduced dynamic content which let you storing extra fields dynamically within the form related entities. This can be done by decorating the following definitions of form-app module:
-
form-edit.yaml
-
question-edit.yaml
-
answer-edit.yaml
-
section-edit.yaml
New fields can be defined, they must be prefixed by "content.", like in below example:
form:
properties:
- name: content.emailValidator (1)
$type: textField
layout:
$type: tabbedLayout
tabs:
validators:
fields:
- name: content.emailValidator (1)
1 | Example of the content. prefix. |
Complex fields like Multi field, Composite field or Switchable field are currently not supported in dynamic content fields. |
Dialogs and templates
The form-core
module provides sample dialogues and templates for rendering forms.
If you want to use a field to select forms, you must add the following to your dialog definition:
form:
properties:
- name: formId
label: Form
$type: linkField
required: true
converterClass: info.magnolia.form.field.converter.FormToStringConverter
placeholder: Choose form
chooser:
workbenchChooser:
appName: forms-chooser
The templates included are the following:
-
form.yaml
-
form-manual.yaml
-
forms.yaml
-
results.yaml
-
results-manual.yaml
Templating function formfn
formfn
: info.magnolia.form.functions.FormFunctions
- Methods
-
-
public List<FormDto> getForms()
-
`public FormDto getForm(long id) `
-
public ResponseDto submitResponse(final long id, final List<ResponseItemDto> formResponseItemDtoList)
-
public Collection<ResponseDto> getResults(long id)
-
Form App
The Form App lets you browse and manage forms from Magnolia’s custom content Application. The app is dependent on Form Core module.
You can access the app through the App launcher.
Create a form
Create a form by clicking the "Add form" command from the action bar.
When creating a form, besides the form title and description there are three additional option fields available:
-
Anonymize results: If "Anonymize results" is checked, all form answers will be saved as answered by an anonymous user.
-
Only authorized: If "Only authorized" is checked, unauthorized users (anonymous) will not be allowed to post form answers.
-
Public results: If "Public results" is checked, results for this form will be available over the rest endpoint.
The Form rules
tab provides a way to store rules between questions. The rules can be used in a headless context, they are returned by the get form rest service and let you then render the poll frontend according to the rules.
Multiple sections
Add Section(s) to form by selecting a form in the grid and clicking the "Add section" command from the action bar.
Multiple questions
Question(s) can be added to a Section or directly to the form (In case there is no need to structure questions in sections). Add question(s) to section/form by selecting a section/form in the grid and clicking the "Add question" command from the action bar.
A Question can be one of four types:
-
Free text
-
Multi select
-
Range
-
Single select
If the Question is of type: Single or Multi select then the user should add multiple "Answer options" to this question. |
Answer options
Add answer option(s) to a Question by selecting a Question in the grid and clicking "Add answer option" command from the action bar.
An Answer can be one of two types:
-
Don’t show free text option
-
Show free text option: "Show free text option" allows you to add an "empty field" to add a free text option in a list of possible answers.
Form rules
Adding rules to your forms helps intelligently guide users to more relevant questions. For example, if you would like prospective insurance customers to go to age-appropriate questions.
To create a rule, you must have questions within an existing form. Otherwise, there’s nowhere for the rule to direct the user as part of the flow. |
To add rule(s) to a form:
-
Go to the Forms app in AdminCentral.
-
Choose an existing form, and click Edit Form in the action bar.
-
Go to the Form rules tab.
-
Click Add new rule.
-
Define the rule conditions.
The example here directs users under 25 years old to an age-appropriate follow-up question.
Form Results
We can view form results by selecting a form in the forms custom content app and clicking on the "View Results" command from the action bar. Form results sub-app will be open where all form results are listed. Form results are grouped by user and date:
Form Analytics
We can view form results in more advanced representation by selecting a form in the forms custom content app and clicking on the "View analytics" command from the action bar.
The Chart type used to represent form results is based on the question type.
-
Single select question is represented with Pie chart by default.
-
Multi select question is represented with Bar chart by default.
-
The For Free text question chart is not generated, only a detailed answer grid is shown in the analytics view.
Form analytics sub-app will be open where all form results are listed, represented with Chart views:
We can view/search answers for each question by clicking on the "Show details" button under the chart/question. |
Graph customization
For each of the question types there is already predefined (configured) default chart. Predefined charts definitions can be found in resources app at "/form-app/charts/forms". Charts can be customized by directly modifying the chart definition yaml files or by using decorations.
Form more information regarding magnolia charts you can check the documentation . |
Also, there is possibility to use a custom chart definition for each of the form questions. This can be achieved by setting the value of the "Custom chart id" field in the question dialog to the custom chart definition:
Let’s see an example:
This is default chart for range question type:
This is default range chart definition (/form-app/charts/forms/range.yaml):
class: info.magnolia.analytics.amcharts.data.AmChartDefinition
label: dashboard.chart.simple-bar
chartType:
class: info.magnolia.analytics.amcharts.data.configuration.AmChartType
type: XYChart
series:
- name: series
type: ColumnSeries
dataFields:
- name: categoryY
value: answer
jsonPath: $.[*].answer
- name: valueX
value: average
jsonPath: $.[*].average
- name: count
value: count
jsonPath: $.[*].count
- name: total
value: total
jsonPath: $.[*].total
tooltipText: '"Total:{total} Count:{count} [bold]Average:{valueX}[/]"'
columns:
strokeWidth: 0
strokeOpacity: 1
xAxes:
- name: xaxe
type: VALUE_AXIS
yAxes:
- name: yaxe
type: CATEGORY_AXIS
renderer:
minGridDistance: 10
grid:
location: 0
dataFields:
category: answer
cursor:
type: XYCursor
Let’s create new chart definition (/form-app/charts/forms/range-custom.yaml) with following content:
class: info.magnolia.analytics.amcharts.data.AmChartDefinition
label: dashboard.chart.3d-column
# Here is sample config for https://www.amcharts.com/demos/3d-column-chart/
chartType:
class: info.magnolia.analytics.amcharts.data.configuration.AmChartType
type: XYChart3D
series:
- name: series
type: ColumnSeries3D
dataFields:
- name: categoryX
value: answer
jsonPath: $.[*].answer
- name: valueY
value: average
jsonPath: $.[*].average
- name: count
value: count
jsonPath: $.[*].count
- name: total
value: total
jsonPath: $.[*].total
tooltipText: '"Total:{total} Count:{count} [bold]Average:{valueY}[/]"'
columns:
strokeWidth: 2
strokeOpacity: 1
xAxes:
- name: xaxe
type: CATEGORY_AXIS
renderer:
minGridDistance: 30
grid:
location: 0
labels:
truncate: true
maxWidth: 90
dataFields:
category: average
yAxes:
- name: yaxe
type: VALUE_AXIS
cursor:
type: XYCursor
Set "Custom chart id" field value to the name of the new file created: "range-custom"
If we open form analytics we can see that graph for range question is changed:
Form Bootstrap
The Form Bootstrap module provides a way to bootstrap yaml form files at startup, previously exported from a Magnolia form app. Default configuration is monitoring resource folder /form-bootstrap/forms
You can change this folder by decorating form-bootstrap config /your_module/decorations/form-bootstrap/config.yaml
.
bootstrapFolderLocation: /your/own/path
Create the directory structure within the resource directory, either /form-bootstrap/forms
or /your/own/path
in case you have decorated the configuration.
Add the yaml files you want to bootstrap in the defined bootstrap folder.
Form Rest
The Form Rest module provides a rest API that can be used to manage forms (CRUD operations). This module is dependent on the Form Core module.
- Path
-
/.rest/forms/v1
Get all forms
GET /forms
- Description
-
Returns a list of all forms defined in the system.
Request
GET {{host}}{{base_path}}/forms/
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
Response
Response
[
{
"id": 2,
"version": 2,
"created": 1630498693782,
"createdBy": "superuser",
"modified": 1632244721862,
"modifiedBy": "superuser",
"title": "Example form",
"description": "Form with different types of questions.\nPlease answer the questions bellow!",
"sections": [],
"questions": [],
"anonymize": false,
"onlyAuthenticated": false,
"publicResults": true,
"orderIndex": 1,
"localisations": []
},
{
"id": 3,
"version": 1,
"created": 1630499697054,
"createdBy": "superuser",
"modified": 1630499697054,
"modifiedBy": "superuser",
"title": "Product form",
"description": "This is a new form",
"sections": [],
"questions": [],
"anonymize": false,
"onlyAuthenticated": false,
"publicResults": false,
"orderIndex": 2,
"localisations": []
}
]
Get a specific form
GET /forms/:id
- Description
-
Returns details of a given form. Returns the whole form structure.
Request
GET {{host}}{{base_path}}/forms/1
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
Response
Response
{
"id": 2,
"version": 2,
"created": 1630498693782,
"createdBy": "superuser",
"modified": 1632244721862,
"modifiedBy": "superuser",
"title": "Example form",
"description": "Form with different types of questions.\nPlease answer the questions bellow!",
"sections": [
{
"id": 6,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Multi option",
"description": "Section of multi choice questions.",
"questions": [
{
"id": 26,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Hours online",
"question": "How many hours a day do you spend online",
"questionType": "single",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 67,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "1-2 hours",
"label": "1-2 hours",
"value": "1-2",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 26,
"orderIndex": 1,
"localisations": []
},
{
"id": 69,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "5-8 hours",
"label": "5-8 hours",
"value": "5-8",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 26,
"orderIndex": 3,
"localisations": []
},
{
"id": 68,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "2-5 hours",
"label": "2-5 hours",
"value": "2-5",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 26,
"orderIndex": 2,
"localisations": []
},
{
"id": 70,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "I lost count",
"label": "I lost count",
"value": "8>",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 26,
"orderIndex": 4,
"localisations": []
}
],
"sectionId": 6,
"formId": null,
"orderIndex": 1,
"localisations": []
},
{
"id": 29,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Grateful for",
"question": "What are you most grateful for?",
"questionType": "text",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [],
"sectionId": 6,
"formId": null,
"orderIndex": 4,
"localisations": []
},
{
"id": 28,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Role model",
"question": "Who is your role model?",
"questionType": "text",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [],
"sectionId": 6,
"formId": null,
"orderIndex": 3,
"localisations": []
},
{
"id": 27,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Improving areas",
"question": "Which of these areas should we focus on improving?",
"questionType": "multi",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 74,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Strategic planning",
"label": "Strategic planning",
"value": "plan",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 27,
"orderIndex": 4,
"localisations": []
},
{
"id": 73,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Human resources",
"label": "Human resources",
"value": "hr",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 27,
"orderIndex": 3,
"localisations": []
},
{
"id": 71,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Project management",
"label": "Project management",
"value": "pm",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 27,
"orderIndex": 1,
"localisations": []
},
{
"id": 72,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Technical development",
"label": "Technical development",
"value": "dev",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 27,
"orderIndex": 2,
"localisations": []
}
],
"sectionId": 6,
"formId": null,
"orderIndex": 2,
"localisations": []
},
{
"id": 30,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Tech invention",
"question": "What’s the best tech invention of the 21st Century?",
"questionType": "text",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [],
"sectionId": 6,
"formId": null,
"orderIndex": 5,
"localisations": []
}
],
"formId": 2,
"orderIndex": 3,
"localisations": []
},
{
"id": 4,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Word cloud",
"description": "Section of free text questions",
"questions": [
{
"id": 18,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Project priority",
"question": "Which projects should we prioritize this quarter?",
"questionType": "multi",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 47,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "WTF",
"label": "WTF",
"value": "WTF",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 18,
"orderIndex": 4,
"localisations": []
},
{
"id": 45,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "MMF",
"label": "MMF",
"value": "MMF",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 18,
"orderIndex": 2,
"localisations": []
},
{
"id": 46,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "SOS",
"label": "SOS",
"value": "SOS",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 18,
"orderIndex": 3,
"localisations": []
},
{
"id": 44,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "ASM",
"label": "ASM",
"value": "ASM",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 18,
"orderIndex": 1,
"localisations": []
}
],
"sectionId": 4,
"formId": null,
"orderIndex": 3,
"localisations": []
},
{
"id": 38,
"version": 1,
"created": 1632833657150,
"createdBy": "superuser",
"modified": 1632833657150,
"modifiedBy": "superuser",
"title": "lorem ipsum",
"question": "Do you like Fran?",
"questionType": "range",
"rangeFrom": 1,
"rangeFromLabel": "Not at all",
"rangeTo": 10,
"rangeToLabel": "<3",
"answerOptions": [],
"sectionId": 4,
"formId": null,
"orderIndex": 6,
"localisations": []
},
{
"id": 19,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Responsible for L&D",
"question": "Who should be responsible for L&D?",
"questionType": "multi",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 48,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Individual",
"label": "Individual",
"value": "individual",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 19,
"orderIndex": 1,
"localisations": []
},
{
"id": 49,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Team lead",
"label": "Team lead",
"value": "team-lead",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 19,
"orderIndex": 2,
"localisations": []
},
{
"id": 50,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "HR",
"label": "HR",
"value": "hr",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 19,
"orderIndex": 3,
"localisations": []
}
],
"sectionId": 4,
"formId": null,
"orderIndex": 4,
"localisations": []
},
{
"id": 16,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Early bird",
"question": "Are you an early bird or a night owl?",
"questionType": "single",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 39,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Night owl",
"label": "Night owl",
"value": "night-owl",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 16,
"orderIndex": 2,
"localisations": []
},
{
"id": 38,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Early bird",
"label": "Early bird",
"value": "early-bird",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 16,
"orderIndex": 1,
"localisations": []
}
],
"sectionId": 4,
"formId": null,
"orderIndex": 1,
"localisations": []
},
{
"id": 17,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Superpower",
"question": "Which superpower would you like to have?",
"questionType": "single",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 42,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Teleportation",
"label": "Teleportation",
"value": "teleportation",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 17,
"orderIndex": 3,
"localisations": []
},
{
"id": 43,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Flying",
"label": "Flying",
"value": "flying",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 17,
"orderIndex": 4,
"localisations": []
},
{
"id": 41,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Invisibility",
"label": "Invisibility",
"value": "invisibility",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 17,
"orderIndex": 2,
"localisations": []
},
{
"id": 40,
"version": 1,
"created": 1630498693792,
"createdBy": "superuser",
"modified": 1630498693792,
"modifiedBy": "superuser",
"title": "Mind reading",
"label": "Mind reading",
"value": "mind-reading",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 17,
"orderIndex": 1,
"localisations": []
}
],
"sectionId": 4,
"formId": null,
"orderIndex": 2,
"localisations": []
},
{
"id": 20,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "State of mind",
"question": "Using one word, what’s your state of mind right now?",
"questionType": "text",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [],
"sectionId": 4,
"formId": null,
"orderIndex": 5,
"localisations": []
}
],
"formId": 2,
"orderIndex": 1,
"localisations": []
},
{
"id": 5,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Single option",
"description": "Section of single choice questions.",
"questions": [
{
"id": 21,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Time-travel",
"question": "If you could time-travel, which period would you go to?",
"questionType": "single",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 51,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "The past",
"label": "The past",
"value": "past",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 21,
"orderIndex": 1,
"localisations": []
},
{
"id": 52,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "The future",
"label": "The future",
"value": "future",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 21,
"orderIndex": 2,
"localisations": []
},
{
"id": 53,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "I’m good where I am",
"label": "I’m good where I am",
"value": "present",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 21,
"orderIndex": 3,
"localisations": []
}
],
"sectionId": 5,
"formId": null,
"orderIndex": 1,
"localisations": []
},
{
"id": 25,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Inspires you",
"question": "Which industry figure inspires you?",
"questionType": "text",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [],
"sectionId": 5,
"formId": null,
"orderIndex": 5,
"localisations": []
},
{
"id": 22,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Multitask",
"question": "Do you multitask when attending a meeting online?",
"questionType": "single",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 54,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Yes, I’m guilty",
"label": "Yes, I’m guilty",
"value": "yes",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 22,
"orderIndex": 1,
"localisations": []
},
{
"id": 56,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "No, I’m 100% focused",
"label": "No, I’m 100% focused",
"value": "no",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 22,
"orderIndex": 3,
"localisations": []
},
{
"id": 55,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "My mind tends to wander",
"label": "My mind tends to wander",
"value": "wander",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 22,
"orderIndex": 2,
"localisations": []
},
{
"id": 57,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Sometimes",
"label": "Sometimes",
"value": "sometimes",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 22,
"orderIndex": 4,
"localisations": []
}
],
"sectionId": 5,
"formId": null,
"orderIndex": 2,
"localisations": []
},
{
"id": 23,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Strangest thing",
"question": "What’s the strangest thing you did while attending a meeting online?",
"questionType": "multi",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 62,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Other, but my lips are sealed",
"label": "Other, but my lips are sealed",
"value": "other",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 23,
"orderIndex": 5,
"localisations": []
},
{
"id": 59,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Wore pajamas",
"label": "Wore pajamas",
"value": "pajamas",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 23,
"orderIndex": 2,
"localisations": []
},
{
"id": 61,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Watched Netflix",
"label": "Watched Netflix",
"value": "netflix",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 23,
"orderIndex": 4,
"localisations": []
},
{
"id": 58,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Ate breakfast",
"label": "Ate breakfast",
"value": "ate",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 23,
"orderIndex": 1,
"localisations": []
},
{
"id": 60,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Cooked lunch/dinner",
"label": "Cooked lunch/dinner",
"value": "cooked",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 23,
"orderIndex": 3,
"localisations": []
}
],
"sectionId": 5,
"formId": null,
"orderIndex": 3,
"localisations": []
},
{
"id": 24,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "State of mind",
"question": "If age is only a state of mind, which category best describes your state of mind right now?",
"questionType": "multi",
"rangeFrom": null,
"rangeFromLabel": null,
"rangeTo": null,
"rangeToLabel": null,
"answerOptions": [
{
"id": 63,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Cheeky child",
"label": "Cheeky child",
"value": "child",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 24,
"orderIndex": 1,
"localisations": []
},
{
"id": 66,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Groovy grandparent",
"label": "Groovy grandparent",
"value": "grandparent",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 24,
"orderIndex": 4,
"localisations": []
},
{
"id": 65,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Mad mid-lifer",
"label": "Mad mid-lifer",
"value": "mid-lifer",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 24,
"orderIndex": 3,
"localisations": []
},
{
"id": 64,
"version": 1,
"created": 1630498693793,
"createdBy": "superuser",
"modified": 1630498693793,
"modifiedBy": "superuser",
"title": "Tormented teenager",
"label": "Tormented teenager",
"value": "teenager",
"freeText": "dontShowFreeText",
"freeTextLabel": "",
"questionId": 24,
"orderIndex": 2,
"localisations": []
}
],
"sectionId": 5,
"formId": null,
"orderIndex": 4,
"localisations": []
}
],
"formId": 2,
"orderIndex": 2,
"localisations": []
}
],
"questions": [],
"anonymize": false,
"onlyAuthenticated": false,
"publicResults": true,
"orderIndex": 1,
"localisations": []
}
Post a form
POST /forms/:id
- Description
-
Post the form response contained in the body (JSON representation of the form response).
Response response(final @PathParam("id") long id, final List<ResponseItemDto> formResponseItemDtoList)
class ResponseItemDto {
String value;
long questionId;
}
Request
Request
POST {{host}}{{base_path}}/forms/1
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
[
{
"questionId": 5,
"value":"clear"
},
{
"questionId": 14,
"value":"children"
},
{
"questionId": 10,
"value":"Thomas Edison"
},
{
"questionId": 13,
"value":"father"
},
{
"questionId": 15,
"value":"Autonomous Vehicles"
},
{
"questionId": 1,
"value":"early-bird"
},
{
"questionId": 2,
"value":"invisibility"
},
{
"questionId": 6,
"value":"present"
},
{
"questionId": 7,
"value":"wander"
},
{
"questionId": 11,
"value":"8>"
},
{
"questionId": 3,
"value":"SOS"
},
{
"questionId": 4,
"value":"individual"
},
{
"questionId": 12,
"value":"hr"
},
{
"questionId": 8,
"value":"other"
},
{
"questionId": 9,
"value":"grandparent"
},
{
"questionId": 9,
"value":"teenager"
}
]
Response
Response
{
"id": 6,
"version": 1,
"created": 1620635015426,
"createdBy": "anonymous",
"modified": 1620635015426,
"modifiedBy": "anonymous",
"items": [
{
"id": 77,
"version": 1,
"created": 1620635015458,
"createdBy": "anonymous",
"modified": 1620635015458,
"modifiedBy": "anonymous",
"value": "8>",
"questionId": 11
},
{
"id": 78,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "pajamas",
"questionId": 8
},
{
"id": 79,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "flying",
"questionId": 2
},
{
"id": 80,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "bitcoin",
"questionId": 15
},
{
"id": 81,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "no",
"questionId": 7
},
{
"id": 82,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "life",
"questionId": 14
},
{
"id": 83,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "powerful",
"questionId": 5
},
{
"id": 84,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "dev",
"questionId": 12
},
{
"id": 85,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 86,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "grandparent",
"questionId": 9
},
{
"id": 87,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "father",
"questionId": 13
},
{
"id": 88,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "WTF",
"questionId": 3
},
{
"id": 89,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "individual",
"questionId": 4
},
{
"id": 90,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "future",
"questionId": 6
},
{
"id": 91,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "night-owl",
"questionId": 1
}
],
"formId": 1
}
Get form results
GET /forms/:id/results
- Description
-
Returns a list of all form responses (results).
Request
GET {{host}}{{base_path}}/forms/1/results
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
Response
Response
[
{
"id": 1,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"items": [
{
"id": 1,
"version": 1,
"created": 1619780298274,
"createdBy": "superuser",
"modified": 1619780298274,
"modifiedBy": "superuser",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 2,
"version": 1,
"created": 1619780298285,
"createdBy": "superuser",
"modified": 1619780298285,
"modifiedBy": "superuser",
"value": "pajamas",
"questionId": 8
},
{
"id": 3,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "flying",
"questionId": 2
},
{
"id": 4,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "dev",
"questionId": 12
},
{
"id": 5,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "life",
"questionId": 14
},
{
"id": 6,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "8>",
"questionId": 11
},
{
"id": 7,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "grandparent",
"questionId": 9
},
{
"id": 8,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "individual",
"questionId": 4
},
{
"id": 9,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "no",
"questionId": 7
},
{
"id": 10,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "powerful",
"questionId": 5
},
{
"id": 11,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "future",
"questionId": 6
},
{
"id": 12,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "WTF",
"questionId": 3
},
{
"id": 13,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "father",
"questionId": 13
},
{
"id": 14,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "bitcoin",
"questionId": 15
},
{
"id": 15,
"version": 1,
"created": 1619607498255,
"createdBy": "superuser",
"modified": 1619607498255,
"modifiedBy": "superuser",
"value": "night-owl",
"questionId": 1
}
],
"formId": 1
},
{
"id": 2,
"version": 1,
"created": 1619780316370,
"createdBy": "superuser",
"modified": 1619780316370,
"modifiedBy": "superuser",
"items": [
{
"id": 16,
"version": 1,
"created": 1619780316372,
"createdBy": "superuser",
"modified": 1619780316372,
"modifiedBy": "superuser",
"value": "hr",
"questionId": 12
},
{
"id": 17,
"version": 1,
"created": 1619780316372,
"createdBy": "superuser",
"modified": 1619780316372,
"modifiedBy": "superuser",
"value": "teenager",
"questionId": 9
},
{
"id": 18,
"version": 1,
"created": 1619780316372,
"createdBy": "superuser",
"modified": 1619780316372,
"modifiedBy": "superuser",
"value": "father",
"questionId": 13
},
{
"id": 19,
"version": 1,
"created": 1619780316372,
"createdBy": "superuser",
"modified": 1619780316372,
"modifiedBy": "superuser",
"value": "wander",
"questionId": 7
},
{
"id": 20,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "SOS",
"questionId": 3
},
{
"id": 21,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "children",
"questionId": 14
},
{
"id": 22,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "grandparent",
"questionId": 9
},
{
"id": 23,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "Thomas Edison",
"questionId": 10
},
{
"id": 24,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "Autonomous Vehicles",
"questionId": 15
},
{
"id": 25,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "other",
"questionId": 8
},
{
"id": 26,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "individual",
"questionId": 4
},
{
"id": 27,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "8>",
"questionId": 11
},
{
"id": 28,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "clear",
"questionId": 5
},
{
"id": 29,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "early-bird",
"questionId": 1
},
{
"id": 30,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "invisibility",
"questionId": 2
},
{
"id": 31,
"version": 1,
"created": 1619780316373,
"createdBy": "superuser",
"modified": 1619780316373,
"modifiedBy": "superuser",
"value": "present",
"questionId": 6
}
],
"formId": 1
},
{
"id": 3,
"version": 1,
"created": 1619607526407,
"createdBy": "superuser",
"modified": 1619780326407,
"modifiedBy": "superuser",
"items": [
{
"id": 32,
"version": 1,
"created": 1619780326408,
"createdBy": "superuser",
"modified": 1619780326408,
"modifiedBy": "superuser",
"value": "8>",
"questionId": 11
},
{
"id": 33,
"version": 1,
"created": 1619780326408,
"createdBy": "superuser",
"modified": 1619780326408,
"modifiedBy": "superuser",
"value": "grandparent",
"questionId": 9
},
{
"id": 34,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 35,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "future",
"questionId": 6
},
{
"id": 36,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "father",
"questionId": 13
},
{
"id": 37,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "individual",
"questionId": 4
},
{
"id": 38,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "dev",
"questionId": 12
},
{
"id": 39,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "pajamas",
"questionId": 8
},
{
"id": 40,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "powerful",
"questionId": 5
},
{
"id": 41,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "night-owl",
"questionId": 1
},
{
"id": 42,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "WTF",
"questionId": 3
},
{
"id": 43,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "no",
"questionId": 7
},
{
"id": 44,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "life",
"questionId": 14
},
{
"id": 45,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "bitcoin",
"questionId": 15
},
{
"id": 46,
"version": 1,
"created": 1619780326409,
"createdBy": "superuser",
"modified": 1619780326409,
"modifiedBy": "superuser",
"value": "flying",
"questionId": 2
}
],
"formId": 1
},
{
"id": 4,
"version": 1,
"created": 1619780380936,
"createdBy": "superuser",
"modified": 1619780380936,
"modifiedBy": "superuser",
"items": [
{
"id": 47,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "no",
"questionId": 7
},
{
"id": 48,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "WTF",
"questionId": 3
},
{
"id": 49,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "8>",
"questionId": 11
},
{
"id": 50,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "pajamas",
"questionId": 8
},
{
"id": 51,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 52,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "individual",
"questionId": 4
},
{
"id": 53,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "grandparent",
"questionId": 9
},
{
"id": 54,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "bitcoin",
"questionId": 15
},
{
"id": 55,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "dev",
"questionId": 12
},
{
"id": 56,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "night-owl",
"questionId": 1
},
{
"id": 57,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "powerful",
"questionId": 5
},
{
"id": 58,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "father",
"questionId": 13
},
{
"id": 59,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "life",
"questionId": 14
},
{
"id": 60,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "future",
"questionId": 6
},
{
"id": 61,
"version": 1,
"created": 1619780380938,
"createdBy": "superuser",
"modified": 1619780380938,
"modifiedBy": "superuser",
"value": "flying",
"questionId": 2
}
],
"formId": 1
},
{
"id": 5,
"version": 1,
"created": 1619780444446,
"createdBy": "anonymous",
"modified": 1619780444446,
"modifiedBy": "anonymous",
"items": [
{
"id": 62,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "powerful",
"questionId": 5
},
{
"id": 63,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "flying",
"questionId": 2
},
{
"id": 64,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "grandparent",
"questionId": 9
},
{
"id": 65,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "father",
"questionId": 13
},
{
"id": 66,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "dev",
"questionId": 12
},
{
"id": 67,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "life",
"questionId": 14
},
{
"id": 68,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "WTF",
"questionId": 3
},
{
"id": 69,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "no",
"questionId": 7
},
{
"id": 70,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "night-owl",
"questionId": 1
},
{
"id": 71,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "bitcoin",
"questionId": 15
},
{
"id": 72,
"version": 1,
"created": 1619780444447,
"createdBy": "anonymous",
"modified": 1619780444447,
"modifiedBy": "anonymous",
"value": "individual",
"questionId": 4
},
{
"id": 73,
"version": 1,
"created": 1619780444448,
"createdBy": "anonymous",
"modified": 1619780444448,
"modifiedBy": "anonymous",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 74,
"version": 1,
"created": 1619780444448,
"createdBy": "anonymous",
"modified": 1619780444448,
"modifiedBy": "anonymous",
"value": "future",
"questionId": 6
},
{
"id": 75,
"version": 1,
"created": 1619780444448,
"createdBy": "anonymous",
"modified": 1619780444448,
"modifiedBy": "anonymous",
"value": "pajamas",
"questionId": 8
},
{
"id": 76,
"version": 1,
"created": 1619780444448,
"createdBy": "anonymous",
"modified": 1619780444448,
"modifiedBy": "anonymous",
"value": "8>",
"questionId": 11
}
],
"formId": 1
},
{
"id": 6,
"version": 1,
"created": 1620635015426,
"createdBy": "anonymous",
"modified": 1620635015426,
"modifiedBy": "anonymous",
"items": [
{
"id": 77,
"version": 1,
"created": 1620635015458,
"createdBy": "anonymous",
"modified": 1620635015458,
"modifiedBy": "anonymous",
"value": "8>",
"questionId": 11
},
{
"id": 78,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "pajamas",
"questionId": 8
},
{
"id": 79,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "flying",
"questionId": 2
},
{
"id": 80,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "bitcoin",
"questionId": 15
},
{
"id": 81,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "no",
"questionId": 7
},
{
"id": 82,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "life",
"questionId": 14
},
{
"id": 83,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "powerful",
"questionId": 5
},
{
"id": 84,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "dev",
"questionId": 12
},
{
"id": 85,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "Nikola Tesla",
"questionId": 10
},
{
"id": 86,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "grandparent",
"questionId": 9
},
{
"id": 87,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "father",
"questionId": 13
},
{
"id": 88,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "WTF",
"questionId": 3
},
{
"id": 89,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "individual",
"questionId": 4
},
{
"id": 90,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "future",
"questionId": 6
},
{
"id": 91,
"version": 1,
"created": 1620635015471,
"createdBy": "anonymous",
"modified": 1620635015471,
"modifiedBy": "anonymous",
"value": "night-owl",
"questionId": 1
}
],
"formId": 1
}
]