-
Improvement
-
Resolution: Duplicate
-
Minor
-
None
-
5.1
-
None
-
MOODLE_501_STABLE
-
HQ 2025 Sprint I2.1 Moppies
This is the foundation issue for the new activity chooser design.
Although the activity chooser's implementation sufficiently supports the new design, after the initial analysis, it is evident that later additions have created substantial technical debt, compromising future maintainability. Thanks to the prototype's design, we can clean some redundancies and misplaced code before incorporating all the new features.
This issue includes:
- Add purpose filters to the activity chooser. These will be displayed after the current "All," "Starred," and "Recommended" filters.
- Deprecate the "activitychoosertabmode" setting. In the new purpose filters, the resources are a purpose on their own, so having the old separation between activities and resources is redundant (this is important to reduce technical debt).
- Move all the logic related to the webservice processing to the
core_course/local/activitychooser/repository module. Currently, some logic is embedded in the main core_course/activitychooser module.
- Remove redundancies in the templates. The navigation tabs and their content are hard-coded and duplicated several times. Now, the number of filters will increase from 5 to 8, and replicating HTML is no longer an option.
- Move and refactor all logic to generate the templates' data to a new core_course/local/activity chooser/exporter module. Currently, this logic is unnecessarily complex and is embedded in the main core_course/activity chooser module.
- Change the modal layout to accommodate a longer list of filters by using a grid layout like the prototype. It is important to note that the goal of this point is not to match the prototype styling (this will be done in another issue), and it will focus on the general grid layout.
- Fix, clean and create behat scenarios related to the activity chooser filtering.
- duplicates
-
MDL-85533 Activity chooser: refactor code to adapt to prototype
-
- Development in progress
-