Skip to content

Session Data

Martin Konopka edited this page Mar 28, 2018 · 5 revisions

For each completed session recording, set of data files are stored in the local app data folder, individually for each session, and can also be accessed through the application UI:

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

The session recording folder contains these files:

  • definition.json - JSON file with definition object for this recording, see [Session Definition](Session-Recording-Definition#Session definition JSON structure) 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, e.g., Launch Program step for program arguments.

Settings structure:

  • <sectionId>

    • <settingsKey> : <settingsValue>
  • 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 id of the questionary identifies section, and id of each question is the key for value.

Session settings may also be accessed through the app REST 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