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

Ampersand in site title breaks LTI provider cartridge XML

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      1. Login in as Admin.
      2. Create a Course.
      3. Enable 'Publish as LTI tool' at site level.
        • Go to Site administration > Plugins > Authentication > Manage authentication and enable LTI.
        • Go to Site administration > Plugins > Enrolments > Manage enrol plugins and enable 'Publish as LTI tool'.
      4. Go to the Course.
      5. Go to the Course Administration > Users > Enrolment methods.
      6. Add new 'Publish as LTI tool' method.
        • 'Custom instance name' = (make sure that '&' is present in the name).'
      7. Go back to the course enrolment methods and make sure the newly added LTI method is enabled.
      8. Go to Site administration > Front page settings.
        • Set 'Full site name' = 'fullname&' (make sure that '&' is present in the name).
        • Set 'Short name for site (eg single word)' = 'shortname&' (make sure that '&' is present in the name).
        • Save changes.
      9. Go to the Course.
      10. Go to Course Administration > Published as LTI tools.
        • make sure you can see the 'testname&' LTI tool.
        • make sure the tool is enabled.
      11. Open the 'Cartridge URL' in the browser.
        • make sure fatal error is not being displayed.
        • make sure the xml file is being outputted. 
      Show
      Login in as Admin. Create a Course. Enable 'Publish as LTI tool' at site level. Go to  Site administration > Plugins > Authentication > Manage authentication  and enable LTI. Go to  Site administration > Plugins > Enrolments > Manage enrol plugins  and enable 'Publish as LTI tool'. Go to the Course. Go to the Course Administration > Users > Enrolment methods. Add new 'Publish as LTI tool' method. 'Custom instance name' = (make sure that '&' is present in the name).' Go back to the course enrolment methods and make sure the newly added LTI method is enabled. Go to Site administration > Front page settings. Set 'Full site name' = 'fullname&' (make sure that '&' is present in the name). Set 'Short name for site (eg single word)' = 'shortname&' (make sure that '&' is present in the name). Save changes. Go to the Course. Go to Course Administration > Published as LTI tools. make sure you can see the 'testname&' LTI tool. make sure the tool is enabled. Open the 'Cartridge URL' in the browser. make sure fatal error is not being displayed. make sure the xml file is being outputted.  
    • Workaround:
      Hide

      Get rid of any problematic special characters in your site name

      Show
      Get rid of any problematic special characters in your site name
    • Affected Branches:
      MOODLE_32_STABLE
    • Fixed Branches:
      MOODLE_36_STABLE, MOODLE_37_STABLE
    • Pull 3.6 Branch:
    • Pull 3.7 Branch:
    • Pull Master Branch:
      MDL-57729-master

      Description

      Perhaps ampersands in tool names as well will break the XML.

      This is a regression because old launch URLs would still work

      enrol_lti\helper::set_xpath(): unterminated entity reference in /home/vagrant/moodles/stable_master/moodle/enrol/lti/classes/helper.php on line 637
      

        Attachments

          Activity

            People

            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                8/Jul/19

                Time Tracking

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