• Icon: Sub-task Sub-task
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • 4.5
    • Gradebook
    • MOODLE_405_STABLE
    • Hide

      Setup

      • Checkout the branch or cherry pick the commits, making sure the DB gets updated.

      Testing

      • Run the core_exemptions_testsuite.
        • As the tests are relatively extensive, and the API is intended to be used by other systems and plugins, manual testing should not be required.

      Review

      • Feedback on test coverage is appreciated.
      • Unlike the favourites subsystem, where each user has their own favourites, exemptions are not limited to users and have wider visibility.
      • The exemptions subsystem is designed to be used by other components, and it is expected these components will handle backup and restore and web service functionality as required.
      Show
      Setup Checkout the branch or cherry pick the commits, making sure the DB gets updated. Testing Run the core_exemptions_testsuite. As the tests are relatively extensive, and the API is intended to be used by other systems and plugins, manual testing should not be required. Review Feedback on test coverage is appreciated. Unlike the favourites subsystem, where each user has their own favourites, exemptions are not limited to users and have wider visibility. The exemptions subsystem is designed to be used by other components, and it is expected these components will handle backup and restore and web service functionality as required.
    • Hide

      Code verified against automated checks with warnings.

      Checked MDL-82119 using repository: https://github.com/catalyst/moodle

      Should these errors be fixed?

      Built on: Mon 02 Dec 2024 03:16:33 AM UTC

      Show
      Code verified against automated checks with warnings. Checked MDL-82119 using repository: https://github.com/catalyst/moodle main (0 errors / 3 warnings) [branch: MDL-82119 | CI Job ] overview (0/0) , phplint (0/0) , phpcs (0/0) , js (0/0) , css (0/0) , phpdoc (0/0) , commit (0/0) , savepoint (0/0) , thirdparty (0/0) , externalbackup (0/3) , grunt (0/0) , shifter (0/0) , mustache (0/0) , gherkin (0/0) , Should these errors be fixed? Built on: Mon 02 Dec 2024 03:16:33 AM UTC

      Why we want it as an subsystem?

      It can be reusable. Some potential use cases I can think of:

      • Exclude user from penalty
      • Allow user with special need can skip certain assignments or requires alternative assessment methods. We can display  a tailored message for exempted users.

       

      This will work similar to core_favorites:

      https://moodledev.io/docs/4.4/apis/subsystems/favourites

       

      This allows to add user to an exemption list for a given context.

      For example, regards an assignment context with penalty enabled.

      There are some students with special consideration, and we want to exclude those student from the penalty.

       

      The DB field should have:

      • component: the component that the exemption will be applied, such as core_grades
      • area: the area in that component, such as late_penalty
      • contextid: could be module context id or course context id
      • userid: the user
      • A field to flag if the exemption is added at course level and it is removed at module level

       

      Functions:

      • Provide a generic form that we can add user at a course/module context for grade component
      • Show list of enrolled user for selection.

       

       

       

       

       

            avdb Alexander Van der Bellen
            Nguyen Nathan Nguyen
            Nathan Nguyen Nathan Nguyen
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 minutes
                2m

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