Problem Responsess report w/ problems created via Course Authoring

Hi there! I noticed the problem created via Course Authoring has a slightly different XML structure. For this reason reports missing some of the data, such as Answer, Correct Answer, and Question:

I try to fix some behavior in fix: Adaptation for the Course Authoring problems structure. But still have some issues with:

  • Custom Python-evaluated input
  • Custom JavaScript display and grading
  • Problem where a single answer can match more than one or a range of correct answers

And a thing I want to discuss: Course authoring provides the possibility to add a question or answer as an object WYSIWYG can handle, like tables, images, formatted links, etc. So how can we display these complex structures in a report?

I propose adding some length limit for the report field and replacing it only in the reports with Correct/Incorrect

Here is an example of possible answer content based on Single select:

  • Choice with table:
<choice correct=\"true\">\n        <table border=\"1\" style=\"border-collapse: collapse; width: 99.9422%;\">\n          <tbody>\n            <tr>\n              <td style=\"width: 49.9448%;\">Row1Col1</td>\n              <td style=\"width: 49.9448%;\">Row1Col2</td>\n            </tr>\n            <tr>\n              <td style=\"width: 49.9448%;\">Row2Col1</td>\n              <td style=\"width: 49.9448%;\">Row2Col2</td>\n            </tr>\n          </tbody>\n        </table>\n      </choice>
  • Choice with image:
 <choice correct=\"true\">\n        <p>\n          <img style=\"width: 182px;\" alt=\"30 Cute Cat Photos \u2014 Best Photos of Cats\" id=\"dimg_27\" src=\"data:image/jpeg;base64,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\" data-csiid=\"25\" data-atf=\"1\"></img>\n        </p>\n      </choice>\n
  • Choice with formatted link:
<choice correct=\"false\">\n        <p>\n          <a href=\"https://google.com\" title=\"Glink Title\" target=\"_blank\" rel=\"noopener\">Google_link</a>\n        </p>\n      </choice>\n
  • Choice with text:
<choice correct=\"true\">\n        <p>Plain text</p>\n      </choice>\n

As you can see most of the answers are wrapped with the <p> tag(except tables that have their own <table> tag).

1 Like