Uploaded image for project: 'Moodle app'
  1. Moodle app
  2. MOBILE-2746

Completion checkboxes should only trigger a reload if completion status is used

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: 3.6.1
    • Fix Version/s: 3.6.1
    • Component/s: UX (User eXperience)
    • Labels:
    • Testing Instructions:
      Hide

      This requires a Moodle server running 3.7dev, as it relies on MDL-64123.

      1. Create a course with completion tracking enabled
      2. Create a label "Label 1" with manual completion
      3. Create a label "Label 2" with manual completion
      4. Create a label "Page 1" with automatic completion when viewed
      5. Create a label "Label 3" with no completion, but conditional availability, only available when Label 2 is complete.
      6. Log in to the app as a student and access the course.
      7. Also log in to the moodle site in a web browser, and access the course.
        1. All completion checkboxes should be unchecked, the progress bar should read 0%
      8. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be checked, the progress bar should read 33%.
      9. Refresh the web page.
        1. "Label 1" checkbox should be checked on the web, too.
      10. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be unchecked, the progress bar should read 0%.
      11. Refresh the web page.
        1. "Label 1" checkbox should be unchecked on the web, too.
      12. Click on the "Label 2" checkbox
        1. The page should refresh. "Label 2" checkbox should be checked, the progress bar should read 33%. "Label 3" should be available.
      13. Refresh the web page.
        1. "Label 2" checkbox should be checked on the web, too.
      14. Click on the "Label 2" checkbox
        1. The page should refresh. "Label 2" checkbox should be unchecked, the progress bar should read 0%. "Label 3" should be unavailable.
      15. Refresh the web page.
        1. "Label 2" checkbox should be unchecked on the web, too.
      16. Click on "Page 1"
      17. Click "Back" to return to the course page
        1. "Page 1" checkbox should be checked, the progress bar should read 33%.
      18. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be checked, the progress bar should read 66%.
      19. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be unchecked, the progress bar should read 33%.
      20. Click on the "Label 2" checkbox
        1. The page should refresh. "Label 2" checkbox should be checked, the progress bar should read 66%. "Label 3" should be available.
      21. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be checked, the progress bar should read 100%.
      22. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be unchecked, the progress bar should read 66%.
      23. Make the app offline (set the device to Aeroplane Mode, or set the network to "Offline" in devtools).
      24. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be checked, the progress bar should read 100%. You should see the "Manual completion not synced" message below the label.
      25. Refresh the web page.
        1. "Label 1" checkbox should be unchecked on the web.
      26. Make the app online again. Wait for offline completion to be synced.
        1. The page should automatically refresh. "Label 1" checkbox should be checked, the progress bar should read 100%. You should not see the "Manual completion not synced" message below the label.
      27. Refresh the web page.
        1. "Label 1" checkbox should be checked on the web, too.
      28. Make the app offline again.
      29. Click on the "Label 1" checkbox
        1. The page should not refresh. "Label 1" checkbox should be unchecked, the progress bar should read 66%. You should see the "Manual completion not synced" message below the label.
      30. Refresh the web page.
        1. "Label 1" checkbox should still be checked on the web.
      31. Make the app online again. Wait for offline completion to be synced.
        1. The page should automatically refresh. "Label 1" checkbox should be unchecked, the progress bar should read 66%. You should not see the "Manual completion not synced" message below the label.
      32. Refresh the web page.
        1. "Label 1" checkbox should be unchecked on the web, too.
      Show
      This requires a Moodle server running 3.7dev, as it relies on MDL-64123 . Create a course with completion tracking enabled Create a label "Label 1" with manual completion Create a label "Label 2" with manual completion Create a label "Page 1" with automatic completion when viewed Create a label "Label 3" with no completion, but conditional availability, only available when Label 2 is complete. Log in to the app as a student and access the course. Also log in to the moodle site in a web browser, and access the course. All completion checkboxes should be unchecked , the progress bar should read 0% Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be checked , the progress bar should read 33% . Refresh the web page. "Label 1" checkbox should be checked on the web, too. Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be unchecked , the progress bar should read 0% . Refresh the web page. "Label 1" checkbox should be unchecked on the web, too. Click on the "Label 2" checkbox The page should refresh. "Label 2" checkbox should be checked , the progress bar should read 33% . "Label 3" should be available. Refresh the web page. "Label 2" checkbox should be checked on the web, too. Click on the "Label 2" checkbox The page should refresh. "Label 2" checkbox should be unchecked , the progress bar should read 0% . "Label 3" should be unavailable. Refresh the web page. "Label 2" checkbox should be unchecked on the web, too. Click on "Page 1" Click "Back" to return to the course page "Page 1" checkbox should be checked , the progress bar should read 33% . Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be checked , the progress bar should read 66% . Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be unchecked , the progress bar should read 33% . Click on the "Label 2" checkbox The page should refresh. "Label 2" checkbox should be checked , the progress bar should read 66% . "Label 3" should be available. Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be checked , the progress bar should read 100% . Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be unchecked , the progress bar should read 66% . Make the app offline (set the device to Aeroplane Mode, or set the network to "Offline" in devtools). Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be checked , the progress bar should read 100% . You should see the "Manual completion not synced" message below the label. Refresh the web page. "Label 1" checkbox should be unchecked on the web. Make the app online again. Wait for offline completion to be synced. The page should automatically refresh. "Label 1" checkbox should be checked , the progress bar should read 100% . You should not see the "Manual completion not synced" message below the label. Refresh the web page. "Label 1" checkbox should be checked on the web, too. Make the app offline again. Click on the "Label 1" checkbox The page should not refresh. "Label 1" checkbox should be unchecked , the progress bar should read 66% . You should see the "Manual completion not synced" message below the label. Refresh the web page. "Label 1" checkbox should still be checked on the web. Make the app online again. Wait for offline completion to be synced. The page should automatically refresh. "Label 1" checkbox should be unchecked , the progress bar should read 66% . You should not see the "Manual completion not synced" message below the label. Refresh the web page. "Label 1" checkbox should be unchecked on the web, too.
    • Affected Branches:
      MOODLE_36_STABLE
    • Fixed Branches:
      MOODLE_36_STABLE
    • Pull Master Branch:
      MOBILE-2746_integration
    • Sprint:
      Moodle Mobile 3.6.1

      Description

      On the web, clicking a completion checkbox will only trigger a reload of the page if the completion status is used for conditional availability of other course content.

      On mobile, the page is currently refreshed regardless.  It would be much more performant and a nicer UX if it behaved like it does on the web.

      This is dependant on MDL-64123 so that we know whether or not the completion status is used.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  29/Mar/19