Extends the common capa response types (string, numeric, multiple
choice, checkbox, dropdown) with feedback and hint
capabilities. "Feedback" refers to feedback shown to the student when
they check the problem, looking at their specific answer. "Hints"
refers to a Hint button in LMS which the student can click at any time
to see hints for that problem. The implementation extends the markdown
syntax to include feedback and hints. There are new Feedback-and-Hint
specific templates in Studio when the author clicks to add a new
problem.
when user try to update a problem the fieldset and legend solution for that
problem is lost because legend and fieldset are not added in the markdownToXml.
So added new markups where fieldset is to be added and used ```>><<``` markup for
legend.
AC-103
There were no label added for problem with adaptive hint so for the question
added the label and insteat of using for attribute used the label as the
parent of input field
TNL-1074
Python code can commonly contain characters that are invalid XML, such
as '<' and '>'. This has proven to be a pain point for instructors
implementing custom Python grading functions for their JSInput problems
(see sample code below).
This change creates a more robust template from which to make
modifications.
```python
# This is an XML syntax error, when not inside a CDATA section.
if i < 0:
print('negative')
```
Named `FormulaEquationInput` (name up for debate)
- Based off ChemEqnIn
- Add FormulaEquationInput in inputtypes.py
- Add a call to a skeleton method for a preview
javascript:
- Queue up some MathJax
- Put some ordering on the AJAX requests: add a parameter when the request was started, when it returns check that it isn't outdated before displaying the preview
- Tests
Note: we moved the `jsinput` tests and DISABLED them, because they were causing the tests to fail.
The defaults used to be rerandomize=always, showanswer=closed. This is
preserved for capa problems being imported from XML. However, for
courses, and for problems created in Studio, the default has been
changed to never/finished, to match the previous defaults used by
Studio.
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.