...
- Create a ScorableXBlockMixin that implements rescore_problem(), providing hook methods for specific block types to marshall and unmarshall their scoring data to and from a common format (dict or namedtuple, perhaps).
- Blocks should be able to opt-out of rescorability, either as a whole or depending on configuration. (Survey-type questions, for instance)
- only_if_higher functionality needs to be preserved.
- Implement mixin and hooks for specific block types. (Start with D&D and ORA)
- Refactor CapaBase to use the mixin. (Optional)
- Document process for 3rd party xblocks to take advantage of this implementation.
- Eventing?
Phase 2: SXBM.reset_attempts()
...