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

Matrix communication: Improve extensibility

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Deferred
    • Icon: Minor Minor
    • None
    • 4.4.6, 4.5, 5.0
    • Communication
    • None
    • MOODLE_404_STABLE, MOODLE_405_STABLE, MOODLE_500_STABLE

      Our university would love to use Matrix as a communication provider. However, the Moodle core matrix communication provider is not flexible enough. Moreover, our extensions might not be of general use (see further context below), why I did not provide issues or proposals to patch the core matrix provider in the first place but rather tried by writing my own communication_myprovider plugin which extends the core matrix communication provider.

      in

      communication\provider\myprovider
      

      :

      class communication_feature extends communication_feature_matrix {
      

      In principal I would only need a few lines of code to make the adjustments our specific environment needs but there are a lot of functions which are private rather than protected and therefore need to be copied completely.

      dobedobedoh As you wrote these classes, I would love to hear your opinion on that!

      Further Context: We have a campus management system which serves as an identity provider, this is where we get (sync) most Moodle users and courses from. At the same time we already have a Matrix server, where all university members already have an account. The username in Moodle is not related to the localpart of the Matrix User ID. Therefore I needed to replace the class which manages the matrix users `communication\provider\matrix\classes\matrix_user_manager.php` as well es the functions add add the members to the room and the function that creates users. We do not want moodle to create matrix users, but work with existing matrix user Ids which are also synced from an external source. On the very rare cases where users do not have a Matrix User ID synced this should not lead to errors (failed sync task), rather to a notificataion for the teachers.

            Unassigned Unassigned
            linos André Menrath
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

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