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

Add a custom link communication provider

    XMLWordPrintable

Details

    • MOODLE_403_STABLE
    • MOODLE_403_STABLE
    • MDL-78619-master
    • Hide

      Custom link provider test

      Note: This is also covered by behat and unit tests.

      1. Enable the communication subsystem from site administration > Development > Experimental settings.
      2. Create a new course and enrol a teacher and student into it.
      3. Visit the course as the teacher and navigate to More > Communication.
      4. Select Custom link as the provider.
      5. Set the custom link URL to https://matrix.to/#/#moodledev:moodle.com
      6. Press save changes.
      7. CONFIRM you see the blue communication button at the bottom right of the screen.
      8. Click the communication button and CONFIRM a new tab opens which loads the "Moodle Dev chat" Matrix link, then close that tab.
      9. Run adhoc tasks using the following in the command line in your site's root directory:

        php admin/cli/adhoc_task.php

      10. Refresh the course homepage.
      11. CONFIRM the communication button still exists and CONFIRM clicking it loads the same page as in step 8.
      12. Return to More > Communication, switch the provider to "None" and save.
      13. Re-enable the Custom link provider and repeat steps 5-11, CONFIRMING you see the same outcome.

      Communication button fixes

      1. On the course homepage, expand and collapse the blocks drawer on the right of the page and CONFIRM that the communication button remains directly above the footer button (ie it should move inwards when the drawer is expanded and out when it is collapsed).
      2. Save the attached openertest.html file into your web root (ie localhost).
      3. In the course, set the custom link URL to http://localhost/openertest.html (adjust if you put it somewhere else in your web server).
      4. Once that custom link provider change is saved, click on the communication button.
      5. CONFIRM that you see "test 1 pass" and "test 2 pass" when openertest.html loads, then close the tab.
      6. When you return to the tab you originally came from, CONFIRM it still shows the course homepage, and has not been redirected to DuckDuckGo.
      Show
      Custom link provider test Note: This is also covered by behat and unit tests. Enable the communication subsystem from site administration > Development > Experimental settings. Create a new course and enrol a teacher and student into it. Visit the course as the teacher and navigate to More > Communication. Select Custom link as the provider. Set the custom link URL to https://matrix.to/#/#moodledev:moodle.com Press save changes . CONFIRM you see the blue communication button at the bottom right of the screen. Click the communication button and CONFIRM a new tab opens which loads the "Moodle Dev chat" Matrix link, then close that tab. Run adhoc tasks using the following in the command line in your site's root directory: php admin/cli/adhoc_task.php Refresh the course homepage. CONFIRM the communication button still exists and CONFIRM clicking it loads the same page as in step 8. Return to More > Communication, switch the provider to "None" and save. Re-enable the Custom link provider and repeat steps 5-11, CONFIRMING you see the same outcome. Communication button fixes On the course homepage, expand and collapse the blocks drawer on the right of the page and CONFIRM that the communication button remains directly above the footer button (ie it should move inwards when the drawer is expanded and out when it is collapsed). Save the attached openertest.html file into your web root (ie localhost). In the course, set the custom link URL to http://localhost/openertest.html (adjust if you put it somewhere else in your web server). Once that custom link provider change is saved, click on the communication button. CONFIRM that you see "test 1 pass " and "test 2 pass " when openertest.html loads, then close the tab. When you return to the tab you originally came from, CONFIRM it still shows the course homepage, and has not been redirected to DuckDuckGo.
    • 10
    • Team Hedgehog 2023 Review 2, Team Hedgehog 2023 Sprint 3.1, Team Hedgehog 2023 Sprint 3.2

    Description

      Where institutions have existing communication platforms (eg Slack, Teams, Matrix) and are already maintaining rooms/channels for their classes within that platform, it would be convenient for teachers to be able to link to those as the communication method within their course, without the overhead of having to set up a full provider, or having the LMS performing any administration (room creation, access , permissions etc) that may conflict/overwrite any management already taking place.

      Confirmed requirements

      1. Create a new communication provider.
      2. Add a provider specific field which allows a URL to be provided. This URL will be what is linked on the communication icon within the course.
      3. No administration/management functions (eg room membership, power levels, room name, avatar etc) will be performed by the subsystem/this provider. Any related required provider API methods that need to be implemented will perform no action.

      TBC requirements

      1. Language strings and naming.
      2. Whether any changes are required to remove/reword the "room name" field which is part of the subsystem. This may be useful to retain so teachers can put a description of what they've linked to which other teachers will see, but won't have any impact within the provider itself, since the room won't be created.
      3. Whether anything is required to avoid running tasks which will take no action.

      FAQ

      Why not just make it possible to provide a room ID (or equivalent) within a specific provider such as Matrix?

      Initially, we were considering exactly this, however it introduces a few of unnecessary complexities:

      1. Where rooms are pre-existing, we still don't want room/user administration being completed by the LMS, so all of that administration functionality within the subsystem and providers would have to factor in "if room ID provided, do/do not do xyz".
      2. The fact that  it's essentially providing a link within the consistent communication UI, so there is no reason for it to be implemented or limited per provider since the behaviour will be consistent across the board.
      3. It avoids having to factor custom URL rules into providers.

      Attachments

        Issue Links

          Activity

            People

              michaelh Michael Hawkins
              michaelh Michael Hawkins
              Safat Shahin Safat Shahin
              Huong Nguyen Huong Nguyen
              Ron Carl Alfon Yu Ron Carl Alfon Yu
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

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

                  Clockify

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