openedx / openedx/openedx-platform

Move content_libraries to cms and mark as stable

Open
#33,428 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Background

The content_libraries django app, exists in the openedx/ source dir, which is used by both LMS and CMS. This means that all content_libraries-related code is available to be imported and invoked in LMS, which could lead to some unintended bugs or architectural issues down the line.

Opinion: Content libraries are used by authors, but NOT learners or instructions. The entire purpose of content libraries is for authors to create content that is NOT visible to the LMS, and then use that content in their courses. There is no reason that content-libraries-supporting code should need to execute in LMS. (We don't have consensus on this opinion.)

Tasks

Figure out whether content_libraries belongs in openedx/ or cms/.

If it belongs in cms/:

Details

TBD. Needs refinement.

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 reviewing openedx/core/djangoapps/content_libraries and searching the repository for LMS and CMS imports or uses of this app. Determine whether the app belongs under cms/djangoapps and identify the refactoring required by those dependencies. Done means ownership is decided, any necessary move and refactor are complete, and the app is marked stable if it is moved.

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
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.