Sharebar?

How to handle resource with multiple scores?

How to handle resource with multiple scores?

I have a resource link, that upon completion will return multiple scores. In addition to this, the tool needs to relay status informaiton not related to any specific line item.

In the spec:

https://www.imsglobal.org/spec/lti-ags/v2p0#extensions

"Line item, score, and result MAY be enriched with additional data"

I've been thinking of various ways to handle this, and my latest idea is to create a single line item, and then an enhanced score JSON body.

Single line item:


{
    "label" : "Overall",
    "tag" : "overall",
    "scoreMaximum" : 80,
    "resourceLinkId": "1234"
}

 

Then when scoring comes around:


{
    "timestamp" : "<some timestamp>",
    "activityProgress" : "Completed",
    "gradingProgress" : "FullyGraded",
    "userId" : "1234",
    "https://<domain>/lti/additional" : {
        "scores": {
            [
                {
                    "label":"Overal",
                    "tag": "overall",
                    "scoreGiven": 50,
                    "scoreMinimum": 20,
                    "scoreMaximum":80
                },
                {
                    "label":"Reading",
                    "tag":"reading",
                    "scoreGiven": 75,
                    "scoreMinimum" 20,
                    "scoreMaximum": 80
                },
                ...
            ]
        },
        "status": {
           "code": "",
           "text": ""
        }
    }
}

 

and if a status is needed at any time:


{
    "timestamp" : "<some timestamp>",
    "activityProgress" : "InProgress",
    "gradingProgress" : "NotReady",
    "userId" : "1234",
    "https://<domain>/lti/additional" : {
        "scores": {
            [   
            ]
        },
        "status": {
           "code": "GENERAL_ERROR",
           "text": "Audio Check Failed"
        }
    }
}

 

This would allow a single status for the whole test. The platform would then be responsible to make sure the various scores get to the appropriate line items (and creating those line items). Definitely some custom coding on the platform side to make this work.

I was originally thinking of creating multiple line items, but the test status makes that hard to work with. If there were a way to get an overall status back to the platform, then the multiple line items approach would probably be better (still will require so enhancement to deal with the minimum score).

I would like hear people's thoughts on this approach.