Communication: Difference between revisions

From MoodleDocs
(Data flow diagram)
({{Managing a Moodle site}})
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{New features}}
{{Managing a Moodle site}}
 
{{New features}}If the [[Experimental settings|experimental setting]] 'Enable communication providers' (enablecommunicationsubsystem) is checked, admins can offer a way for teachers and learners to communicate within the courses.
 
Currently, there are two communication providers available:
#[[Matrix]] - This creates a Matrix Element room accessible from a Moodle course and with related user management.
#[[Custom link]] - This offers a field to add a URL to an existing service (e.g. an existing Matrix room, Telegram or Google Meet).
 


If the [[Experimental settings|Experimental setting]] Enable communication providers (enablecommunicationsubsystem) is checked, admins can offer [https://en.wikipedia.org/wiki/Matrix_(protocol) Matrix] rooms or custom links to existing rooms for teachers to use with learners in their courses.
{{MediaPlayer | url = https://youtu.be/kVQNFqvpbR8 | desc = Course communication}}
{{MediaPlayer | url = https://youtu.be/kVQNFqvpbR8 | desc = Course communication}}
==Course settings==
==Course settings==
* Teachers can access course communication options from Course navigation > More > Communication if the admin has enabled and configured the feature (see Site administration settings below).
Teachers can access course communication options by navigating to a course and selecting ''More > Communication''. To enable communication for your course, ensure your admin has enabled and configured the feature (see 'Site administration settings' below).
* The different communications integrations are known as "providers".
 
* Each provider can have their own set of individual settings.
The different communication integrations are known as providers. Each provider can have their own settings and can be modified in a course from ''Course navigation > More > Communication.''
* Start by choosing the provider from the available list.
[[File:course_provider.png|alt=Course communication providers|700x700px]]
[[File:course provider.png|alt=Course Image|center|700px]]
 
===Matrix===
After saving the changes, a Communication room will be automatically created when the ad-hoc tasks are run.
* If the admin has set up a Matrix server for the site, the option to select Matrix as a provider will be available. After saving the changes, a Matrix room will automatically be created when the ad-hoc tasks run next. Please note, any changes, creation, update for communication integration happens using ad-hoc tasks, which means the action of a change might take some time according to the ad-hoc task running frequency in the site.
 
* If desired they can give the room a name and a topic for the Matrix room. If they don't give the room a name then the course name is used instead and the topic will be left empty. Topic is a Matrix specific configuration and as explained above, Matrix have its own set of individual settings and room topic is one of them.
Any changes to communication settings will not be immediate. Changes are also handled via ad-hoc tasks and will be determined by how frequently these tasks are run on the site.
[[File:MatrixProvider.png|center|700px]]
 
*Saving the changes will take the Teacher to the course page and will immediately show the following notification that the room creation is pending. [[File:Room creation pending.png|alt=Room creation pending|border]]
=====Pending status=====
*After the task is finished running, if the Teacher comes back to the course, the following notification will be shown to inform that the room creation is done and a sticky icon will be available in the course to access the created room. Please refer to Room/service access section below for more details. [[File:Room creation done.png|alt=Room creation done|border]]
When your Communication room has been saved, but the ad-hoc task has not yet completed, you will see a notification indicating that your room will be ready soon.
*A teacher, non-editing teacher and managers will automatically have the moderator capability in the Matrix room. If desired, this role (communication/matrix:moderator) can be changed in the Define role settings in the Site administration.
 
===Custom link===
[[File:Room creation pending.png|alt=Room creation pending|700x700px]]
If there is an existing room which is not connected to Moodle LMS yet, or a different provider other Matrix is in use, the Custom link can be used as the provider and adding the relevant URL. This provider will allow users to access the room using the Custom link URL provided in the settings form like below and the Room/service access link will take them straight to that room. Please note, the Custom link provider does not intend to have any integration with any provider, this is a way to allow everyone keep using Communication regardless of the plugin being available in Moodle LMS.
 
[[File:CustomLink.png|center|700px]]
=====Ready status=====
===Room / service access===
When viewing the course page after the ad-hoc task has run, you should see a notification indicating that the Communication room is now ready. To access the newly created room, look for the communication icon towards the bottom of the page (refer to 'Room/service access' section below for more details).
Once all the tasks for communication is finished running and the room is created, the room URL will be available from a 'sticky' icon, present on all pages at the bottom of the screen above the information icon. This icon is available to anyone who has access to the course regardless of the capability the user have.
 
[[File:CommIcon.png|center|700px]]
[[File:Room creation done.png|alt=Room creation complete|border|700x700px]]
==Site administration settings==
Communication Providers in Moodle LMS are currently experimental and must be enabled in the "experimental settings". To Enable communication providers:
*Navigate to ''Site administration > Development > Experimental > Experimental settings.''
*Check the checkbox enable communication providers (enablecommunicationsubsystem)
*Click the Save changes button. Once the communication providers experimental setting is enabled they can be configured from Communication plugins administration.


===Room/service access===
Once all the ad-hoc tasks for communication have finished running, and the room is created, the room will be available from a 'sticky' icon on the relevant course pages. Look for the icon towards the bottom of you screen above the information icon. This icon is available to anyone who has access to the course, regardless of their capability.


Admins will then have a new section, Communication, from ''Site administration > Plugins''. From the page Manage communication providers, administrators can configure the installed communication provider plugins for the site if desired and disable/enable the option for teachers to add custom links to messaging rooms in their courses.[[File:Manage communication providers.png|center]]
[[File:CommIcon.png|alt=Access your room/service|700x700px]]


==Site administration settings==
Communication providers are currently an experimental feature and must be enabled by an admin. To enable communication providers:
#Navigate to ''Site administration > Development > Experimental > Experimental settings.''
#Check the 'Enable communication providers' checkbox (enablecommunicationsubsystem).
#Click the 'Save changes' button.
#Once the communication providers experimental setting is enabled go to ''Site administration > Plugins > Communication > Manage communication providers'' to configure your provider.


The currently supported communications providers are:
*Custom link - Allows communication providers only requiring a URL (like Google Meet) to be linked to a Moodle LMS course
*Matrix - Allows for creating a Matrix Element room to a Moodle course, including user management.
===Matrix===
The Matrix communication provider allows Moodle LMS courses to have an associated room in a [https://element.io/ Matrix Element] instance, and can provide adding and removing of participants in a course to a Matrix Element room.


Currently the integration supports the [https://github.com/matrix-org/synapse Synapse] Matrix homeserver. To configure your Moodle LMS instance to connect to a Synapse server you will need the URL of the homeserver, and an API Access token for a Synapse Admin user. You will also need the URL of an Element web server to use.
===Managing communication providers===
[[File:HomeserverURL.png|center]]
Admins will be able to access a new section: ''Site administration > Plugins > Communication > Manage communication providers''. From this page, admins can configure the installed communication provider plugins.  See the sub-pages for more info, eg [[Matrix]]
To configure your Moodle LMS instance to use the Matrix provider:
*Enter the URL of your Synapse server in the Homeserver URL (matrixhomeserverurl) field
*Enter the Synapse server API Access token in the Access token (matrixaccesstoken) field
*Enter the URL of the Element web server in the Element web URL (matrixelementurl) field
*Click Save changes.
====Synapse API Access Token Generation====
To generate an API Access Token for Moodle LMS, you need access to a terminal and an existing username and password for and administrator of your Synapse server instance.


To generate an access token to be used with Moodle LMS, enter the following into a terminal:
[[File:Manage_communication_providers.png|alt=Managing communication providers|700x700px]]
<pre>
curl -XPOST -d '{"type":"m.login.password", "user":"@admin:synapse", "password":"secretpass"}' "https://synapse:8008/_matrix/client/r0/login"
</pre>
*Where the username is:
<pre>
@<user name on home server>:<home server domain>
</pre>
*Password is the admin user's regular password.
The returned value will look something like:
<pre>
{"user_id":"@admin:synapse","access_token":"syt_YWRtaW4_OQNsHwWoObhseRAWmUCs_2T29if","home_server":"synapse","device_id":"JPAIBCQCSB"}
</pre>
The access_token field is the API token to use in the Moodle LMS Matrix communication provider settings.


== Data flow between Moodle LMS and Matrix ==
Current implementation uses the Communication settings to get the Room name and Room topic for Matrix to set to the Matrix room. If those fields are set empty, the course name is used as the room name and the room topic is kept empty. For creating users, it uses the username of the user to create a matrix user in order to add the members to a room. The authentication is handled from Moodle LMS to Matrix or vice-versa. Moodle LMS only create the room and the users if the user is not mapped with Moodle, or not yet been created. The following diagram shows the flow of data between Moodle LMS and Matrix.
[[File:Communication data flow diagram.png|border|center|Communication Data flow diagram]]
==Capabilities==
==Capabilities==
*[[Capabilities/communication/matrix:moderator| Matrix moderator]].
*[[Capabilities/moodle/course:configurecoursecommunication| Configure course communication settings]]. [[es:Comunicación]]
*[[Capabilities/moodle/course:configurecoursecommunication| Configure course communication settings]].
[[de:Kommunikation]]
*[[https://docs.moodle.org/en/Comunicación]]
*[[https://docs.moodle.org/de/Kommunikation]]

Latest revision as of 15:35, 23 February 2024


New feature
in Moodle 4.3!
If the experimental setting 'Enable communication providers' (enablecommunicationsubsystem) is checked, admins can offer a way for teachers and learners to communicate within the courses.

Currently, there are two communication providers available:

  1. Matrix - This creates a Matrix Element room accessible from a Moodle course and with related user management.
  2. Custom link - This offers a field to add a URL to an existing service (e.g. an existing Matrix room, Telegram or Google Meet).


Course communication

Course settings

Teachers can access course communication options by navigating to a course and selecting More > Communication. To enable communication for your course, ensure your admin has enabled and configured the feature (see 'Site administration settings' below).

The different communication integrations are known as providers. Each provider can have their own settings and can be modified in a course from Course navigation > More > Communication. Course communication providers

After saving the changes, a Communication room will be automatically created when the ad-hoc tasks are run.

Any changes to communication settings will not be immediate. Changes are also handled via ad-hoc tasks and will be determined by how frequently these tasks are run on the site.

Pending status

When your Communication room has been saved, but the ad-hoc task has not yet completed, you will see a notification indicating that your room will be ready soon.

Room creation pending

Ready status

When viewing the course page after the ad-hoc task has run, you should see a notification indicating that the Communication room is now ready. To access the newly created room, look for the communication icon towards the bottom of the page (refer to 'Room/service access' section below for more details).

Room creation complete

Room/service access

Once all the ad-hoc tasks for communication have finished running, and the room is created, the room will be available from a 'sticky' icon on the relevant course pages. Look for the icon towards the bottom of you screen above the information icon. This icon is available to anyone who has access to the course, regardless of their capability.

Access your room/service

Site administration settings

Communication providers are currently an experimental feature and must be enabled by an admin. To enable communication providers:

  1. Navigate to Site administration > Development > Experimental > Experimental settings.
  2. Check the 'Enable communication providers' checkbox (enablecommunicationsubsystem).
  3. Click the 'Save changes' button.
  4. Once the communication providers experimental setting is enabled go to Site administration > Plugins > Communication > Manage communication providers to configure your provider.


Managing communication providers

Admins will be able to access a new section: Site administration > Plugins > Communication > Manage communication providers. From this page, admins can configure the installed communication provider plugins. See the sub-pages for more info, eg Matrix

Managing communication providers

Capabilities