Skip to content

[Tagging] Display the # of times each tag has been used #253

@thelmick-unicon

Description

@thelmick-unicon

Overview

What problem are we trying to solve with this feature?
Platform Administrators want to know how many times each tag is used in the LMS. This can help them identify missing content associations or understand which standards are covered most in their instance.

This feature will display the number of times each tag has been associated with content objects across the entire Open edX instance.

The usage count represents the total number of associations for a specific tag (based on existing tagging data), including:

  • Courses
  • Content within courses
  • Content library items

This value corresponds technically to the number of rows in the oel_tagging_objecttag table where tag_id = {this_tag_id} .

The count is informational only and will not currently support selection or clicking, nor introduce reporting or analytics functionality.

In Scope

Functional Behavior

  • Display a usage count for each tag (root and sub-tags).
  • Count includes:
    • All content association types (courses, course content, libraries).
    • Both published and unpublished content.
  • Count reflects direct associations only.
    • No aggregation from child tags.
  • If a tag has no associations, display a visible 0.
  • If a tag is renamed, the usage count remains associated with the tag.
  • Count is displayed only on the Taxonomy Detail page.
  • Count is visible only to users who can access the Taxonomy Detail page (currently Admins).
  • Backend calculates usage count from existing association data.
  • Backend exposes usage count via API.
  • Count does not need to update in real time.
  • Count should reflect the total as of page load or instance cache TTL.
  • Caching is permitted.

UI / UX Requirements

  • The usage count must be clearly distinguishable from the existing child-tag count.
  • Meaning must not be conveyed by color alone.
  • Display must align with the Paragon design system and DataTable components.
  • If Paragon components are insufficient, enhancements may be proposed.
  • Zero must be explicitly displayed, not blank or hidden.
  • Must meet accessibility standards:
    • Proper contrast
    • Pass Axe accessibility tests

Non-Functional Requirements

  • Must not noticeably degrade page load performance.
  • Must work correctly with paginated Paragon DataTable implementation.
  • Must scale across instances with large volumes of tags and associations.
  • Must not require schema changes (existing tagging data is sufficient).
  • Must not expose data beyond current role authorization

Design Reference

Figma: Content Tagging MVP
https://www.figma.com/design/DmUC2e7BAoQsGDq4KgApPa/Content-Tagging-MVP

Figma: Content Tagging updated by Unicon
https://www.figma.com/design/yE6wmSFnokNM4FG1naasly/Content-Tagging-MVP?t=pUExlThj2kpH6qgM-0

Metadata

Metadata

Assignees

No one assigned

    Labels

    verawoodReleased in Verawood

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions