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

Several additions to External Tool (LTI)

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      A lot of the LTI service related changes can be tested with the following:

      1. Create a new General Tool
      2. For the Launch URL, use: http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php
      3. Upon launch you can verify launch parameters.
      4. In addition, upon launch, there is a link to send back grade data. In order to test this, your site must be publicly available. But, with this, you can test reading the current grade in Moodle, sending back a new grade to Moodle or deleting the grade in Moodle.

      For the ltisource plugin updates, one would have to author a plugin to test this functionality. If that is not possible, then just testing to make sure that the new code doesn't cause regression should suffice:

      • Ensure you can backup/restore a General Tool.
      • Ensure you can perform an LTI launch. Use the instructions above to test launching.

      For grade updates, ensure grades in the gradebook are updated correctly when the grade is changed in the General Tool instance settings. To fully test grades though, you need to test on a public site and send grade data to the site. To do this, please refer back up to the first set of testing instructions.

      For testing the resize JS in mod/lti/view.php, use the following:

      1. Create a new General Tool
      2. For the Launch URL, use: http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php
      3. Select "Embed without blocks" for the Launch Container.
      4. Save changes and view the activity.
      5. Resize the window. The embedded LTI object should resize after the window has resized.

      For testing deprecated mod/lti/grade.php file:

      1. Create a General LTI activity. (Launch URL can be http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php)
      2. Make sure the General LTI activity is graded.
      3. Navigate to the course gradebook and look at the Grader Report.
      4. Find the column for the General LTI activity and click on the column header (EG: click on the name of the activity).
      5. The link should take you to viewing the General LTI activity. If debugging is set to developer, then it will also show you a debug message about the mod/lti/grade.php file being deprecated.

      For testing changes to mod/lti/settings.php file:

      • Ensure that Site administration > Plugins > Activity modules > LTI page still loads up correctly as it did before this ticket. Any problems should apparent like, section error or LTI section is not a page, but rather a folder. It should only be a folder if there is a LTI source plugin that has a settings.php file.

      Lastly, be sure to run unit tests for mod/lti.

      Show
      A lot of the LTI service related changes can be tested with the following: Create a new General Tool For the Launch URL, use: http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php Upon launch you can verify launch parameters. In addition, upon launch, there is a link to send back grade data. In order to test this, your site must be publicly available. But, with this, you can test reading the current grade in Moodle, sending back a new grade to Moodle or deleting the grade in Moodle. For the ltisource plugin updates, one would have to author a plugin to test this functionality. If that is not possible, then just testing to make sure that the new code doesn't cause regression should suffice: Ensure you can backup/restore a General Tool. Ensure you can perform an LTI launch. Use the instructions above to test launching. For grade updates, ensure grades in the gradebook are updated correctly when the grade is changed in the General Tool instance settings. To fully test grades though, you need to test on a public site and send grade data to the site. To do this, please refer back up to the first set of testing instructions. For testing the resize JS in mod/lti/view.php, use the following: Create a new General Tool For the Launch URL, use: http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php Select "Embed without blocks" for the Launch Container. Save changes and view the activity. Resize the window. The embedded LTI object should resize after the window has resized. For testing deprecated mod/lti/grade.php file: Create a General LTI activity. (Launch URL can be http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php ) Make sure the General LTI activity is graded. Navigate to the course gradebook and look at the Grader Report. Find the column for the General LTI activity and click on the column header (EG: click on the name of the activity). The link should take you to viewing the General LTI activity. If debugging is set to developer, then it will also show you a debug message about the mod/lti/grade.php file being deprecated. For testing changes to mod/lti/settings.php file: Ensure that Site administration > Plugins > Activity modules > LTI page still loads up correctly as it did before this ticket. Any problems should apparent like, section error or LTI section is not a page, but rather a folder. It should only be a folder if there is a LTI source plugin that has a settings.php file. Lastly, be sure to run unit tests for mod/lti.
    • Affected Branches:
      MOODLE_26_STABLE
    • Fixed Branches:
      MOODLE_28_STABLE
    • Pull Master Branch:
      MDL-44902_LTI_Addtions

      Description

      Changes:

      • LTI service related changes:
        • Fixing exceptions in OAuth library.
        • Added new launch option, Existing window: replaces entire page with the LTI object.
        • The LTI tool ID used to perform the launch is now sent with the LTI launch parameters. This is sent back to Moodle on subsequent requests.
        • Added $CFG->mod_lti_forcessl to force SSL on all LTI launches.
        • Added new LTI launch parameter: tool_consumer_instance_name. Default value is site full name, but can be customized with $CFG->mod_lti_institution_name.
        • The LTI grade service endpoints now set the affected user to the session. This was required for event listeners.
        • Fix the grade deletion service. Was deleting the grade item instead of just the grade.
        • Send error response when LTI instance does not accept grades and grades are being sent.
        • Added a method for writing incoming LTI requests to disk for debugging. Disabled by default.
      • Changes for ltisource plugins:
        • Can now to plug into backup/restore.
        • Can now have settings.php files.
        • Can now hook into the LTI launch and edit parameters.
      • Several grade changes:
        • Added standard_grading_coursemodule_elements to LTI instance edit form. This means LTI instances can be configured with a grade.
        • No longer assumes that grade is out of 100.
        • Replaced mod/lti:grade capability with mod/lti:view.
      • JS on mod/lti/view.php for resizing the content object has been converted to YUI3.
      • Fixed misspellings in language file.
      • Added hooks for log post and view actions.
      • Bug fix for lti_get_url_thumbprint() when the URL is missing a schema.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bushido Mark Nielsen
              Reporter:
              bushido Mark Nielsen
              Integrator:
              Eloy Lafuente (stronk7)
              Tester:
              Frédéric Massart
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                10/Nov/14