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

Epic: Create advanced forum reporting

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      Notes:

      1. All tests should be completed together, in order, and following instructions to return to the forum homepage, because part of testing relates to forum/discussion views, which will increment during various page visits.
      2. Related to that, the "number of views" listed in the testing is approximate only, because any mistakes/page changes/refreshes will impact that number. Just check that you are seeing "number of views" counts reasonably similar to those listed, even if they are not exactly the same.
      3. Earliest/latest post times column is covered by behat testing and is time consuming to replicate manually, so has not been tested in detail in the manual testing steps (just check it Look correct, ie today at approx the correct time).

      Setup

      1. Create, a course (course1) with 2 groups, Group A, Group B and Group C, and the following users enrolled:
        User/role First name Last name Groups
        Teacher1 Teacher 1 Group A, Group B
        Student1 Student 1 Group A
        Student2 Student 2 None
        Student3 Student 3 None
      1. Log in as teacher1, and create a new forum (forum1) within course1.
      2. Log in as the following users, and create these discussions in forum1, with the relevant details:
        User Title Attachments
        Teacher1 D1 1 inline, 1 attached
        Teacher1 D2 0
        Teacher1 D3 0
        Student1 D4 0
      1. Create the following replies:
        User Discussion Reply Attachments
        Teacher1 D1 Reply1 0
        Teacher1 D3 Reply2 1
        Student1 D3 Reply3 1
        Student3 D1 Reply5 0

      Test 1 - Student report access

      1. Log in as student1.
      2. Navigate to forum1.
      3. Open the actions menu, and CONFIRM the "Summary report" option is not visible.
      4. Log out and log back in as admin.
      5. Assign the student role the "forumreport/summary:view" capability.
      6. Log out, and log back in as student1.
      7. Navigate back to forum1.
      8. Open the actions menu, and CONFIRM the "Summary report" option is visible.
      9. Click the "Summary report" option.
      10. CONFIRM the forum summary report loads, and includes only a single row, containing details on student1.
      11. CONFIRM the details are as follows:
        First/surname Discussions Replies Attachments Views Date columns
        Student 1 1 1 1 12 Look correct
      1. In the report table, CONFIRM there is no checkbox column to the left of the user's name.
      2. CONFIRM there is also no "With selected users..." dropdown below the table.
      3. In a separate browser, or incognito session, log into the site as admin (while remaining logged in as the student in the other session).
      4. Navigate to Site Administration > Users > Permissions > Define roles, then select the "edit" cog on the Student row.
      5. Uncheck the "forumreport/summary:view" capability and click "save changes".
      6. Return to the window containing your student session (with the report open) and refresh the page.
      7. CONFIRM you are redirected back to the forum1 homepage.
      8. Open the actions menu and CONFIRM the "Forum summary report" option is no longer visible.
      9. Log out.

      Test 2 - Unfiltered report content

      1. Log in as teacher1.
      2. Navigate to forum1.
      3. Open the actions menu, and CONFIRM the "Summary report" option is visible.
      4. Click the "Summary report" option.
      5. CONFIRM the forum summary report loads, and includes all of the following details:
        First/surname Discussions Replies Attachments Views Date columns
        Teacher 1 3 2 3 27 Look correct
        Student 1 1 1 1 13 Look correct
        Student 2 0 0 0 0 Look correct
        Student 3 0 1 0 5 Look correct
      1. Update the report page URL to include "&perpage=1" at the end and press enter.
      2. CONFIRM only one row is now visible in the table.
      3. CONFIRM pagination is now showing 4 pages.
      4. Click the page 3 option and CONFIRM a different user's data is displayed.
      5. Update the URL to include "&page=5" at the end and press enter.
      6. CONFIRM "Nothing to display" is displayed instead of the table.
      7. Remove "&page=5" from the URL, and press enter to re-load the report without pagination.

      Test 3 - Groups filter applied to user list

      1. CONFIRM the groups filter button is visible, displaying the text "Groups".
      2. Click the groups filter button.
      3. CONFIRM the groups filter popover appears, and contains the following checkbox items:
        Group A
        Group B
        No groups
      1. CONFIRM by default all checkboxes are unchecked.
      2. Click "Select all" and CONFIRM all checkboxes are now checked.
      3. Click "Save" and wait for the page to reload.
      4. CONFIRM the groups filter button now displays the text "Groups (all)".
      5. CONFIRM the data in the table still includes all of the following:
        First/surname Discussions Replies Attachments Views Date columns
        Teacher 1 3 2 3 27 Look correct
        Student 1 1 1 1 13 Look correct
        Student 2 0 0 0 0 Look correct
        Student 3 0 1 0 5 Look correct
      1. Click the groups filter button.
      2. CONFIRM all checkboxes are still selected.
      3. Click "Clear" and CONFIRM all checkboxes are now unchecked.
      4. Select the "Group A" checkbox and click "Save".
      5. CONFIRM the report now only includes Teacher1 and Student1 with the following details:
        First/surname Discussions Replies Attachments Date columns
        Teacher 1 3 2 3 Look correct
        Student 1 1 1 1 Look correct
      6. CONFIRM the groups filter button now displays "Groups (1)".
      7. Click the groups filter button, then click "Clear".
      8. Select "Group B" and "No groups", then click "Save".
      9. CONFIRM the groups filter button now displays "Groups (2)".
      10. CONFIRM the report now only includes Teacher1, Student2 and Student3, with the following details:
        First/surname Discussions Replies Attachments Date columns
        Teacher 1 3 2 3 Look correct
        Student 2 0 0 0 Look correct
        Student 3 0 1 0 Look correct
      11. Click the groups filter button.
      12. Uncheck "Group B", so that only "No groups" is selected.
      13. Click save.
      14. CONFIRM the groups filter button now displays "Groups (1)".
      15. CONFIRM the report now only includes Student2 and Student3, with the following details:
        Student 2 0 0 0 Look correct
        Student 3 0 1 0 Look correct
      16. Click the groups filter button.
      17. Click "Clear" and then click "Save".
      18. CONFIRM the groups filter button now displays "Groups".
      19. CONFIRM the report now includes all users, and all columns (including "Number of views"), with the following details:
        First/surname Discussions Replies Attachments Views Date columns
        Teacher 1 3 2 3 5 Look correct
        Student 1 1 1 1 3 Look correct
        Student 2 0 0 0 0 Look correct
        Student 3 0 1 0 0 Look correct

      Test 4 - Bulk user messaging and link to user profiles

      1. CONFIRM there is a checkboxes column to the left of users' names in the report table.
      2. CONFIRM there is a "With selected users..." dropdown below the report table.
      3. CONFIRM that checking/unchecking the checkbox in the heading row of the table applies select all/none to the rest of the table checkboxes.
      4. Select only the checkboxes in the rows for Student1 and Student3.
      5. Open the "With selected users..." dropdown and select "Send a message".
      6. CONFIRM the modal opens.
      7. Type "test1" into the input, then click the cross at the top right of the modal.
      8. CONFIRM the modal has closed.
      9. Reopen the "Send a message" modal, type "test2" into the input, then click cancel.
      10. CONFIRM the modal has closed.
      11. Reopen the "Send a message" modal, CONFIRM the modal heading and submit button display "Send message to 2 people"
      12. Type "test3" into the input, then click the "Send message to 2 people" button.
      13. Scroll up to the top of the report page, and CONFIRM a "Message sent to 2 people" banner is displayed.
      14. Log out, and log in as student1.
      15. CONFIRM the user has received a single message, reading "test3".
      16. Log out, and log in as student2.
      17. CONFIRM the user has not received any messages.
      18. Log out, and log in as student3.
      19. CONFIRM the user has received a single message, reading "test3".
      20. Log out, and log in as Teacher1.
      21. CONFIRM the user has not received any messages.
      22. CONFIRM each users name in the report contains a link.
      23. Click on student2's name and CONFIRM you are redirected to student2's user profile page for course1.
      Show
      Notes: All tests should be completed together, in order, and following instructions to return to the forum homepage, because part of testing relates to forum/discussion views, which will increment during various page visits. Related to that, the "number of views" listed in the testing is approximate only, because any mistakes/page changes/refreshes will impact that number. Just check that you are seeing "number of views" counts reasonably similar to those listed, even if they are not exactly the same. Earliest/latest post times column is covered by behat testing and is time consuming to replicate manually, so has not been tested in detail in the manual testing steps (just check it Look correct, ie today at approx the correct time). Setup Create, a course (course1) with 2 groups, Group A, Group B and Group C, and the following users enrolled: User/role First name Last name Groups Teacher1 Teacher 1 Group A, Group B Student1 Student 1 Group A Student2 Student 2 None Student3 Student 3 None Log in as teacher1, and create a new forum (forum1) within course1. Log in as the following users, and create these discussions in forum1, with the relevant details: User Title Attachments Teacher1 D1 1 inline, 1 attached Teacher1 D2 0 Teacher1 D3 0 Student1 D4 0 Create the following replies: User Discussion Reply Attachments Teacher1 D1 Reply1 0 Teacher1 D3 Reply2 1 Student1 D3 Reply3 1 Student3 D1 Reply5 0 Test 1 - Student report access Log in as student1. Navigate to forum1. Open the actions menu, and CONFIRM the "Summary report" option is not visible. Log out and log back in as admin. Assign the student role the "forumreport/summary:view" capability. Log out, and log back in as student1. Navigate back to forum1. Open the actions menu, and CONFIRM the "Summary report" option is visible. Click the "Summary report" option. CONFIRM the forum summary report loads, and includes only a single row, containing details on student1. CONFIRM the details are as follows: First/surname Discussions Replies Attachments Views Date columns Student 1 1 1 1 12 Look correct In the report table, CONFIRM there is no checkbox column to the left of the user's name. CONFIRM there is also no "With selected users..." dropdown below the table. In a separate browser, or incognito session, log into the site as admin (while remaining logged in as the student in the other session). Navigate to Site Administration > Users > Permissions > Define roles, then select the "edit" cog on the Student row. Uncheck the "forumreport/summary:view" capability and click "save changes". Return to the window containing your student session (with the report open) and refresh the page. CONFIRM you are redirected back to the forum1 homepage. Open the actions menu and CONFIRM the "Forum summary report" option is no longer visible. Log out. Test 2 - Unfiltered report content Log in as teacher1. Navigate to forum1. Open the actions menu, and CONFIRM the "Summary report" option is visible. Click the "Summary report" option. CONFIRM the forum summary report loads, and includes all of the following details: First/surname Discussions Replies Attachments Views Date columns Teacher 1 3 2 3 27 Look correct Student 1 1 1 1 13 Look correct Student 2 0 0 0 0 Look correct Student 3 0 1 0 5 Look correct Update the report page URL to include "&perpage=1" at the end and press enter. CONFIRM only one row is now visible in the table. CONFIRM pagination is now showing 4 pages. Click the page 3 option and CONFIRM a different user's data is displayed. Update the URL to include "&page=5" at the end and press enter. CONFIRM "Nothing to display" is displayed instead of the table. Remove "&page=5" from the URL, and press enter to re-load the report without pagination. Test 3 - Groups filter applied to user list CONFIRM the groups filter button is visible, displaying the text "Groups". Click the groups filter button. CONFIRM the groups filter popover appears, and contains the following checkbox items: Group A Group B No groups CONFIRM by default all checkboxes are unchecked. Click "Select all" and CONFIRM all checkboxes are now checked. Click "Save" and wait for the page to reload. CONFIRM the groups filter button now displays the text "Groups (all)". CONFIRM the data in the table still includes all of the following: First/surname Discussions Replies Attachments Views Date columns Teacher 1 3 2 3 27 Look correct Student 1 1 1 1 13 Look correct Student 2 0 0 0 0 Look correct Student 3 0 1 0 5 Look correct Click the groups filter button. CONFIRM all checkboxes are still selected. Click "Clear" and CONFIRM all checkboxes are now unchecked. Select the "Group A" checkbox and click "Save". CONFIRM the report now only includes Teacher1 and Student1 with the following details: First/surname Discussions Replies Attachments Date columns Teacher 1 3 2 3 Look correct Student 1 1 1 1 Look correct CONFIRM the groups filter button now displays "Groups (1)". Click the groups filter button, then click "Clear". Select "Group B" and "No groups", then click "Save". CONFIRM the groups filter button now displays "Groups (2)". CONFIRM the report now only includes Teacher1, Student2 and Student3, with the following details: First/surname Discussions Replies Attachments Date columns Teacher 1 3 2 3 Look correct Student 2 0 0 0 Look correct Student 3 0 1 0 Look correct Click the groups filter button. Uncheck "Group B", so that only "No groups" is selected. Click save. CONFIRM the groups filter button now displays "Groups (1)". CONFIRM the report now only includes Student2 and Student3, with the following details: Student 2 0 0 0 Look correct Student 3 0 1 0 Look correct Click the groups filter button. Click "Clear" and then click "Save". CONFIRM the groups filter button now displays "Groups". CONFIRM the report now includes all users, and all columns (including "Number of views"), with the following details: First/surname Discussions Replies Attachments Views Date columns Teacher 1 3 2 3 5 Look correct Student 1 1 1 1 3 Look correct Student 2 0 0 0 0 Look correct Student 3 0 1 0 0 Look correct Test 4 - Bulk user messaging and link to user profiles CONFIRM there is a checkboxes column to the left of users' names in the report table. CONFIRM there is a "With selected users..." dropdown below the report table. CONFIRM that checking/unchecking the checkbox in the heading row of the table applies select all/none to the rest of the table checkboxes. Select only the checkboxes in the rows for Student1 and Student3. Open the "With selected users..." dropdown and select "Send a message". CONFIRM the modal opens. Type "test1" into the input, then click the cross at the top right of the modal. CONFIRM the modal has closed. Reopen the "Send a message" modal, type "test2" into the input, then click cancel. CONFIRM the modal has closed. Reopen the "Send a message" modal, CONFIRM the modal heading and submit button display "Send message to 2 people" Type "test3" into the input, then click the "Send message to 2 people" button. Scroll up to the top of the report page, and CONFIRM a "Message sent to 2 people" banner is displayed. Log out, and log in as student1. CONFIRM the user has received a single message, reading "test3". Log out, and log in as student2. CONFIRM the user has not received any messages. Log out, and log in as student3. CONFIRM the user has received a single message, reading "test3". Log out, and log in as Teacher1. CONFIRM the user has not received any messages. CONFIRM each users name in the report contains a link. Click on student2's name and CONFIRM you are redirected to student2's user profile page for course1.
    • Affected Branches:
      MOODLE_38_STABLE
    • Fixed Branches:
      MOODLE_38_STABLE
    • Epic Name:
      Forum reporting
    • Pull Master Branch:
      MDL-66076-master-2

      Description

      This is an epic to capture all of the relevant changes to support enhanced reporting within the Forum.

      This issue duplicates a number of other issues but serves as a clean place for the purposes of project development.

        Attachments

        1. 1. Moodle.png
          1. Moodle.png
          462 kB
        2. 3.8 Forum Activity Report Specification.pdf
          706 kB
        3. Bootstrap.png
          Bootstrap.png
          466 kB
        4. Filter.png
          Filter.png
          48 kB
        5. Filter 2.png
          Filter 2.png
          201 kB
        6. FIlter 3.png
          FIlter 3.png
          88 kB
        7. Filter 4.png
          Filter 4.png
          89 kB
        8. FIlter 5.png
          FIlter 5.png
          23 kB
        9. Filter 6.png
          Filter 6.png
          27 kB
        10. FIlter 7.png
          FIlter 7.png
          63 kB
        11. FIlter 8.png
          FIlter 8.png
          151 kB
        12. Filter 9.png
          Filter 9.png
          67 kB
        13. Screenshot_1.png
          Screenshot_1.png
          199 kB
        14. Screenshot_2.png
          Screenshot_2.png
          214 kB
        15. Screenshot_3.png
          Screenshot_3.png
          218 kB
        16. Screenshot_4.png
          Screenshot_4.png
          228 kB

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  18/Nov/19

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 week, 1 hour, 5 minutes
                  1w 1h 5m