10,730
edits
(→Completion status: moved elsewhere) |
(→Technical information: portions moved elsewhere) |
||
Line 192: | Line 192: | ||
== Technical information == | == Technical information == | ||
When building a new custom questionnaire template you are not altering the data model (entities, fields, relationships) – instead, you’re adding the entity records. As a consequence, the user who manages the questionnaire templates does not have to be a backend administrator since this user is not changing the data model. | |||
All questionnaire data is saved as records | All questionnaire data is saved as records in multiple custom entities: | ||
* '''Questionnaire''' | * '''Questionnaire''' stores information about the questionnaire templates, snippets, and answered questionnaires. | ||
* '''Question Group''' | * '''Question Group''' stores information about the question groups. Each question group can contain multiple questions. | ||
* '''Question''' | * '''Question''' stores all the questions created for the questionnaire, as well as answers. | ||
* '''Questionnaire Folder''' | * '''Questionnaire Folder''' stores information about the folder structure that organizes questionnaire templates in the designer. | ||
See also: [ | See also: [[Resco Inspections data model]] | ||
=== Saving questionnaire data === | === Saving questionnaire data === | ||
When an | When an inspector starts answering a questionnaire in the app, a new copy of the template is created. For an answered questionnaire, we store both questions and answers. When you enable template dependency, the answered questionnaire is no longer self-contained (it refers to the template) but each answer needs less data (faster sync and less database storage). How self-contained should answers be is configured on the questionnaire template's '''Properties''' pane, in the '''Template Dependency''' field. | ||
Questionnaire data can be saved in three different formats: | Questionnaire data can be saved in three different formats: | ||
Line 210: | Line 210: | ||
* Record-based model (default): Each answer in a questionnaire is a record. | * Record-based model (default): Each answer in a questionnaire is a record. | ||
* JSON / compressed JSON: Answers are stored in JSON format that might be compressed. JSON requires fewer records and may result in faster synchronization. However, analyzing the answers may require additional effort. | * JSON / compressed JSON: Answers are stored in JSON format that might be compressed. JSON requires fewer records and may result in faster synchronization. However, analyzing the answers may require additional effort. | ||
The data model can be configured on the questionnaire template's '''Properties''' pane, in the '''Answer Storage''' field. | The data model can be configured on the questionnaire template's '''Properties''' pane, in the '''Answer Storage''' field. | ||
=== Permissions === | === Permissions === |