Hi @d-demirci , I tried to implement your solution on the latest Tutor version wich uses edx Koa (which was not released at the time of your post). The file that you mention is a bit different now (it is called lti_xblock.py
instead of lti.py
) and the code changed a bit but not too much so your solution seemed easy to replicate. For example callable(self.xblock.runtime.get_real_user)
is now callable(self.runtime.get_real_user)
. The problem is that your modifications create a bug on the platform and after investigating the logs, I found that what creates the problem is that
the condition if callable(self.runtime.get_real_user)
is always false because self.runtime.get_real_user
turns out to be None
and so it is not callable: TypeError: 'NoneType' object is not callable
. I am not an expert of the edX code so it is not clear to me why self.runtime.get_real_user
is None, it is surprising. Do you have any explanation and/or ideas on how to overcome this issue?
Alternatively, I found that now additional parameters like lis_person_name_full
can be passed to the LTI Tool using “processors” (according to the documentation: GitHub - edx/xblock-lti-consumer). There is even an XBlock that already implements useful processors (GitHub - appsembler/tahoe-lti: Tahoe LTI Customizations: Additional team and user fields.). But in my case the processors have absolutely no effect and I do not know why (I suspect it may be related to the first problem of my message, but I did not make any change to the default configuration of Tutor so I am surprised). See also my post on the forum: Use appsembler/tahoe-lti with Tutor
@sajid have you upgraded your Tutor platform to the latest version? Did you encounter the same problems as I did and if so did you manage to overcome them?