Skip to content

Decide and implement usage of InheritanceKeyValueStore #482

Closed

Description

@farhan

Video Block is using InheritanceKeyValueStore in parse_xml method

In extracted Video Block we have copy pasted (for the time beign to avoid blocker) the InheritanceKeyValueStore class definition from inheritance.py of edx-platform to video_utils.py of extracted video block.

In this story we will explore its history (purpose of definition) and will take decision on its usage.

One option could be to move it to xblock upstream so both edx-platform and xblocks-contrib/video use same class.

Following test case is failing because of this class difference, fix it within the scope of this story.
xmodule/tests/test_import.py::ImportTestCase::test_metadata_inherit

Relevant test cases PR: openedx/openedx-platform#37851

Activity

  1. farhan commented on Jan 13, 2026

    @farhan
    Author

    @kdmccormick @feanil
    Please share thoughts on this ticket

  2. moved this to 📋 Backlog in Aximprovements Teamon Jan 14, 2026
  3. moved this from 📋 Backlog to 🔖 Ready in Aximprovements Teamon Jan 14, 2026
  4. feanil commented on Jan 14, 2026

    @feanil
    Contributor

    I think given that this builds on top of the KeyValueStore from the xblock library, and is meant to be generic, we should just move the InheritanceKeyValueStore definition up to the XBlock library.

  5. moved this from 🔖 Ready to 🏗 In progress in Aximprovements Teamon Jan 15, 2026
  6. self-assigned this
    on Jan 15, 2026
  7. farhan commented on Jan 20, 2026

    @farhan
    Author

    InheritanceKeyValueStore usage has been removed by updating parse_xml method in the Extracted Video Block class.
    Thanks to @ttqureshi for helping in it.

    https://github.com/openedx/xblocks-contrib/pull/83/files#diff-f2ca8c95b7d705ded56fd5a55b56aecfd74fe267c097d058e517735bd273a933R637

    Extracted Video Block code cleaning (isort imports, some pylint fixes) has also been done in scope of this PR.

  8. moved this from 🏗 In progress to ✅ Done in Aximprovements Teamon Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions