learningequality / kolibri

Kolibri Learning Platform: the offline app for universal education
https://learningequality.org/kolibri/
MIT License
811 stars 684 forks source link

Update `<ResourceSelection />` so that can it can be used in lessons, without breaking the current quiz workflow #12790

Open marcellamaki opened 2 weeks ago

marcellamaki commented 2 weeks ago

Overview

The lesson management workflow (adding resources to lessons) is being updated to use the similar side panel management UX that we introduced in quizzes in 0.17. This issue is one way that we are refactoring the selection of resources and folders, tracking and updating local state, etc. to have a cohesive experience across lessons and quizzes.

The purpose of this issue is to do as minimal a refactor as possible of the existing ResourceSelection component, currently used in quizzes, to allow an MVP use case in lessons without breaking the current quiz functionality. For this issue, you should create an <UpdatedResourceSelection /> component. The purpose of this is not to rearchitect the entire idea of the resource selection, but rather to find the simplified version that can be used in the updated lessons case. Extending the component functionality for the new features of quizzes (i.e. question selection), or even using it in quizzes at all, will happen later and is beyond the scope of this issue.

Related but out of scope tasks and issues:

Description

This new <ResourceSelection /> should be something in between the current version, which is closely connected to quizzes, and the ContentCardList, a child component that renders the resource cards and their corresponding selection, although the state management lives outside of the list.

The component should:

Additional technical considerations:

Variations of the side panel with resource selection

Description of content Reference screenshot
Lessons Minimal "top stuff" in the slot (no breadcrumbs or chips); List is an array of resources (not folders), no tracking of relative location in topic tree Image
Lessons Browsing up and down the tree - breadcrumbs and folder information are present; some elements are iteractive Image
Lessons Search results - search can be across all resources on the device, or scoped to a channel or topic, and this is indicated at the top. search chips (interactive) contain information about the results Image
Quizzes Folder navigation - more "top stuff" (please note that this reflects the current state in quizzes and is used as an example, and may be changed) Image

Goals

The first goal of this issue is to further refine the spec in collaboration with @marcellamaki with inputs from @nucleogenesis and @rtibbles to make final decisions around things like the selection rules. Note that once QA starts working on this and testing, we may encounter a few unpredictable edge cases and need to make further refinements.

The second goal is to update the component:

abhirupPann commented 1 week ago

Hi, @marcellamaki can I work on it ?

MisRob commented 1 week ago

Hi @abhirupPann, thanks for volunteering! This issue is not meant for contribution, but there are another contributing opportunities. See the contributing guidelines including links to issues suitable for contribution for each repository here:

You can also see the list of unassigned "help wanted" or "good first issue" issues across all repositories.