Skip to content

Session Data

Martin Konopka edited this page Mar 6, 2019 · 5 revisions

For each completed session recording, a set of data files is stored in the local app data folder individually for each session, and can also be accessed through the application user interface in the recordings tab:

C:\Users\<username>\AppData\Local\UXC\recording\<session identifier>\

Access to data of recorded sessions in UXC

The session recording folder contains these files:

  • definition.json - JSON file with definition object for this recording, see Session Definition for details.
  • session.json - JSON file with events that occurred during the session recording, including changes in session state and timeline playback. See Session events below for details.
  • settings.json - JSON file with key-value storage of session settings. Settings are accessible during the recording from timeline steps and REST API. See Session settings below for details.
  • Device specific files for each device used in the recording, identified with typecode. Default format is JSON:
    • <device>_data.<format> - recording data.
    • <device>_states.<format> - device state changes.
    • <device>_log.<format> - device event log.

Session events

  • state : string - session state during which the event occurred. Possible values:
    • "Opening" - session was open, welcome step is displayed.
    • "Preparing" - the pre-session timeline is active.
    • "Running" - the main session timeline is active, devices record data.
    • "Processing" - the post-session timeline is active, recording with devices was stopped.
    • "Completed" - session recording finished successfully.
    • "Cancelled" - session was cancelled by the user.
  • timestamp : DateTime string - local timestamp of the event.
  • eventType : string - type of the event, specific events may contain additional properties. Available event types:
    • Session state changed
      • eventType: "StateChanged"
    • Timeline step started
      • eventType: "StepStarted"
      • stepAction : string - type of the Timeline step, same value as in actionType field in Timeline step definition.
    • Timeline step completed
      • eventType: "StepCompleted"
      • startedAt: DateTime string - local timestamp when the step started.
      • step : TimelineStep - step definition object.
      • result : TimelineStepResult - result of the timeline step execution, see each timeline step for details.

Example

Preview of the session.json file with questionary in the welcome step. From recorded events it is possible to retrieve when the session was open, welcome step started, completed, followed by calibration, and so on.

[
    {
        "State": "Opening",
        "Timestamp": "2018-03-15T10:44:53.2721256+01:00",
        "EventType": "StateChanged"
    },
    {
        "State": "Preparing",
        "Timestamp": "2018-03-15T10:44:53.2721256+01:00",
        "EventType": "StateChanged"
    },
    {
        "StepAction": "Welcome",
        "EventType": "StepStarted",
        "State": "Preparing",
        "Timestamp": "2018-03-15T10:44:53.2721256+01:00"
    },
    {
        "Step": { 
            // ...Welcome step definition...
            "Id": "User"
        },
        "Result": {
            "Answers": [
                {
                    "QuestionId": "Name",
                    "Answer": "John Locke"
                },
                {
                    "QuestionId": "Age",
                    "Answer": "48"
                }
            ],
            "ResultType": "Successful"
        },
        "StartedAt": "2018-03-15T10:44:53.2721256+01:00",
        "EventType": "StepCompleted",
        "State": "Preparing",
        "Timestamp": "2018-03-15T10:44:55.5761271+01:00"
    },
    {
        "StepAction": "EyeTrackerCalibration",
        "EventType": "StepStarted",
        "State": "Preparing",
        "Timestamp": "2018-03-15T10:44:55.5761271+01:00"
    },
    // ...other events from the session...
}

Session settings

Session settings is a key-value storage organized into sections. It contains basic data about the session which can be accessed in Timeline steps and used during the session recording by certain steps, e.g., Instructions or Launch Program Step in program arguments.

Settings structure:

  • <sectionId>
    • <settingsKey> : <settingsValue>

By default, these settings are stored for each session:

  • Session : section for key-value settings object:
    • Id : string - session identifier.
    • OpenedAt : DateTime - local timestamp of opening the recording.
    • StartedAt : DateTime - local timestamp of data recording start.
    • FinishedAt : DateTime - local timestamp of session completion.

Additional data is added from completed Questionary steps, where value of questionary id is used as a <sectionId>, and id of each question is the <settingsKey> for the answer, stored in the <settingsValue>.

Session settings may also be accessed through the app REST API, see API Reference - Session Settings API.

Example

Session settings with questionary User and questions Name and Age.

{
    "Session": {
        "Id": "2018-03-15T10:44:53 Visual attention study - Thursday 11:00",
        "StartedAt": "2018-03-15T10:44:57.8399515+01:00",
        "FinishedAt": "2018-03-15T10:45:17.5392409+01:00",
        "OpenedAt": "2018-03-15T10:44:53.2407971+01:00"
    },
    "User": {
        "Name": "John Locke",
        "Age": "48"
    }
}
Clone this wiki locally