Stop displaying the template in CMS.
This has no effect on already-existing components; it merely prevents
new components from being created with this template.
All functionality has been replaced by the XBlock version [1][2].
Backstory:
This was written by Stanford, circa 2013; it was always a bit of
a hack. While it masquerades as if it were an XBlock/XModule, it's
really a YAML template for the HTML module. It depends on JS/CSS
that is embedded as a first-class citizen of the platform. This has
all caused confusion. Worse, it's a pain to edit/configure/update,
since it uses none of the XBlock infrastructure.
Nearly two years ago, we XBlock-ified the component and have
been running it ever since [1][2]. As such, we no longer support
this "component" and would suggest edX follow suite. Consider this
a request-for-comments on the path forward.
Process:
Deprecation of this module would follow a few steps:
1. Prevent new components from being added in Studio with this template.
- This PR represents step 1.
- This is backward compatible; it will have no effect on
existing components.
2. (optional) Install the XBlock version.
- This allows new ImageModal components to be added, now via the
XBlock.
3. (optional) Identify and convert existing HTML modules to XBlocks [3].
- We have enough of the legacy components in use that we can't
just break support by removing this feature; we need a
conversion process.
- Because these are really just HTML modules with special
contents, we have to query based on file contents (see, I told
you this thing was hacky!):
- All such components must contain an HTML anchor tag with
the class `modal-content`.
- Beyond the query, we don't intend to automate the actual
conversion. Our use of the original component is limited
enough that it's probably not worth converting from one module
type to the other. Exacerbating the situation, because it's
HTML, other changes could have been made to the module that
would prevent automatic parity. As such, we'll work with our
CoureOperations team to convert these manually at Stanford.
4. Remove all references.
- At this point, we can safely remove all supporting static
assets like CSS, JS, etc.
5. Enjoy less technical debt.
[1] https://github.com/Stanford-Online/xblock-image-modal
[2] https://pypi.python.org/pypi/xblock-image-modal/
[3] The one saving grace of the legacy component is that it was designed
to degrade gracefully. Specifically, the HTML itself is just an
image inside a link. The extra platform JavaScript progressively
enhances the display, if the relevant CSS classes are found. As
such, even if you removed all supporting CSS/JS from the platform
tomorrow, existing legacy components would simply render as an image
that links to a larger copy of itself. This is deemed an acceptable
failure mode; graceful degradation FTW!
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
Iframe unit in the studio have accesibility issue as there was no title for
Iframe provided as well as placeholder does not specify what changes to made
to add new iframe
TNL-1073
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')
```