How to send 'lis_person_name_full' parameter to LTI tools on edX platform installed with Tutor?

Hi all!
I have an open edX platform installed with Tutor and I would like to use Open edX as an LTI Consumer. I followed the steps of the edX documentation and it works well. However, I would like edX to send extra parameters to the LTI tool and in particular the parameter lis_person_name_full which would allow the LTI Tool to know the name of the user. The easiest way I found to achieve this goal was to install the Tahoe LTI Customizations XBLOCK. I checked in the docker containers run by Tutor that the installation of the XBLOCK succeeded and it seems OK: the pip3 freeze command inside the CMS and LMS Docker containers displays tahoe-lti==0.3.0. In the documentation it is mentioned that additional settings are needed to send extra parameters to LTI Tools:

“Add the following settings to your server-vars.yml (or whatever method you configure your Open edX installation):”

EDXAPP_XBLOCK_SETTINGS:
  lti_consumer:
    parameter_processors:
      - 'tahoe_lti.processors:basic_user_info'
      - 'tahoe_lti.processors:personal_user_info'
      - 'tahoe_lti.processors:cohort_info'
      - 'tahoe_lti.processors:team_info'

I asked on the Overhang.io Forum how to set these parameters (see Use appsembler/tahoe-lti with Tutor - #13 by RonanFR - Tutor - Overhang.IO) and I managed to create a Tutor plugin that apparently should work in theory but nothing changes according to my tests with the LTI Tool Provider Emulator (no extra parameters sent to the LTI Tool). The problem does not seem to come from the Tutor plugin itself (it seems to be doing what it is supposed to do) but rather from the edX platform. If I understood correctly, to make the Tahoe LTI XBLOCK work, the following piece of python code should appear in some python files of the edx platform:

XBLOCK_SETTINGS["lti_consumer"] = {
    "parameter_processors": [
      "tahoe_lti.processors:basic_user_info",
      "tahoe_lti.processors:personal_user_info",
      "tahoe_lti.processors:cohort_info",
      "tahoe_lti.processors:team_info",
   ]
}

but I do not know exactly which files. I discovered that the files openedx/edx-platform/lms/envs/common.py and openedx/edx-platform/cms/envs/common.py in both container tutor_local_lms_1 and tutor_local_cms_1 had XBLOCK_SETTINGS = {} even after activating the Tutor plugin, but even after manually updating these files and restarting the platform nothing changed. I am not sure in which file the XBLOCK_SETTINGS are supposed to be set in the end.

Does anybody know how to make the Tahoe LTI Customizations work on a running edX platform (if possible with Tutor) ? If not, what are other possible ways to force Open edX to send parameters such as lis_person_name_full'?

1 Like