LTI 1.3 | Cron error

LTI 1.3 | Cron error

by Gemma Lesterhuis -
Number of replies: 3
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Hi,

I tried to find out the reasons with the LTI consumer, but some how we keep misunderstanding each other so I try it on the Moodle forum.


We are busy with testing the LTI 1.3 advantage tool provider with an external LMS not Moodle based. 

During the testing we are encouter the following error in the cron. 
The task failed due to a "call to a member function (out) on null"


When I removed the user from the course, the cron happily continued. 
In the course we had 2 Tool url's , and the specific user enter both to. 

The reply I got was when they enter the course that they noticed that the score is being saved per user.id, so when they restart the module again with a new resource_link.id/line_item.id then they still have the score from the earlier try WITH a different resource_link.id/line_item.id, 

But they state that it should not be working like this, looking at https://www.imsglobal.org/spec/lti-ags/v2p0#score-publish-service

And that the "logic" it should be based on RegistrationID instead of  user.id , and therefore Moodle is not following the LTI standards. 

From my perspective it makes sense because it's the same user going in, and aka has the same Moodle user id that it will pick up the same grade. But I also understand they point of view, because we also got with LTI 1.1/1.2 the request that an user can start the course again (blanco without grade and progress) . To achive this we work with Course Recompletion plugin. 

In short my questions:

  1. Is the cron error an Moodle LTI 1.3 provider bug and should there be a tracker for this? (or is this maybe already solved).
  2. Is Moodle indeed not following the standard by using the logic user.id instead of using RegistrationID. 

Thank you for your time. 

Gemma




Average of ratings: -
In reply to Gemma Lesterhuis

Re: LTI 1.3 | Cron error

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 Gemma,

  1. I suspect that error is due to a missed update in MDL-74691. Basically, we used to expect a lineitems URL (the plural URL) and that issue should have addressed the error. Looks like I just missed a spot. I'll create an issue for this but it should be a fairly simple fix. Edit: I've created MDL-75532 to address this oversight.
  2. The score service uses the lineitem URL which is a unique URL for the specific resource's lineitem, and requires userid. Per the spec:
The userId identifies the recipient of the Score (usually a student). The userId MUST be present and MUST be the same as the resource link LTI parameter 'user_id'.
There's nothing about registrationid in that specification.

Hope that helps,
Jake
In reply to Jake Dallimore

Re: LTI 1.3 | Cron error

by Gemma Lesterhuis -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Thank you Jake for your reply, this helps indeed. I got a little bit flustered by his response.

I have this same discussion with LTI 1.1/1.2 with them. What they seem to want is to trigger a "redo" of the module by the student without us triggering a course reset for the student/students and/or creating a new Tool id/url in a different course.

Is Moodle working on getting certification on LTI 1.3 from a provider standpoint?
Gemma