Skip to content

Transaction message format

Ken Holstein edited this page Jul 11, 2017 · 1 revision

The below properties of transaction messages are most likely to come in handy as you are authoring or modifying detectors.

- tool_data
    - selection (the tutor component the student was interacting with)
    - action (the action the student took on that component)
    - input (the input associated with that student's action, if applicable)
    - tool_event_time (the time of the student's action in the interface)
- tutor_data
    - selection (the tutor component that the tutor inferred was the 'actual'/underlying focus of the student's action... for example, if a student asked for a hint, this would be the step on which the tutor inferred the student was asking for help, rather than the hint button itself)
    - action (the action the student took on that component)
    - input (a correct input that the tutor believes the student should have entered)
    - tutor_event_time (the time of the tutor's response to this student action)
    - skills
        - an array of skill updates, where each entry in the array contains a dictionary with properties as follows:
            - name
            - category
            - pKnown
            - pGuess
            - pLearn
            - pSlip
    - step_id (a unique id for the step the student just attempted)
- context
    - class_description
    - class_instructor_name
    - class_name
    - class_period_name
    - class_school
    - problem_name
    - problem_context

You can access these properties from inside of the "receive_transaction" function of your detector as in the following examples:

var skill1_pKnown = e.data.tutor_data.skills[0].pKnown; //returns the mastery probability of the first skill in the skill array (assuming that the step the student just attempted has skills associated with it)

var current_selection = e.data.tutor_data.selection; //returns the focus of the student's current action (as interpreted by the tutor)

Clone this wiki locally