ℹ️ Any experiment is driven by the config files

The flexibility of the EDIA toolbox is largely based upon the config files. Here we explain the background and structure of the config files.

👁️ Overview

The EDIA toolbox uses the config files as input for the experiment.

They are split up into two main categories:

Base settings

Participant specific configs

📂 File & folder structure

The system expects a certain file/folder layout to scan the available configs automatically.

The structure is fixed, the namings largely are too. (red = fixed) This ensures that all data is available for each participant, the correct session.

The logging system uses the folder names sub-01A and ses-001 to generate an unique structure for this subject ID and session. It uses the part after the - as folder name.

<aside>

⚠️ The number in ses-001 is strict, this cannot contain letters, only numbers.

</aside>

configs/
├── base-definitions/
│   ├── session.json
│   ├── break-default.json
│   ├── task-stroop.json
│   └── ....
└── participants/
    ├── sub-01A/
    │   ├── ses-001/
    │   │   ├── session-info.json
    │   │   ├── session-sequence.json
    │   │   └── block-definitions/
    │   │       ├── task-stroop_0.json
    │   │       ├── task-stroop_1.json
    │   │       ├── break-default_0.json
    │   │       └── ....
    │   ├── ses-002/
    │   │   ├── session-info.json
    │   │   ├── session-sequence.json
    │   │   └── block-definitions/
    │   │       ├── task-stroop_0.json
    │   │       └── ...
    │   └── ...
    └── sub-01B/
        ├── ses-001/
        │   └── ...
        └── ...

🖇️ Config file structure

Using a fixed formatting ensures correct JSON parsing into the data structure used by EDIA.Core . For each config file there is a fixed format, but all are using a combination of the following configurations.

Types of entries used in JSON formatting.

Example Xblock variant, the task-stroop_0.json file as an example containing all formats.

{
  "type": "task",
  "subType": "stroop",
  "blockId": "task-stroop_0",
  "settings": [
    { "key": "_colors", "value": "#008000;#FFC0CB;#FFA500" },
    { "key": "_words", "value": "green;pink;orange" },
    { "key": "target", "value": "word" }
  ],
  "messages": [
    { "key": "_intro", "value": "Click the color the word describes." },
    { "key": "_intro", "value": "Another message to test multimessages" },
    { "key": "_intro", "value": "Random jibberish in your jellyfish" }
  ],
  "trialSettings": {
    "keys": ["word", "color"],
    "valueList": [
      { "values": ["orange", "#008000"] },
      { "values": ["pink", "#FFC0CB"] },
      { "values": ["green", "#FFA500"] }
    ]
  }
}