Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-61110

LTI: Store 'lis_course_section_sourcedid' inside mdl_enrol_lti_lti2_resource_link.settings field

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.4, 3.5
    • Fix Version/s: 3.6
    • Component/s: LTI provider
    • Labels:
    • Testing Instructions:
      Hide
      1. Follow instruction for setting up a Moodle 'provider' course
        1. As system admin, turn on LTI authentication
        2. As system admin, turn on LTI enrollment
        3. Create a Moodle course and "publish" it with the course LTI provider tool.
      2. On a remote 'consumer' Moodle system
        1. Login as a Manager
        2. Create or open a Moodle course, and setup an External Tool activity. use the settings from the previous section (section 1.3) Moodle provider system.
        3. Login as a Teacher
        4. Go into the course settings and add a test value ('TST22313') to the course 'idnumber' setting
        5. Login as a student
        6. Open the browser's "Inspect elements" (Developer tools) and switch to the Network tab.
        7. While the Network tab is open, go into the course and click the External tool (LTI) link to the remote Moodle provider course, and make sure the 'lis_course_section_sourcedid' parameter is passed to the 'https://your-other-moodle-provider/enrol/lti/tool.php?id=some-id' ('param' tab) 
      3. Back to the provider Moodle system
        1. Open a DB exploring tool (maybe phpMyAdmin?) and look inside the your-moodle-db.mdl_enrol_lti_lti2_resource_link.settings field to see that the course 'idnumber' from the consumer system is available.
      Show
      Follow instruction  for setting up a Moodle 'provider' course As system admin, turn on LTI authentication As system admin, turn on LTI enrollment Create a Moodle course and "publish" it with the course LTI provider tool. On a remote 'consumer' Moodle system Login as a Manager Create or open a Moodle course, and setup an External Tool activity. use the settings from the previous section (section 1.3) Moodle provider system. Login as a Teacher Go into the course settings and add a test value ('TST22313') to the course 'idnumber' setting Login as a student Open the browser's "Inspect elements" (Developer tools) and switch to the Network tab. While the Network tab is open, go into the course and click the External tool (LTI) link to the remote Moodle provider course, and make sure the 'lis_course_section_sourcedid' parameter is passed to the ' https://your-other-moodle-provider/enrol/lti/tool.php?id=some-id'  ('param' tab)  Back to the provider Moodle system Open a DB exploring tool (maybe phpMyAdmin?) and look inside the your-moodle-db.mdl_enrol_lti_lti2_resource_link.settings field to see that the course 'idnumber' from the consumer system is available.
    • Affected Branches:
      MOODLE_34_STABLE, MOODLE_35_STABLE
    • Fixed Branches:
      MOODLE_36_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-61110_master

      Description

      Connecting two Moodle systems with LTI provider and consumer, the consumer system sends the Moodle course 'idnumber' inside the 'lis_course_section_sourcedid' variable, when a user is launching an LTI link from within a course. while variables like 'lis_result_sourcedid' and 'lis_outcome_service_url' are saved into the Moodle provider 'mdl_enrol_lti_lti2_resource_link' DB table, the 'lis_course_section_sourcedid' is not saved.

      LTI Outcome service is used to sync ONLY the final grade from the provider course, while teachers (and students) on the consumer Moodle course wish to get a detailed learning analytics and progress reports on each of the activities on that remote provider course. That information is also required by the SIS that is managing students academic records for that consumer Moodle system. and so...

      We developed a local WS on the provider side that is helping the consumer Moodle and the consumer SIS to get a full report of student's grades and learning progress inside the Moodle provider by using Web services. those web services needs to know from which Moodle consumer course the student was LTI enrolled into the course.

      For this to work properly, I am suggesting the following tiny patch to Moodle core ltiprovider code, which enables the saving of the value that is passed through the LTI initial authentication and user enrollment into the provider system. 

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                3/Dec/18

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours
                2h