You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before: from xblock_contrib.problem import ProblemBlock
After: from xblock_problem import ProblemBlock
Why?
It matches the structure of xblocks-extra
It allows us to move xblocks into and out of xblocks-extra, xblocks-core, and other repositories without changing their import paths. It decouples their public API from our specific way of structuring the blocks, allowing us to keep the API stable as maintenance needs change and architectural decisions are made.
Should we also rename the xblock module names for xblocks-extra as well
Question is important as I am working on the translations work for these repositories and with this implementation it will create the relevant module names inside openedx-translations/translations
translation path will be on the following pattern
openedx-translations/translations/xblocks-contrib/MODULE_NAME/conf/locale/en/LC_MESSAGES/django.po
For e.g. openedx-translations/translations/xblocks-contrib/xblock_pdf/conf/locale/en/LC_MESSAGES/django.po
Should we also rename the xblock module names for xblocks-extra as well
No, I think we should keep the import paths unchanged, since those are existing blocks which external sites have references to and we don't want to break them unnecessarily. On the other hand, we can safely change the core xblock paths this one time because (currently) control all of the references to them through openedx-platform.
Question is important as I am working on the translations work for these repositories and with this implementation it will create the relevant module names inside openedx-translations/translations
@farhan is it possible to drop xblocks-contrib from those translation resources name, so that we have:
No, I think we should keep the import paths unchanged, since those are existing blocks which external sites have references to and we don't want to break them unnecessarily. On the other hand, we can safely change the core xblock paths this one time because (currently) control all of the references to them through openedx-platform.
Alright, make sense
@farhan is it possible to drop xblocks-contrib from those translation resources name, so that we have:
openedx-translations/translations/xblock_problem/conf/locale/en/LC_MESSAGES/django.po
openedx-translations/translations/xblock_pdf/conf/locale/en/LC_MESSAGES/django.po
and so on
?
I think it's not possible as per openedx-platform current implementation, repository-name directory is required to match the lookup
Activity
build: Restructure repo & rename to xblocks-core
build: Restructure repo & rename to xblocks-core
build: Restructure repo & rename to xblocks-core
build: Restructure repo & rename to xblocks-core
kdmccormick commentedon May 4, 2026
WIP: #244
build: Restructure repo & rename to xblocks-core
chore: Use top-level xblock_ folders instead of xblocks_contrib
build: Restructure repo & rename to xblocks-core
farhan commentedon May 5, 2026
@kdmccormick Thanks for creating the story,
Should we also rename the xblock module names for xblocks-extra as well
Question is important as I am working on the translations work for these repositories and with this implementation it will create the relevant module names inside openedx-translations/translations
translation path will be on the following pattern
openedx-translations/translations/xblocks-contrib/MODULE_NAME/conf/locale/en/LC_MESSAGES/django.poFor e.g.
openedx-translations/translations/xblocks-contrib/xblock_pdf/conf/locale/en/LC_MESSAGES/django.poRelevant PR:
https://github.com/openedx/xblocks-extra/pull/35/changes#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R63
kdmccormick commentedon May 5, 2026
No, I think we should keep the import paths unchanged, since those are existing blocks which external sites have references to and we don't want to break them unnecessarily. On the other hand, we can safely change the core xblock paths this one time because (currently) control all of the references to them through openedx-platform.
@farhan is it possible to drop
xblocks-contribfrom those translation resources name, so that we have:?
build: Restructure repo & rename to xblocks-core
build: Restructure repo & rename to xblocks-core
chore: Use top-level xblock_ folders instead of xblocks_contrib
farhan commentedon May 6, 2026
@kdmccormick
Alright, make sense
I think it's not possible as per
openedx-platformcurrent implementation, repository-name directory is required to match the lookupReferences:
https://github.com/openedx/openedx-platform/blob/farhan/remove-legacy-video-editor/common/djangoapps/xblock_django/translation.py#L129
https://github.com/openedx/openedx-platform/blob/2fd58576af9f3e51868c1c242d5fa7192d13fd82/openedx/core/djangoapps/plugins/i18n_api.py#L125
https://github.com/openedx/openedx-atlas/blob/1eb61a69e8a0f9c0911fc5d334066d3a06b3d425/docs/decisions/0001-support-glob-pattern.rst#L70
Here is in-review PR for
xblocks-extraopenedx/xblocks-extra#35
18 remaining items
feat!: Move XBlocks to individual packages under src/
feat!: Move XBlocks to individual packages under src/
chore: Use top-level xblock_ folders instead of xblocks_contrib
chore: Use top-level xblock_ folders instead of xblocks_contrib
chore: Use top-level xblock_ folders instead of xblocks_contrib
feat!: Move XBlocks to individual packages under src/
feat!: Move XBlocks to individual packages under src/
feat!: Move XBlocks to individual packages under src/
chore: Use top-level xblock_ folders instead of xblocks_contrib
feat!: Move XBlocks to individual packages under src/
chore: Use top-level xblock_ folders instead of xblocks_contrib
feat!: Move XBlocks to individual packages under src/
chore: Use top-level xblock_ folders instead of xblocks_contrib
feat!: Move XBlocks to individual packages under src/
feat!: Move XBlocks to individual packages under src/