LTI Tool GradeSync - technical details

LTI Tool GradeSync - technical details

by Ram Kelath -
Number of replies: 4

We're looking to integrate our webapp as an LTI Tool Consumer to Moodle in LTI Tool mode.  I have a couple of questions about the GradeSync task that posts grades back that need to be answered so that I can create the endpoint for the task.

1. What is the format of the grade data sent back?  Does it post each individual's grades separately or all together?

2. What kind of authentication can I use in my service endpoint?  I'm using LTI 1.1 for the SSO crossover - posting an authentication hash that's calculated using Oauth 1.0.  Can I expect the same method (Oauth 1 authentication hash using the same shared secret as SSO)  for the grades being posted to my endpoint?

Let me know if this question needs to be split up into two different ones.

Average of ratings: -
In reply to Ram Kelath

Re: LTI Tool GradeSync - technical details

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Ram,

I would strongly recommend waiting for Moodle 4.0, which can act as an LTI 1.3 tool. LTI 1.1 is deprecated.

Regarding your questions:
1. Moodle 4.0 will send back individual grades, per user. You can see the format of a score post in the AGS 2.0 Spec on IMS (https://www.imsglobal.org/spec/lti-ags/v2p0#score-publish-service)
2. Again, with LTI 1.3, authentication has changed drastically from 1.0/1.1. It is defined by a spec which you can check out here (http://www.imsglobal.org/spec/security/v1p0)

Hope that helps
Jake
In reply to Jake Dallimore

Re: LTI Tool GradeSync - technical details

by Ram Kelath -
Hi Jake,

Thanks for your quick response!
For my current project I think I want to get started with 1.0/1.1 to solve the design issues in my webapp around the integration - this is the more substantial part of the effort. Then when Moodle 4.0 becomes available we can look at implementing 1.3.
I've been digging into the Moodle code for the gradesync scheduled tasks and that's been helpful in answering my questions.
Good to know that Moodle will be upgrading this soon.


Ram
In reply to Jake Dallimore

Re: LTI Tool GradeSync - technical details

by Ram Kelath -
One thing I couldn't find anywhere but seems implicit in your reply - is it the case that with Moodle 3.x you can only use LTI 1.0/LTI 1.1 authentication (Oauth 1) ?
In reply to Ram Kelath

Re: LTI Tool GradeSync - technical details

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Yes, that's right. Moodle 3.x only supports posting grades via the old Basic Outcomes service, which uses OAuth 1 signatures. You can see in the task that there's a call to:

\enrol_lti\helper::create_service_body()


which creates the pox envelope (for a single user and grade btw, since you asked) and then a call to:

sendOAuthBodyPOST()

which will sign that body and make the request


- Jake