Skip to content

Add ability to install third-party xblocks at runtime without needing to rebuild docker image (docker-compose only) #1208

@DawoudSheraz

Description

@DawoudSheraz

Currently, when we install any third-party xblocks via OPENEDX_EXTRA_PIP_REQUIREMENTS or mounts, openedx image needs to be re-build for the following:

  • pip install the package
  • re-build static assets to bring in static assets of xblock
  • xblock translations

While buildx cache can reduce the image build time, we don't the capability to add the xblocks at runtime. This initiative is meant to find out the ways we can do so without having to re-build docker image. One way can be to have a virtualenv that is bind mounted at runtime, though it only resolves the pip install action item and not others.
For now, we can focus only on docker-compose flow and ignore k8s. The said mechanism will allow having src based plugins in tpi where one could easily toggle third-party xblocks (https://codewithemad.ir/openedx-extensions/, https://openedx.org/the-platform/extensions-directory/) .

Metadata

Metadata

Assignees

Labels

enhancementEnhancements will be processed by decreasing priority

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions