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

Add Ability to Export Calendar for user or group events

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      Setup
      1. Login as an admin.
      2. Set up a course C1
      3. Enrol at least 3 students s1, s2 and s3.
      4. Create 2 groups G1 and G2 for course C1.
      5. Add s1 and s2 to G1 and add s3 to G2.
      6. Navigate to C1's Calendar.
      7. Create the following events.
        Type Group event Event title
        Site N/A Site event
        Course N/A C1 event
        Group G1 G1 event
        Group G2 G2 event
      8. Set up a course C2
      9. Enrol s1 in C2.
      10. Navigate to C2's Calendar.
      11. Create the following events.
        Type Group event Event title
        Course N/A C2 event
      12. Login as s1.
      13. On the Dashboard, click on Go to calendar in the Upcoming events block or the This month link in the Calendar block.
      14. Create the following event.
        Type Event title
        User S1's user event
      15. Login as s2.
      16. Navigate to the calendar and create the following event.
        Type Event title
        User S2's user event
      17. Login as s3.
      18. Navigate to the calendar and create the following event.
        Type Event title
        User S3's user event
      Exporting all events
      1. Login as s1 and navigate to the calendar.
      2. Click on the Export calendar button.
      3. Under Export, select All events.
      4. Under for select This month then click Export.
      5. Check the contents of the downloaded ICS file.
        • Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file.
        • Confirm that the following events relevant to s1 have been exported.
          • Site event
          • C1 event
          • C2 event
          • G1 event
          • S1's user event
      6. Login as s3 and following the above steps, export all of the events.
        • Confirm that the following events relevant to s2 have been exported.
          • Site event
          • C1 event
          • G2 event
          • S3's user event
      Exporting course events
      1. Login as s1 and navigate to the calendar.
      2. Click on the Export calendar button.
      3. Under Export, select Events related to courses.
      4. Under for select This month then click Export.
      5. Check the contents of the downloaded ICS file.
        • Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file.
        • Confirm that the following events relevant to s1 have been exported.
          • C1 event
          • C2 event
      6. Login as s2 or s3, and export course-related events and check the contents of the ICS file.
        • Confirm that the ICS file only contains the following event:
          • C1 event
      Exporting group events
      1. Login as s1 and navigate to the calendar.
      2. Click on the Export calendar button.
      3. Under Export, select Events related to groups.
      4. Under for select This month then click Export.
      5. Check the contents of the downloaded ICS file.
        • Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file.
        • Confirm that the following events relevant to s1 have been exported:
          • G1 event
      6. Login as s3, and export course-related events and check the contents of the ICS file.
        • Confirm that the following events relevant to s3 have been exported:
          • G2 event
      Exporting user events
      1. Login as s1 and navigate to the calendar.
      2. Click on the Export calendar button.
      3. Under Export, select My personal events.
      4. Under for select This month then click Export.
      5. Check the contents of the downloaded ICS file.
        • Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file.
        • Confirm that the following events relevant to s1 have been exported:
          • S1's user event
      6. Do the above steps for s2 and s3 and confirm that the respective users events for s2 and s3 have been properly exported.
      Behat
      1. Open a terminal window and go to the mooodle root folder.
      2. Run vendor/bin/behat --config /path/to/behat.yml --tags '@core_calendar'. Alternatively, if using MDK, run mdk behat -r --tags @core_calendar --selenium /path/to/selenium.jar.
        • Confirm that there are no errors nor failures.
      Show
      Setup Login as an admin. Set up a course C1 Enrol at least 3 students s1, s2 and s3. Create 2 groups G1 and G2 for course C1. Add s1 and s2 to G1 and add s3 to G2. Navigate to C1's Calendar. Create the following events. Type Group event Event title Site N/A Site event Course N/A C1 event Group G1 G1 event Group G2 G2 event Set up a course C2 Enrol s1 in C2. Navigate to C2's Calendar. Create the following events. Type Group event Event title Course N/A C2 event Login as s1. On the Dashboard, click on Go to calendar in the Upcoming events block or the This month link in the Calendar block. Create the following event. Type Event title User S1's user event Login as s2. Navigate to the calendar and create the following event. Type Event title User S2's user event Login as s3. Navigate to the calendar and create the following event. Type Event title User S3's user event Exporting all events Login as s1 and navigate to the calendar. Click on the Export calendar button. Under Export , select All events . Under for select This month then click Export . Check the contents of the downloaded ICS file. Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file. Confirm that the following events relevant to s1 have been exported. Site event C1 event C2 event G1 event S1's user event Login as s3 and following the above steps, export all of the events. Confirm that the following events relevant to s2 have been exported. Site event C1 event G2 event S3's user event Exporting course events Login as s1 and navigate to the calendar. Click on the Export calendar button. Under Export , select Events related to courses . Under for select This month then click Export . Check the contents of the downloaded ICS file. Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file. Confirm that the following events relevant to s1 have been exported. C1 event C2 event Login as s2 or s3, and export course-related events and check the contents of the ICS file. Confirm that the ICS file only contains the following event: C1 event Exporting group events Login as s1 and navigate to the calendar. Click on the Export calendar button. Under Export , select Events related to groups . Under for select This month then click Export . Check the contents of the downloaded ICS file. Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file. Confirm that the following events relevant to s1 have been exported: G1 event Login as s3, and export course-related events and check the contents of the ICS file. Confirm that the following events relevant to s3 have been exported: G2 event Exporting user events Login as s1 and navigate to the calendar. Click on the Export calendar button. Under Export , select My personal events . Under for select This month then click Export . Check the contents of the downloaded ICS file. Confirm that there are not HTML markup indicating warning/notices/error messages in the ICS file. Confirm that the following events relevant to s1 have been exported: S1's user event Do the above steps for s2 and s3 and confirm that the respective users events for s2 and s3 have been properly exported. Behat Open a terminal window and go to the mooodle root folder. Run vendor/bin/behat --config /path/to/behat.yml --tags '@core_calendar' . Alternatively, if using MDK, run mdk behat -r --tags @core_calendar --selenium /path/to/selenium.jar . Confirm that there are no errors nor failures.
    • Affected Branches:
      MOODLE_28_STABLE, MOODLE_29_STABLE, MOODLE_30_STABLE
    • Fixed Branches:
      MOODLE_32_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-51749-master

      Description

      The Calendar allows a user to export or subscribe to an ical feed of events. However the only filter available is 'All events' or courses events. The calendar view in Moodle allows to filter based on user, group, course & global events.

      It would be good if the calendar would allow for users to choose to subscribe to calendar events which are only 'user events' - e.g. if they have made an appointment, or have signed up to take part into an event.

      The user & group filters already exist for the calendar and the iCal export URL has a userid parameter and allows a parameter of preset_what=courses or preset_what=all which could be extended to support preset_what=user & preset_what=groups

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  5/Dec/16