Questionnaires
Questionnaires are generated from specifications for a given combination of parameters, first and foremost a target language.
We give them global identifiers, unique names, and narrative descriptions.
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.
Lifecycle
Questionnaires have an explicit lifecycle. Allowed states are:
created: the initial state of questionnaires after they've been generated from specifications.
published: the state of questionnaires that are available for editing, e.g. as an implication of starting a campaign.
submitted: the state of questionnaires which have been collected and can no longer be edited. Depending on the collec
ingested: the state of questionnaires whose data has been successfully exported 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.
Collections
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.
Structure and Specs
Questionnaires aggregate:
the parameters with which they've been generated.
their selection of the underlying datasets, typically loaded with available statistics.
an abstract description of their layout.
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.

Last updated