Skip to content

[Tagging] Clean up Tagging models #85

Description

@pomegranited

Story

"As an Open edX developer, I want the Open edX Tagging and Content Tagging models to be as clearly delineated and simple as possible, so that developing new tagging use cases is straightforward."

Description

While implementing #63 and #77, we ended up using custom Taxonomy and custom ObjectTag classes to achieve the goals of the tagging MVP. There was a lot of back-and-forth on these PRs and changes in direction, and while the result works fine, it could be cleaner.

See comments:

Completion criteria

  • Read the above referenced comments, and address what you think is reasonable here.
  • Review the use of the Taxonomy and ObjectTag subclasses in oel_tagging and content_tagging, and refactor to ensure that the encapsulation makes sense for these models.
  • Use mixins wherever practical to make logic available when subclassing.
  • Review all the model get and filter/exclude clauses used in oel_tagging and content_tagging, and ensure that the appropriate indexes and unique_together constraints are in place.
  • Review and update ADRs to ensure they reflect the approach decided here.

Documentation improvements

  • Updating the ADRs should be sufficient documentation for this change, but also ensure that any changes to classes or their methods is reflected in their docstrings.

Relevant repositories

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions