110410 Commits

Author SHA1 Message Date
Andrew Nicols
d38c3dfc8e
MDL-77917 communication_matrix: Topic must not be null
The Matrix space/room topic must always be a string. We should normalise
this on the way out of the API.
2023-08-24 23:19:38 +08:00
Andrew Nicols
6d1bd4787f
MDL-77917 communication_matrix: Use v1.7 upload content API
Version 1.7 of the Matrix API adds a new endpoint for uploading media.
`_matrix/media/v1/create` and adds a new path parameter to the existing
`_matrix/media/v3/upload` endpoint.
2023-08-24 11:59:30 +08:00
Andrew Nicols
914686bc5e
MDL-77917 communication_matrix: Support server API versions
This commit brings in support for multiple versions of the Matrix
specification.

A Matrix server is compromised of a number of individually versioned API
endpoints, for example:

    /_matrix/client/v3/createRoom
    /_matrix/client/v3/rooms/:roomid/joined_members
    /_matrix/media/v1/create

The combination of a large number of these individually versioned
endpoints forms a Matrix Specification version.

For example:

* the /_matrix/media/v1/create endpoint was created for version 1.7 of the
  specification, and does not exist in earlier versions.
* in the future a new behaviour or parameter may be created for the
  `createRoom` endpoint and a new endpoint created at:

    /_matrix/client/v4/createRoom

A single server can support multiple versions of the Matrix
specification. The server declares the versions of the specification
that it supports using a non-versioned endpoint at
`/_matrix/client/versions`.

As a Matrix client, Moodle should:
* query the server version endpoint
* determine the combination of mutually supported Matrix specification
  versions
* create a client instance of the highest-supported version of the
  specification.

For example, if Moodle (Matrix client) and a remote server have the
following support:

```
Moodle:      1.1  1.2  1.3  1.4  1.5  1.6  1.7
Server:  r0  1.1  1.2  1.3  1.4  1.5  1.6
```

The versions in common are 1.1 through 1.6, and version 1.6 would be
chosen.

To avoid duplication and allow for support of future features more
easily, the Moodle client is written as:
* a set of classes named `v1p1` through `v1p7` (currently) which extend
  the `matrix_client` abstract class; and
* a set if PHP traits which provide the implementation for individual
  versioned endpoints.

Each client version then imports any relevant traits which are present
in that version of the Matrix Specification. For example versions 1.1 to
1.6 do _not_ have the `/_matrix/media/v1/create` endpoint so they do not
import this trait. This trait was introduced in version 1.7, so the
trait is included from that version onwards.

In the future, if an endpoint is created which conflicts with an
existing endpoint, then it would be easy to create a new client version
which uses the existing common traits, and adds the new trait.

Each endpoint is written using a `command` class which extends the
Guzzle implementation of the PSR-7 Request interface. This command
class adds support for easy creation of:
* path parameters within the URI
* query parameters
* body parameters

