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:
- 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).
- Is Moodle indeed not following the standard by using the logic user.id instead of using RegistrationID.
Thank you for your time.
Gemma