Done
Pinned fields
Click on the next to a field label to start pinning.
Details
Details
Assignee
Dave Ormsbee
Dave Ormsbee(Deactivated)Reporter
Open Source Pull Request Bot
Open Source Pull Request BotURL
Customer
PR Number
25,570
Repo
edx/edx-platform
Contributor Name
Usman Khalid
Github Lines Added
139
Github Lines Deleted
135
Fix versions
Priority

Zendesk Support
Zendesk Support
Created November 10, 2020 at 10:56 PM
Updated April 16, 2021 at 7:13 PM
Resolved January 7, 2021 at 3:51 PM
Converts the Error XModule and NonStaffError XModule into XBlocks.
Part of [XModule to XBlock Conversion work](https://openedx.atlassian.net/wiki/spaces/AC/pages/1472790755/XModule+to+XBlock+Conversion).
*Testing instructions*:
In a course add a video xblock and an annotatable xmodule ([howto](https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/annotation.html)) and publish them.
Cherry-pick the second commit in this PR with the message: "Temp code for testing.".
View the xblock and xmodule in studio and LMS and note the behavior.
Check out this branch and check the behavior of both in studio and LMS again.
*MRO Analysis*
Descriptor MRO | Module MRO | Block MRO | Notes
------------ | ------------- | ---------------- | ------------
<class 'xmodule.error_module.ErrorDescriptor'> | <class 'xmodule.error_module.ErrorModule'> | <class 'xmodule.error_module.ErrorBlock'>
<class 'xmodule.error_module.ErrorFields'> | <class 'xmodule.error_module.ErrorFields'> | <class 'xmodule.error_module.ErrorFields'>
<class 'xmodule.x_module.XModuleDescriptor'> | |
<class 'xmodule.x_module.XModuleDescriptorToXBlockMixin'> | | <class 'xmodule.x_module.XModuleDescriptorToXBlockMixin'>
<class 'xmodule.x_module.XModule'>
<class 'xmodule.x_module.XModuleToXBlockMixin'>
<class 'xmodule.x_module.XModuleToXBlockMixin'>
<class 'xmodule.x_module.XModuleToXBlockMixin'>
<class 'xmodule.x_module.HTMLSnippet'>
<class 'xmodule.x_module.HTMLSnippet'>
<class 'xmodule.x_module.HTMLSnippet'>
<class 'xmodule.x_module.ResourceTemplates'>
<class 'xmodule.x_module.ResourceTemplates'>
<class 'xmodule.x_module.XModuleMixin'>
<class 'xmodule.x_module.XModuleMixin'>
<class 'xmodule.x_module.XModuleMixin'>
<class 'xmodule.x_module.XModuleFields'>
<class 'xmodule.x_module.XModuleFields'>
<class 'xmodule.x_module.XModuleFields'>
<class 'xblock.core.XBlock'>
<class 'xblock.core.XBlock'>
<class 'xblock.core.XBlock'>
Annotatable XModule
In Studio:

In LMS with staff account (component will not be displayed for non-staff accounts):

Video XBlock
In Studio:

In LMS with staff account (component will not be displayed for non-staff accounts):

This does seem to be unexpected behavior but I have left it unchanged.