python module for managing experiment factory javascript experiment files, batteries to deploy them to (eg, psiturk), and virtual machines to host the compilation of those things.
This PR will add the start of the survey module to the application. While under development, surveys will be kept under expfactory-surveys. The idea of a survey is equivalent to an experiment - it is a folder with any number of static files, and a config.json, and can be run via the command expfactory --run This is currently working for the demo survey, bis_bas, given that expfactory-python is updated. The differences between experiments and surveys are as follows:
Differences between experiments and surveys
For a survey, the "template" type is "survey"
Detecting this template type will trigger the validation function to check for a survey.tsv file in the experiment folder. Here is an example of this file. This is the key to making this easy to use - an entire survey is generated from a tab separated file. Contributing a survey means making a folder with this file, and the config.json, and that's it. Anyone can make that! The validation of the file will be done with a circle test (not yet written).
"deployment_variables": the supported kind of surveys right now is just material_design, and so variables for the deployment go under "material_design." Parsing of these variables into the survey html has not yet been implemented (see current issues, I still have a lot to figure out), but will include the standard fullscreen, etc. Variables for specific questions (eg, the number of rows) will be provided in an optional "variables" column in the survey.tsv.
Material Design
Material Design (light) is a preferred first format for these surveys because it is beautiful and the entire color (which is most of the style) can be changed by specifying a different style sheet in the config.json.
Migration
To be clear - these functions are being added to expfactory-python, but not migration over to this module will be done (meaning moving folders from expfactory-surveys to over-write folders in expfactory-experiments) until all functionality has been developed and approved by @IanEisenberg and @zenkavi. We can discuss if we want to maintain a single expfactory-experiments folder (also including surveys) or if we are concerned about the size of the repo and want to have a separate expfactory-surveys repo. It will be a trivial amount of work to convert experiment.js files into tsv files, and I think offer much improved functionality in the long wrong. There is no rush to do this.
This PR will add the start of the survey module to the application. While under development, surveys will be kept under expfactory-surveys. The idea of a survey is equivalent to an experiment - it is a folder with any number of static files, and a config.json, and can be run via the command
expfactory --run
This is currently working for the demo survey, bis_bas, given that expfactory-python is updated. The differences between experiments and surveys are as follows:Differences between experiments and surveys
material_design
, and so variables for the deployment go under "material_design." Parsing of these variables into the survey html has not yet been implemented (see current issues, I still have a lot to figure out), but will include the standard fullscreen, etc. Variables for specific questions (eg, the number of rows) will be provided in an optional "variables" column in the survey.tsv.Material Design
Material Design (light) is a preferred first format for these surveys because it is beautiful and the entire color (which is most of the style) can be changed by specifying a different style sheet in the config.json.
Migration
To be clear - these functions are being added to expfactory-python, but not migration over to this module will be done (meaning moving folders from expfactory-surveys to over-write folders in expfactory-experiments) until all functionality has been developed and approved by @IanEisenberg and @zenkavi. We can discuss if we want to maintain a single expfactory-experiments folder (also including surveys) or if we are concerned about the size of the repo and want to have a separate expfactory-surveys repo. It will be a trivial amount of work to convert experiment.js files into tsv files, and I think offer much improved functionality in the long wrong. There is no rush to do this.