Hi,
Using LTI 1.3, is it possible to programatically change grades at a later date? Right now I have:
$launch = LTI\LTI_Message_Launch::new(new LTIDatabase())
->validate();
I then have a student work through an assignment, and then use this object in performing the grade passback within that session. This works great, but what if I need to change the students grade at a later date?
Potential use cases:
1) An instructor removes a poorly worded question from the assignment so that scores have to be recomputed.
2) A grader has to do some manual scoring.
Would I be able to just save the latest launch objects for each student associated with a particular assignment, then iterate over and send the scores back? In particular, I'm wondering if the launch objects might be time sensitive. Or I'm also wondering if there's there's a better, accepted approach.
Thanks so much!
Solved! Go to Solution.
Thanks so much for your response! It looks like your solution works for LTI 1.1. And it gave me the hope that the same would work for LTI 1.3, which it does. To those using the PHP library, all you need to do is to save the launch id and then you can use something like:
$launch = LTI\LTI_Message_Launch::from_cache($launch_id, new LTIDatabase());
The 1.3 library will then handle the request for you and update the grade
You can send a score to the platform from a tool at any time; all you need is an access token, the endpoint and the score value to be sent. For example, when using the ceLTIc Project's LTI library for PHP you can use the doOutcomesService method of the ResourceLink object (see https://github.com/celtic-project/LTI-PHP/wiki/Outcomes-service) or the submitOutcome method of the LineItem object (see https://github.com/celtic-project/LTI-PHP/wiki/Line-Item-service). The library obtains the required access token and retains the required endpoints automatically.
Thanks so much for your response! It looks like your solution works for LTI 1.1. And it gave me the hope that the same would work for LTI 1.3, which it does. To those using the PHP library, all you need to do is to save the launch id and then you can use something like:
$launch = LTI\LTI_Message_Launch::from_cache($launch_id, new LTIDatabase());
The 1.3 library will then handle the request for you and update the grade