Skip to content

[Tagging] Automatically add system tags for Author #91

Description

@pomegranited

Story

"As a content author, I want the system to maintain automatic tags on my content so that I don't have to perform these tasks manually when creating/updating content."

Full description

Follow up to

Implement automatic tagging for the system taxonomies defined in the MVP. These tags should be created/updated automatically from the content itself, triggered by the create/update events for courses, blocks, libraries, and library blocks provided by #78

Completion criteria

  • PR against edx-platform which addresses the behavioral specifications below, and adds the requested management command to manually trigger tag creation.
  • (Optional) PR against openedx-learning for any logic to extend oel_tagging that may be useful outside of the "content" context.
  • Automated testing must cover common paths in behavioral specification.

Behavioral specifications

Author system taxonomy:

  • When the user creates a new course, block, library, or library block:
    • a new ObjectTag for that object is created against the Author Taxonomy.
      Use the content author's User record, and ensure the ObjectTag is linked to that User so that changes to the User's {{name}} will be reflected when fetching the object tag value.
  • When the user updates an existing course, block, library, or library block:
    • if the object already has a Author ObjectTag, no change is made to that tag. (Author {{name}}s may change, but the original content author will never change.)
    • if the object does not have an Author ObjectTag, one is created against the Author Taxonomy, same logic as with new objects.
  • When the user deletes a course, block, library, or library block:
    • any existing Author ObjectTags for this object are deleted.
  • When an operator runs the "update tags" management command with a given "content author user ID" and a list of course, block, library, or library block IDs, a new Author ObjectTag is created if one does not already exist.

Documentation updates & improvements criteria

  • Ensure that the management command and its options are fully documented.

Relevant repositories

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions