-
Tech Transformation
-
Resolution: Unresolved
-
Medium
-
XL
-
M
-
Later
-
Medium
-
Outcomes
-
6
This project seeks to create a new, standards-compliant, Web Service API for Moodle which puts focus on standardisation, growth, and discoverability.
New web services should be easy for developers to write, test, discover, and consume. Developers (and other entities) looking to integrate with Moodle’s existing web services should have a reduced “learning curve” and be able to self-discover the available functionality. The solution should be consistent with a RESTful design pattern.
Request handling should be performed in a standardised way, and responses should be standards-compliant (where appropriate). For example using standard HTTP verbs, request and response headers, response codes and standard formats like JSON (for response and request payloads).
Future changes and versioning of web service endpoints should be supported.
Authentication and Authorisation should be tightly integrated.
In summary, the high-level objectives of this project include:
- providing a modern Web Service API;
- supporting standardised error handling;
- allowing for future growth and change in response data;
- adding support for industry standard authentication mechanisms such as OAuth2;
- supporting discovery of available data; and
- providing a migration path from the old API to the new API over a long period of time
- easy and straightforward client implementation in Moodle LMS
Existing web services will continue to operate in parallel with the new design, and will be deprecated over time.
This initiative covers implementing the above. Migrating the existing webservices into the new API will begin with this work, but will continue progressively across several Moodle LMS versions.
- is parent of
-
MDL-76834 Web service modernisation
-
- Open
-