Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-85532

Activity chooser: add activity purpose filters and clean up code redundancies

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Minor Minor
    • None
    • 5.1
    • Course
    • 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.

       

            Unassigned Unassigned
            tusefomal Ferran Recio
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.