This is done to avoid complex patterns of Request creation which are
repeated for every client endpoint.
2023-08-24 11:59:25 +08:00
Sara Arjona
cccc00954d
on-demand release 4.3dev+ 2023-08-22 15:51:24 +02:00
Jun Pataleta
47ca66a776
Merge branch 'MDL-78097-fix' of https://github.com/sarjona/moodle 2023-08-22 15:52:29 +08:00
Sara Arjona
bc67e79cc7
Merge branch 'MDL-78100-int' of https://github.com/Chocolate-lightning/moodle 2023-08-22 09:17:41 +02:00
Mathew May
8237f98814 MDL-78100 gradereport_grader: Behat filter clicking 2023-08-22 14:30:57 +08:00
Sara Arjona
8db9d6dd02
MDL-78097 grade: Improve behat to add columns to compare with
Until MDL-75081 is fixed, you cannot assert table contents by specifying
just a single column.
2023-08-22 08:12:28 +02:00
Jun Pataleta
9b2917f183
Merge branch 'MDL-78468-master' of https://github.com/meirzamoodle/moodle 2023-08-22 11:00:11 +08:00
Ilya Tregubov
d7ad0f8711
Merge branch 'MDL-79089' of https://github.com/paulholden/moodle 2023-08-22 10:51:53 +08:00
Meirza
38a0173e61 MDL-78468 admin: Removed the configs while upgrading 2023-08-22 09:47:39 +07:00
Meirza
4cfa361e0a MDL-78468 admin: Removed devicedetectregex theme setting 2023-08-22 09:47:36 +07:00
Meirza
352e427520 MDL-78468 admin: Removed enabledevicedetection theme setting 2023-08-22 09:30:13 +07:00
Paul Holden
57a12c73f9
MDL-79089 tiny_html: define help link text language string. 2023-08-21 15:55:05 +01:00
Paul Holden
f9bf57c269
Merge branch 'MDL-79071-master' of https://github.com/junpataleta/moodle 2023-08-21 15:32:42 +01:00
Sara Arjona
316cf48a42
Merge branch 'MDL-78097-min' of https://github.com/Chocolate-lightning/moodle 2023-08-21 13:22:04 +02:00
Sara Arjona
b91f34305b
Merge branch 'MDL-78531-master' of https://github.com/aanabit/moodle 2023-08-21 13:09:50 +02:00
Huong Nguyen
5c7a2f6099
Merge branch 'MDL-65887-master' of https://github.com/lucaboesch/moodle 2023-08-21 10:56:54 +07:00
Huong Nguyen
ff8b735d4f
Merge branch 'MDL-78436-master' of https://github.com/kevpercy/moodle 2023-08-21 09:45:57 +07:00
Huong Nguyen
2c3c259b5a
Merge branch 'MDL-78100' of https://github.com/Chocolate-lightning/moodle 2023-08-21 09:40:33 +07:00
Jun Pataleta
ec02ec88f3
MDL-79071 course: An empty alt text is needed for decorative images 2023-08-18 17:03:05 +08:00
Luca Bösch
daffea8964 MDL-65887 workshop: Recalculate + fill the 'Grade for assessment' column 2023-08-18 08:58:35 +02:00
Amaia Anabitarte
baecc57095 MDL-78531 administration: New default course settings section 2023-08-18 08:49:09 +02:00
Ilya Tregubov
e998f14061
weekly release 4.3dev+ 2023-08-18 11:23:49 +08:00
Ilya Tregubov
0b5d35856d
NOBUG: Fixed file access permissions 2023-08-18 11:23:49 +08:00
Eloy Lafuente (stronk7)
8e5d5ad8db
Merge branch 'MDL-78684-master-fix-2' of https://github.com/lameze/moodle 2023-08-17 19:54:39 +02:00
Eloy Lafuente (stronk7)
6b7816befd
Merge branch 'MDL-78684-master-fix' of https://github.com/junpataleta/moodle 2023-08-17 19:46:42 +02:00
Jun Pataleta
ea1a3e0749
MDL-78684 gradereport_grader: Increase window size during Behat run 2023-08-17 21:32:54 +08:00
Simey Lameze
79488ae624 MDL-78684 behat: fix behat failures 2023-08-17 20:37:40 +08:00
Simey Lameze
1d3fc472af
MDL-78684 behat: remove tab and set the focus to the user search field
This commit also does few things:
- Adds the I change window size step back to avoid future randoms.
- Increase the download limit size on a couple of download steps that
have been failing randomly.
- Adds missing @core_grades to tertiary_navigation_searching.feature.
2023-08-17 13:49:12 +02:00
Jun Pataleta
04ee9570ac
Merge branch 'MDL-75762-master' of https://github.com/laurentdavid/moodle 2023-08-17 09:20:12 +02:00
Jun Pataleta
8a75ff0950
Merge branch 'MDL-78938-master' of https://github.com/andrewnicols/moodle 2023-08-17 09:13:20 +02:00
Ilya Tregubov
fc39277058
Merge branch 'MDL-78974' of https://github.com/paulholden/moodle 2023-08-17 09:13:20 +02:00
Ilya Tregubov
d7461c9eff
Merge branch 'master_MDL-78698' of https://github.com/mattporritt/moodle 2023-08-17 09:13:18 +02:00
Andrew Nicols
dcd6ebb7da
Merge branch 'MDL-77695-master' of https://github.com/lameze/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
edf29562cc
Merge branch 'MDL-78576-master' of https://github.com/snake/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
4fcf078ef9
MDL-76557 enrol_lti: Fix unit test docs and convert to provider 2023-08-17 09:12:36 +02:00
Andrew Nicols
2f5a71f899
Merge branch 'MDL-76557-sync-grades-6' of https://github.com/ishatalkin/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
b71bec8475
Merge branch 'MDL-78684-master' of https://github.com/andelacruz/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
ad923a4d96
MDL-77381 qengine: Correct coverage for new test 2023-08-17 09:12:36 +02:00
Andrew Nicols
c622af3dba
Merge branch 'MDL-77381-master' of https://github.com/ScottVerbeek/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
cff6c75289
Merge branch 'MDL-71331' of https://github.com/paulholden/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols
339820fad1
Merge branch 'MDL-71196' of https://github.com/paulholden/moodle 2023-08-17 09:12:34 +02:00
Andrew Nicols
a929d314d0
MDL-78613 core: Add tiny_html to the list of standard plugins 2023-08-17 09:11:46 +02:00
Andrew Nicols
b8f94dffdd
Merge branch 'master_MDL-78613' of https://github.com/mattporritt/moodle 2023-08-17 09:11:46 +02:00
Andrew Nicols
ff3393bec8
Merge branch 'master_MDL-50160' of https://github.com/mattporritt/moodle 2023-08-17 09:11:46 +02:00
Jun Pataleta
3cfaa97d63
Merge branch 'MDL-78922-master' of https://github.com/ilyatregubov/moodle 2023-08-17 09:11:46 +02:00
Sara Arjona
0d86da6163
Merge branch 'MDL-76408' of https://github.com/stronk7/moodle 2023-08-17 09:11:45 +02:00
Ilya Tregubov
f511fffbd3
Merge branch 'MDL-78801-master' of https://github.com/jleyva/moodle 2023-08-17 09:11:45 +02:00
Huong Nguyen
ca3c8f70a1
Merge branch 'MDL-78746-master' of https://github.com/aanabit/moodle 2023-08-17 09:11:44 +02:00