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

Add option to allow a competency rating to be overwritten by activity completion

XMLWordPrintable

    • MOODLE_31_STABLE, MOODLE_32_STABLE, MOODLE_33_STABLE, MOODLE_34_STABLE, MOODLE_401_STABLE
    • MOODLE_401_STABLE
    • MDL-56567-master
    • Hide

      This test is covered by unit tests, but to also test the Moodle forms in the UI follow the instructions below:

      1. Setup a course with 1 test student user (e.g. XS test course)
      2. Enable completion tracking in course via Settings -> Completion Tracking -> Set Enable completion tracking to Yes
      3. Create label activity in course with the name "Test label"
      4. Set the setting 'Students can manually mark activity as complete' In Label activity settings -> Activity completion -> Completion tracking
      5. Create a grade scale In Site admin -> Grades -> Scales -> Add a new scale, use the values Name = 'Test scale', scale = "Not Good, Ok, Good"
      6. Create a competency framework in Site admin -> General -> Competency Frameworks -> Add a new competency framework with the values Name = 'Test framework', idnumber = 'test', scale = Scale created in Step 5
      7. Click the button 'Configure scales'
      8. Select 'Good' for both default and proficient value
      9. Press save changes{}
      10. Click the name of the framework 'Test framework' in the dropdown
      11. Click 'Add competency'
      12. Enter competency details Name = 'Competency 1' , id number = 1, save changes
      13. Navigate to the test course created in Step 1
      14. In the menu More -> Competencies Press 'Add competencies to course'
      15. Select 'Competency 1' then press "Add"
      16. Navigate to the test users profile, the user made with the test course in Step 1
      17. In the user's course profile, select learning plans
      18. Press add new learning plan with the values: Status=active, name = 'Test learning plan'
      19. Add competency 'Competency 1'
      20. Navigate back to test course
      21. Open the settings for the label activity
      22. Under 'Competencies' -> 'Course comptencies' Search for 'Competency 1' and select the competency
      23. Set 'Upon activity completion' to 'Complete the competency'
      24. Save and return to course
      25. Login as test student
      26. Navigate to the test course
      27. Mark label activity as done
      28. In a separate browser logged in as Admin, open the Users learning plan by going to their Profile and clicking 'learning plans' -> Test learning plan
      29. Check that the learning plan records the competency as proficient and rating as "GOOD"
      30. In learning plan, override the rating with "OK" by clicking the name of the competency -> Rate -> Choose rating OK -> Rate
      31. Check that the learning plan shows the rating as "OK"
      32. As the test student viewing the test course, Mark the label as not done by pressing the green 'done' button to undo
      33. Confirm the learning plan shows the rating as "OK"
      34. As the test student, Mark the label as done by pressing the button next to it in the course overview
      35. Confirm the learning plan's latest evidence item says "The activity 'Test label' was completed'
      36. Confirm the learning plan shows the rating as "OK"
      37. Edit the label settings, Under 'competencies' Enable the checkbox 'Override existing competency grade when completed.'
      38. Save the settings
      39. As test student viewing the test course,  Mark the label as not done by pressing the green 'done' button to undo
      40. Confirm  the learning plan shows the rating as "OK"
      41. As test user, Mark label as done by pressing the button next to it in the course overview
      42. Confirm the learning plan's latest evidence item says "The activity 'Test label' was completed'
      43. Confirm  the learning plan shows the rating as "GOOD"
      44. As the admin user in the course, click dropdown More -> Course reuse
      45. In the selector at the top, select Backup
      46. Select Jump to final step -> Continue
      47. Next to the backup created, select Restore -> Continue
      48. In "Restore as a new course" Select a category and press Continue
      49. Press Next -> Next -> Perform Restore -> Continue
      50. Now being in the restored course, enable Edit mode
      51. In the three dot menu next to the "test label" Select edit settings
      52. Under the "Competencies" dropdown Confirm the checkbox Override existing competency grade when completed. is selected

       

      Show
      This test is covered by unit tests, but to also test the Moodle forms in the UI follow the instructions below: Setup a course with 1 test student user (e.g. XS test course) Enable completion tracking in course via Settings -> Completion Tracking -> Set Enable completion tracking to Yes Create label activity in course with the name "Test label" Set the setting 'Students can manually mark activity as complete' In Label activity settings -> Activity completion -> Completion tracking Create a grade scale In Site admin -> Grades -> Scales -> Add a new scale, use the values Name = 'Test scale', scale = "Not Good, Ok, Good" Create a competency framework in Site admin -> General -> Competency Frameworks -> Add a new competency framework with the values Name = 'Test framework', idnumber = 'test', scale = Scale created in Step 5 Click the button 'Configure scales' Select 'Good' for both default and proficient value Press save changes { } Click the name of the framework 'Test framework' in the dropdown Click 'Add competency' Enter competency details Name = 'Competency 1' , id number = 1, save changes Navigate to the test course created in Step 1 In the menu More -> Competencies Press 'Add competencies to course' Select 'Competency 1' then press "Add" Navigate to the test users profile, the user made with the test course in Step 1 In the user's course profile, select learning plans Press add new learning plan with the values: Status=active, name = 'Test learning plan' Add competency 'Competency 1' Navigate back to test course Open the settings for the label activity Under 'Competencies' -> 'Course comptencies' Search for 'Competency 1' and select the competency Set 'Upon activity completion' to 'Complete the competency' Save and return to course Login as test student Navigate to the test course Mark label activity as done In a separate browser logged in as Admin, open the Users learning plan by going to their Profile and clicking 'learning plans' -> Test learning plan Check that the learning plan records the competency as proficient and rating as "GOOD" In learning plan, override the rating with "OK" by clicking the name of the competency -> Rate -> Choose rating OK -> Rate Check that the learning plan shows the rating as "OK" As the test student viewing the test course, Mark the label as not done by pressing the green 'done' button to undo Confirm the learning plan shows the rating as "OK" As the test student, Mark the label as done by pressing the button next to it in the course overview Confirm the learning plan's latest evidence item says "The activity 'Test label' was completed' Confirm the learning plan shows the rating as "OK" Edit the label settings, Under 'competencies' Enable the checkbox 'Override existing competency grade when completed.' Save the settings As test student viewing the test course,  Mark the label as not done by pressing the green 'done' button to undo Confirm   the learning plan shows the rating as "OK" As test user, Mark label as done by pressing the button next to it in the course overview Confirm the learning plan's latest evidence item says "The activity 'Test label' was completed' Confirm   the learning plan shows the rating as "GOOD" As the admin user in the course, click dropdown More -> Course reuse In the selector at the top, select Backup Select Jump to final step -> Continue Next to the backup created, select Restore -> Continue In "Restore as a new course" Select a category and press Continue Press Next -> Next -> Perform Restore -> Continue Now being in the restored course, enable Edit mode In the three dot menu next to the "test label" Select edit settings Under the "Competencies" dropdown Confirm the checkbox Override existing competency grade when completed. is selected  

      I discovered this bug while testing out activity completion with competencies in a course where the ratings do not affect learning plans.

      In short, once a teacher/plan manager/admin has rated a competency manually, the competency's status will not be affected by any activity completion anymore.

      In order to reproduce the problem:

      1. Make sure activity completion is activated.
      2. Set up some competencies in your course (at least 2)
      3. As a teacher, create an assignment, attach a competency with Complete the competency and check a condition of your choice for activity completion.
      4. As a student, complete the condition for activity completion and make sure the checkmark appears next to the activity once it is completed.
      5. As a teacher, check that the student's competency has ben rated with the default value of the competency (this is set up in your framework beforehand). Make sure that an evidence has been created by the activity completion.
      6. Now, rate the student's competency manually to something different. Check that a evidence shows that the competency has been rated by the teacher.

      Here's the fun part:

      1. Create a new assignment and attach the same competency as before with Complete the competency.
      2. As the same student as before, complete the activity completion condition.
      3. As a teacher, check if the rating of the competency has changed. You will see that it did not, but Moodle still created the evidence that tells you it should've. You can rapidly check this by going to the Competency breakdown report.
      4. You can also reproduce the bug by creating a new assignment, give a manual rating to a new competency beforehand and then make the student complete the activity completion condition. You will see that the status never changes no matter what.

      You can reproduce this bug in many ways with many combinations of activity completion conditions. After testing it with forums and other activities, this is the easiest way of doing it. I didn't test it with the Rating a competency also updates the competency in all of the learning plans settings yet. If I have time, I'll post some results later.

        1. 1_MDL-56567.png
          1_MDL-56567.png
          46 kB
        2. 2_MDL-56567.png
          2_MDL-56567.png
          45 kB
        3. 3_MDL-56567.png
          3_MDL-56567.png
          47 kB
        4. 4_MDL-56567.png
          4_MDL-56567.png
          49 kB
        5. 5_MDL-56567.png
          5_MDL-56567.png
          27 kB
        6. completion_check.png
          completion_check.png
          3 kB
        7. result_cbe_noupdate_2.png
          result_cbe_noupdate_2.png
          64 kB
        8. result_cbe_noupdate_3.png
          result_cbe_noupdate_3.png
          42 kB
        9. result_cbe_noupdate.png
          result_cbe_noupdate.png
          64 kB
        10. Screenshot from 2022-10-13 12-26-57.png
          Screenshot from 2022-10-13 12-26-57.png
          36 kB
        11. Selection_035.png
          Selection_035.png
          36 kB

            matthewhilton Matthew Hilton
            melrome Melvin Romero
            Nathan Nguyen Nathan Nguyen
            Ilya Tregubov Ilya Tregubov
            John Edward Pedregosa John Edward Pedregosa
            Votes:
            4 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours, 7 minutes
                2h 7m

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