Questionnaires
Last updated
Last updated
Questionnaires are generated from specifications for a given combination of , first and foremost a target language.
We give them global .
identifiers are derived from the specifications' via random postfixes. This distinguishes them from other questionnaires with the same lineage.
names are inherited from specifications and serve as visual clues of lineage.
description are also inherited from specifications.
names and descriptions are in the language of questionnaire.
Note: questionnaires hold also explicit references to their specifications. We navigate these references and use them to warn users about referential integrity issues, e.g. when they attempt to delete specifications.
Questionnaires have an explicit . Allowed states are:
created: the initial state of questionnaires after they've been .
published: the state of questionnaires that are available for editing, e.g. as an implication of .
submitted: the state of questionnaires which have been and can no longer be edited. Depending on the collec
ingested: the state of questionnaires whose data has been successfully to storage and working systems. An ingested questionnaire has fulfilled its purpose as a vehicle for data collection.
removed: this a transient state observed only by clients that remove questionnaires and receive back the latest representation of their lifecycle.
Questionnaires belong to one collection, a lightweight classification mechanism that helps users work in manageable contexts.
With collections, we want to mimic simple uses of the file system.
Collections often group questionnaires with the same lineage, but they don't have to.
As a notable example, campaigns induce homogeneous collections.
Unless otherwise specified at generation time, we put questionnaire in a predefined public
collection.
The collection of a questionnaire can change during its lifetime.
Questionnaires aggregate:
and serve as persistence roots of the entire composition hierarchy.
The specifications of questionnaires mirror the same structure and carry most of the same properties.
the with which they've been generated.
their of the underlying datasets, typically loaded with available statistics.
an abstract description of their .