I have a LTI app and I would like to implement Grade Passback. I would like to pass:
A) A grade for an assignment;
B) Text containing points and textual feedback for all bullet points questions that the app provides.
I am developing this in Node.js using the ims-lti library for handling authentication. I can pass grades and feedbacks from the front-end (which implements a rubric that teachers use to evaluate the assignment) to the Node.js server through json. The text I want to return would look like:
Criterion 1: 5 pts. You understood the main content of the text.
Criterion 2: 10 pts. Your spelling is excellent
Criterion 3: 0 pts. You did not discuss the author's thesis
I tried to understand how to implement this by studying the module "Grade Passback" from the second section of the Dev and Friends course, but I got stuck (in particular how to sign it). I see a couple of posts where Grade Passback is discussed. Here James Jones suggested to use the Submission's API. Here there is an example, but in Java.
On the other hand the Dev and Friends course, these docs and this post answered by Garth Egbert adopt the XML approach. From the docs it sounds to me that the
resultData node could take care of my feedbacks in point 2 above. Is that correct?
My questions are:
1) Am I right about returning my feedback in point B using
resultData the XML approach? If so, I am curious to hear where they will be visible in Canvas.
2) Can I pass back textual feedback in point B using the API approach? In that way I hope to circumvent my lack of understanding of OAuth header signature in the XML approach (next point).
3) Any pointer on how to make the XML approach, in particular about signing? Do you know of any example in Node.js?
4) Can i do anything similar but at the Quiz level? I think this is a similar enhancement request.
Thank you in advance