openedx / openedx/openedx-core

Explicit Author data model in openedx-core

Open
#220 3 comments 0 reactions 1 assignee View on GitHub

@ormsbee is already working on this.

Since Sep 1, 2024.

arch data model
Dominant language
Python
Stars
10
Forks
32
Avg merge
2d 17h
Merged PRs (30d)
12

Description

Proposal

We create an authoring.authors app that has an Author model, and make all Learning Core authoring models link against that instead of the User model.

Rationale

The Learning Core convention to date has been to represent things like created_by using nullable foreign keys to the User table configured via Django settings (which for edx-platform is always the standard auth_user one). But I think that causes a number of issues:

  • It doesn't properly distinguish between when relationships specifically want to address Authors vs. Learners.
  • It makes it more difficult to map information into a second instance. If these three problems were created by "Clyde", and we have a publish log and history with that information in it, a full export should be able to preserve that information–even if "Clyde" does not exist in the system being imported into. (This assumes that we have a very rich export format for backup/restore purposes, possibly a SQLite dump of parts of the DB.)

Open Questions

I'm not sure whether this is a single instance-wide Author that's 1:1 with User, or whether we also have a notion of a LearningPackageAuthor relationship.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.