Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write helper function(s) to manage display of metadata tags following prioritization criteria #12525

Closed
4 tasks done
Tracked by #11888
marcellamaki opened this issue Aug 1, 2024 · 1 comment
Closed
4 tasks done
Tracked by #11888
Assignees
Labels
P0 - critical Priority: Release blocker or regression

Comments

@marcellamaki
Copy link
Member

marcellamaki commented Aug 1, 2024

When designing the card display, different user needs were balanced.

  • Coaches want to have relevant information available at a glance, so they can make a quick decision about the relevance of a particular resources
  • Coaches can be overwhelmed by too much information, and due to overwhelm and limited time, select things at the top of the list or randomly, and then end up with resources that are not necessarily the most relevant

To balance these two needs, Jessica has designed a prioritization system for metadata tags on channels and resources, with inputs from the implementations team.

The amount of metadata available will vary widely across channels and resources. The prioritization system ranks the type of metadata and the order. If that metadata exists for the contentNode, it will be displayed, otherwise, the next available piece of metadata in the ranking order will be displayed.

Screenshot 2024-08-27 at 9 27 05 AM Screenshot 2024-08-27 at 9 26 59 AM

Acceptance criteria

  • create a composable in kolibri-common that accepts a contentNode
  • If the contentNode is a channel or a folder, it returns up to 7 tags at one time according to the priority list of usefulness while browsing:
    • Max 3 from Category
    • Max 3 from Level
    • Max 1 from language
    • If there is more than 1 language, display “Multiple languages"
  • If the contentNode is a resource, it returns up to 3 tags at one time according to the priority list of usefulness while browsing:
    • Activity
      • If more than 1 activity, display "multiple learning activities"
    • Duration
    • Level
      • If more than 1, display each
    • Category
      • If more than 1, display each. Display the most specific category available (i.e. "Chemistry", not "Science")
    • Language
    • Show resources / What you need
  • the composable returns an array of translated metadata strings, which can be consumed by the relevant card easily to render each tag
@AllanOXDi
Copy link
Member

completed in 12686

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 - critical Priority: Release blocker or regression
Projects
None yet
Development

No branches or pull requests

2 participants