openedx / openedx/openedx-platform

Improve video integration (VideoBlock, video_config, edx-val, edx-platform)

Open
#37,656 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

We created the video_config service in edx-platform as part of the XBlock Extraction. The new service was a quick way of abstracting out the edx-platform-specific parts of VideoBlock, allowing us to extract the VideoBlock to a new repo.

But video_config is not a perfect interface, for a few reasons:

  • It takes the entire VideoBlock as a parameter to some methods, and modifies the fields on the VideoBlock, which breaks the abstraction.
  • It's more than just config: it's transcripts too.
  • It's somewhat redundant/overlapping with edx-val.
  • It handles Course videos and Library V2 videos in questionably different ways. For example, edx-val is used for Course transcripts but not for library transcripts. Why's that?

For this ticket, suggest refactorings to VideoBlock, video_config, edx-val, and/or the rest of edx-platform that would make the interface cleaner. Things to keep in mind:

  • do we want to invest in edx-val or deprecate it in favor of something else?
  • do we want videos to work without being tied to an xblock?
  • do we want to start fresh with a new video xblock?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the VideoBlock, video_config, and edx-val interfaces and tracing how edx-platform handles Course and Library V2 videos, transcripts, and configuration. Done means documenting and proposing a cleaner boundary among these components, including a decision about edx-val, XBlock coupling, and whether a new video XBlock is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.