Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Remaining XBlocks: Full List

...

Block

...

edx-platform built-in blocks

Direction

Tag(s)

Class

Known couplings, challenges

Real component blocks. Extract these Listed in increasing order of expected difficulty.

poll

xmodule.poll_block:PollBlock

ResourceTemplates

EditingMixin

EmptyRawDataMixin

XmlMixin

XModuleMixin

XModuleToXBlockMixin

add_webpack_js_to_fragment

add_webpack_sass_to_fragment

shim_xmodule_js

word_cloud

xmodule.word_cloud_block:WordCloudBlock

annotatable

xmodule.annotatable_block:AnnotatableBlock

html, and variants

  • about

  • course_info

  • static_tab

xmodule.html_block:HtmlBlock, and variants:

  • xmodule.html_block:AboutBlock

  • xmodule.html_block:CourseInfoBlock

  • xmodule.html_block:StaticTabBlock

problem

xmodule.capa_block:ProblemBlock

video, videoalpha

xmodule.video_block.video_block.VideoBlock

Real component blocks. Extract. Listed in increasing order of expected difficulty.

xmodule.lti_block:LTIBlock

xmodule.discussion_block:DiscussionXBlock

Blocks that have replacements. Deprecate and remove?

xmodule.template_block:CustomTagBlocklti

discussion

xmodule.templatelti_block:CustomTagTemplateBlockLTIBlock

xmodule.templatediscussion_block:TranslateCustomTagBlockDiscussionXBlock

Template blocks. I don’t fully understand these, but Dave says they are very extractable. Need to follow up on this.

customtag

custom_tag_template

several custom tags:

  • book

  • discuss

  • image

  • slides

  • videodev

xmodule.hiddentemplate_block:HiddenBlockCustomTagBlock

xmodule.errortemplate_block:ErrorBlockCustomTagTemplateBlock

xmodule.wrappertemplate_block:WrapperBlockTranslateCustomTagBlock

Special case blocks. These should stay put in edx-platform.

hidden

error

wrapper

xmodule.hidden_block:HiddenBlock

xmodule.error_block:ErrorBlock

xmodule.wrapper_block:WrapperBlock

Structural blocks. Leave them alone for now. Long term, these will be replaced with Learning Core.

library

course

chapter

sequential

unit

vertical

xmodule.library_root_xblock:LibraryRoot

xmodule.course_block:CourseBlock

xmodule.seq_block:SectionBlock

xmodule.seq_block:SequenceBlock

xmodule.unit_block:UnitBlock

xmodule.vertical_block:VerticalBlock

Structural Dynamic blocks. Leave them alone for now. Long term, these will be replaced with Learning Core.

split_test

conditional

library_content

randomize

xmodule.split_test_block:SplitTestBlock

xmodule.conditional_block:ConditionalBlock

xmodule.library_content_block:LibraryContentBlock

xmodule.randomize_block:RandomizeBlockDynamic blocks. Leave them alone for now. Long term, these will be replaced with Learning Core.

Decoupling strategies

ResourceTemplates

Points the runtime to yaml files that allow author to add pre-written versions of blocks. For example, a “multiple choice” template for ProblemBlock. I believe they are all in xmodule/templates.

for each class, is templates_dir_name defined?

  • No → Easy-- no templates! Safe to remove the ResourceTemplates mixin.

  • Yes → Harder. ??

Open question: Do the React editors use these?

EditingMixin

EmptyRawDataMixin

Seem very simple. Just add data, override non_editable_metadata_fields, override get_context

XmlMixin

XModuleToXBlockMixin

XBlockMixin

add_sass_to_fragment

add_webpack_js_to_fragment

shim_xmodule_js