/
githubmirror
/
edx-platform
ОбзорДокументацияВойти
/
githubmirror
/
edx-platform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
edx-platform/
xmodule/
..
assets

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
assetstore

refactor: remove unused assetstore exceptions

4 года назад
capa

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
contentstore

feat: remove mongodb_proxy in favor of MongoDB's built-in retryReads (#37011)

год назад
docs

feat: Send xqueue submissions to edx-submission

год назад
js

fix: limit repeated HLS fragment load retries

месяц назад
modulestore

feat: enable edxnotes by default and add OAuth client fixture for tests (#388)

18 дней назад
partitions

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
static

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
templates

docs: Update edx.rtd.io links to docs.openedx.org

год назад
tests

feat: enable edxnotes by default and add OAuth client fixture for tests (#388)

18 дней назад
util

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
video_block

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
README.rst

refactor: Completely remove Blockstore (#34739)

2 года назад
__init__.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
annotatable_block.py

fix: Allow tests for Extracted & Builtin Annotatable XBlock (#36246)

год назад
annotator_mixin.py

feat: preserve image alt text while converting html to text (#36333)

год назад
block_metadata_utils.py

refactor: rename descriptor -> block within remaining xmodule

3 года назад
capa_block.py

fix: reorder showanswer checks to restore expected behavior in preview mode (#50)

8 месяцев назад
conditional_block.py

revert: fix: support parsing the pointer-tag OLX for external XBlocks (#37426)

10 месяцев назад
course_block.py

docs: Update edx.rtd.io links to docs.openedx.org

год назад
course_metadata_utils.py

feat: disable allowed enrollment if enrollment closed

4 года назад
data.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
discussion_block.py

Add Django settings flags to roll out the extracted XBlocks (#35549)

2 года назад
editing_block.py

fix: allow LTI blocks to be loaded in a Library v2 context [FC-0076] (#36265)

год назад
edxnotes_utils.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
error_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
errortracker.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
exceptions.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
fields.py

feat: add grading method support for problems with multiple attempts (#33911)

2 года назад
graders.py

feat: shift progress calculation to backend (openedx#37399) (#69)

7 месяцев назад
hidden_block.py

refactor: rename HiddenDescriptor to HiddenBlock

4 года назад
html_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
html_checker.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
item_bank_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
library_content_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
library_root_xblock.py

fix: refactor MakoService to allow specifying template more explicitly (Take 2) (#33077)

3 года назад
library_tools.py

feat: ItemBankBlock (#35553)

2 года назад
lti_2_util.py

refactor: rename module -> block within xmodule

4 года назад
lti_block.py

docs: Update edx.rtd.io links to docs.openedx.org

год назад
mako_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
mongo_utils.py

feat: remove mongodb_proxy in favor of MongoDB's built-in retryReads (#37011)

год назад
poll_block.py

Test PR | Enable Extracted Poll XBlock (#36566)

год назад
progress.py

refactor: rename module -> block within xmodule

4 года назад
randomize_block.py

build: commit builtinblocks Webpack config and stub out `xmodule_assets` (#32685)

3 года назад
raw_block.py

refactor: Completely remove Blockstore (#34739)

2 года назад
seq_block.py

fix: Include metadata for blocked sequence units to enable proper navigation (#36485)

год назад
services.py

refactor: reuse services and wrappers between XBlocks (fixed)

3 года назад
split_test_block.py

fix: enable pylint warnings (#36195)

2 года назад
static_content.py

build: commit builtinblocks Webpack config and stub out `xmodule_assets` (#32685)

3 года назад
stringify.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
studio_editable.py

refactor: inheritable authoring mixin callbacks for editing & duplication (#33756)

2 года назад
tabs.py

fix: use import_string instead of get_storage_class to import the view class

год назад
template_block.py

fix: Improve error for missing (Translate)CustomTagBlock template #35829 (#37013)

год назад
templates.py

fix: add resourcetemplate to xblock_mixins (#37184)

год назад
unit_block.py

refactor: rename module -> block within xmodule

4 года назад
validation.py

Revert "Revert "refactor: move xmodule folder to root""

4 года назад
vertical_block.py

fix: Optimize vertical access scan for dynamic XBlocks

22 дня назад
word_cloud_block.py

test: Allow for Extracted Word Cloud Block | Fix Test Cases (#35983)

год назад
wrapper_block.py

refactor: xmodule/wrapper_module.py -> xmodule/wrapper_block.py

4 года назад
x_module.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
xml_block.py

Revert "Merge ulmo.1 into release-ulmo"

2 месяца назад
README.rst
xmodule
#######
 
The ``xmodule`` folder contains a variety of old-yet-important functionality core to both LMS and CMS, most notably:
 
* the ModuleStore, edx-platform's "Version 1" learning content storage backend;
* an XBlock Runtime implementation for ModuleStore-backed content;
* the "partitions" framework for differentiated XBlock content;
* implementations for the "stuctural" XBlocks: ``course``, ``chapter``, and ``sequential``;
* the implementations of several different built-in content-level XBlocks, such as ``problem`` and ``html``; and
* `assets for those built-in XBlocks`_.
 
.. _assets for those built-in XBlocks: https://github.com/openedx/edx-platform/tree/master/xmodule/assets#readme
 
Historical Context
******************
 
"XModule" was the original content framework for edx-platform, which gives the folder its current name.
XModules rendered specific course run content types to users for both authoring and learning.
For instance, there was an XModule for Videos, another for HTML snippets, and another for Sequences.
 
XModule was succeeded in ~2013 by the "XBlock" framework, which served the same purpose, but put additional focus into flexibility and modularity.
XBlock allows new content types to be created by anyone, completely external the edx-platform repository.
It remains the platform's flagship content plugin framework to this day.
 
For years, edx-platform supported both content frameworks simultaneously via a Frankenstein-ish hybrid XBlock+XModule runtime implementation in this directory.
Fortunately, in 2021, `all remaining XModules were converted into XBlocks`_.
Since support for the XModule framework is no longer necessary, `the BD-13 project`_ is now working to radically simplify the remaining XBlock runtime implementation.
 
This folder was moved from ./common/lib/xmodule/xmodule to its current location, ./xmodule. The reasons that this folder (along with several others) were moved are detailed in `this ADR about the dissolution of sub-projects`_.
 
.. _all remaining XModules were converted into XBlocks: https://discuss.openedx.org/t/xmodule-xblock-conversion-complete/4555
.. _the BD-13 project: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3062333478/BD-13+xModule+--+xBlock+Conversion+Phase+2
.. _this ADR about the dissolution of sub-projects: https://github.com/openedx/edx-platform/blob/master/docs/decisions/0015-sub-project-dissolution.rst
 
Direction
*********
 
**Maintain, Simplify, Extract & Replace.**
 
Currently, this directory contains a lot of mission-critical functionality, so continued maintenance and simplification of it is important.
Still, we aim to eventually dissolve the directory in favor of more focused & decoupled subsystems:
 
* ModuleStore is superseded by the `Learning Core`_ storage backend.
* Learning Core-backend content is rendered by a new, simplified `edx-platform XBlock runtime`_.
* Navigation, partitioning, and composition of learning content is being re-architected in the `openedx-learning`_ library.
* All new XBlocks are implemented in separate repositories, such as `xblock-drag-and-drop-v2`_.
 
To help with this direction, please **do not add new functionality to this directory**. If you feel that you need to add code to this directory, reach out on `the forums`_; it's likely that someone can help you find a different way to implement your change that will be more robust and architecturally sound!
 
.. _Learning Core: https://github.com/openedx/openedx-learning/
.. _edx-platform XBlock runtime: https://github.com/openedx/edx-platform/tree/master/openedx/core/djangoapps/xblock
.. _openedx-learning: https://github.com/openedx/openedx-learning
.. _xblock-drag-and-drop-v2: https://github.com/openedx/xblock-drag-and-drop-v2
.. _the forums: https://discuss.openedx.org