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

Quiz duplication fails if questions have file links in their texts

    XMLWordPrintable

    Details

      Description

      When you try to duplicate a quiz which has some questions with images or other files URLs like '<img src="http://moodle.devbox16.local/file.php/6/RspQ-2010%20Carbonyl%20Quiz%201/q6ethbr.gif" alt="Q6EthBr" align="bottom" border="0">' it will fail with  error_question_answers_missing_in_db

      It happens because backup_xml_transformer::process_filephp_links on backup and restore_structure_parser_processor::process_cdata on restore treat $@FILEPHP@$ differently.

      The first function replaces file path without a trailing slash, but the second function adds additional slash on restore.

      Because of that restore_qtype_match_plugin::process_match can't match questiontext as data coming from XML has an extra slash and it fails with 'error_qtype_match_subquestion_missing_in_db' exception. 

       

       Steps to replicate:

      1. Create a course.
      2. Restore attached quiz activity into it
      3. Try to duplicate an activity.
         

      As a side effect every time you backup and restore the activity again it adds more extra slashes to the file paths.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dmitriim Dmitrii Metelkin
              Reporter:
              dmitriim Dmitrii Metelkin
              Peer reviewer:
              Tim Hunt
              Integrator:
              Jun Pataleta
              Tester:
              Adrian Greeve
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Tim Hunt, Andrew Nicols, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                10/Jul/17