-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DEPR]: Extraneous XBlock Mixins #714
Labels
depr
Proposal for deprecation & removal per OEP-21
Comments
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Feb 12, 2024
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Feb 12, 2024
This has been accepted. Removal is in progress: |
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Feb 12, 2024
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Feb 12, 2024
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Feb 22, 2024
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Feb 22, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Mar 18, 2024
Various extraneous classes have been removed from the XBlock API, simplifying its implementation and making debugging of XBlock instances easier. We believe that most, if not all, XBlock API users will be unaffected by this change. Some improvements have also been made to the reference documentation. See CHANGELOG.rst for details. Closes: openedx#714
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Mar 18, 2024
Various extraneous classes have been removed from the XBlock API, simplifying its implementation and making debugging of XBlock instances easier. We believe that most, if not all, XBlock API users will be unaffected by this change. Some improvements have also been made to the reference documentation. See CHANGELOG.rst for details. Closes: openedx#714
kdmccormick
added a commit
to kdmccormick/xblock
that referenced
this issue
Mar 18, 2024
Various extraneous classes have been removed from the XBlock API, simplifying its implementation and making debugging of XBlock instances easier. We believe that most, if not all, XBlock API users will be unaffected by this change. Some improvements have also been made to the reference documentation. See CHANGELOG.rst for details. Closes: openedx#714
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Mar 18, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Mar 19, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
github-project-automation
bot
moved this from Removing
to Removed
in DEPR: Deprecation & Removal
Mar 19, 2024
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Mar 19, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
github-project-automation
bot
moved this from Removed
to Proposed
in DEPR: Deprecation & Removal
Mar 19, 2024
The XBlock PR has landed, but we are still working to apply the new XBlock version to edx-platform: |
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Apr 10, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
kdmccormick
added a commit
to kdmccormick/edx-platform
that referenced
this issue
Apr 16, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
kdmccormick
added a commit
to openedx/edx-platform
that referenced
this issue
Apr 17, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
github-project-automation
bot
moved this from Removing
to Removed
in DEPR: Deprecation & Removal
Apr 22, 2024
11 tasks
KyryloKireiev
pushed a commit
to raccoongang/edx-platform
that referenced
this issue
Apr 24, 2024
This has been a no-op for a long time anyway, since HierarchyMixin has been explicitly mixed into XBlock for as long as I remember. Ref: openedx/XBlock#714
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Proposal Date
2024-01-31
Target Ticket Acceptance Date
2024-02-09
Earliest Open edX Named Release Without This Functionality
Redwood - 2024-04
Rationale
The implementations of the XBlock and XBlockAside classes are chopped into about a dozen tiny mixins. This was done many years ago, probably for some mix of reasons including code organization and theoretical reusability. Now, in 2024 in the openedx GitHub org, there are uses of the XBlock, XBlockAside, and XBlockMixin classes, but we do not see uses of any of the other classes or mixins (other than one extraneous reference to HandlersMixin in edx-platform, which can be removed).
Unfortunately, these mixins make it harder/impossible to write robust type constraints for XBlock and XBlockAside. They also make it harder to find code in the XBlock package. See discussion.
Removal
In an upcoming XBlock 2.0.0 release...
xblock.core.SharedBlockBase
.xblock.mixins
, including...xblock.core.Blocklike
:xblock.mixins.RuntimeServicesMixin
xblock.mixins.ScopedStorageMixin
xblock.mixins.IndexInfoMixin
xblock.mixins.XmlSerializationMixin
xblock.mixins.HandlersMixin
xblock.core.XBlock
:xblock.mixins.ChildrenModelMetaclass
xblock.mixins.HierarchyMixin
xblock.mixins.ViewsMixin
xblock.core.Blocklike
, serving as a shared base forxblock.core.XBlockMixin
,xblock.core.XBlock
, andxblock.core.XBlockAsidse
.xblock.plugin.Plugin
,xblock.core.XBlock
andxblock.core.XBlockAside
.xblock.core.XBlockMixin
include the functionality of these former classes:xblock.mixins.IndexInfoMixin
xblock.mixins.XmlSerializationMixin
xblock.mixins.HandlersMixin
The resulting class hierarchy will look like this:
Replacement
See "Removal"
Deprecation
No plan.
Migration
See "Removal"
Additional Info
No response
Task List
No response
The text was updated successfully, but these errors were encountered: