Skip to content

Documentation Required: Import course into content library #1348

@sdaitzman

Description

@sdaitzman

Course → Content Library Import Feature

The new Content Libraries has a planned feature to allows users to import content from a course into a content library: openedx/frontend-app-authoring#2519

Purpose

Import copies course content into a v2 content library where it can be managed centrally and referenced across multiple courses. This is distinct from backup/restore (which creates library snapshots for local archiving and preservation) and migration (which moves v1 libraries to v2).

How It Works

Import Flow:

  1. Select a course - Choose a course to import content from
  2. Analysis stage - The system analyzes the course content (may take 20-60 seconds for large courses based on engineer estimates)
  3. Review import details - See a content summary showing supported and unsupported blocks
  4. Import completion - All content is imported into a collection within the target library, and the user is presented with a summary of import status

What Gets Imported:

  • The full course hierarchy is preserved from sections down: sections, subsections, units, and components
  • Each item is also represented at the library's top level for flexible reuse
  • Course settings are preserved where applicable; unset settings stay unset / use default values

Key Features & Considerations

  • Block support - The system identifies which blocks can and cannot be imported, with clear error messaging
  • Re-imports are supported and create content in a separate collection (logged as duplicates). The API supports a merge strategy that tries to update previously imported / matching content.
  • Full course import only - Currently planned to import the entire course rather than selective portions

Related Tickets


Note, the purpose / how it works section / key considerations section above was generated partly using genAI text summary tools, and I've edited it/corrected the details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions