Enable custom XML serialization in XModule/XBlock mixins.

Description

If one implements an XModule/XBlock mixin currently, there's no way to override the XBlock XML serialization methods (parse_xml/add_xml_to_node) in order to perform custom XML serialization. This is due to non-existent super() calls, the method resolution order (MRO), and the lack of method symmetry.

Here's what needs to be fixed:

  • Resolve the MRO so that super() calls to parse_xml/add_xml_to_node from newly implemented mixins will call the base serialization methods for both XModules/XBlocks.

  • Make the methods symmetric by constructing a block first outside the method - and then calling the appropriate method to add attributes/parse out attributes. Instead of returning a constructed block, the code will operate on an already-constructed block.

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Assignee

Unassigned

Reporter

Julia Eskew

Labels

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Priority

Unset
Configure