Skip to content

Documentation Required: Import course into content library #1348

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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