Skip to content

Migrations/Imports: Handle Re-Imports by Creating Copies #2378

@kdmccormick

Description

@kdmccormick

The initial API supports two ways to handle re-imported blocks:

  1. replace_existing == True: When a block is imported a second time, update it. In other words, prefer the source (course) version.
  2. replace_existing == False: When a block is imported a second time, skip it. In other words, prefer the target (library) version.

However, in the UI, we want a third, different behavior: when a block is imported a second time, create it as second forked version.

This means that the API should support three ways to handle reimported blocks:

  1. repeat_handling_strategy == "update"
  2. repeat_handling_strategy == "skip"
  3. repeat_handling_strategy == "fork" <- new

cc @cmltaWt0 - future work for us

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions