-
Improvement
-
Resolution: Fixed
-
Major
-
4.2
-
MOODLE_402_STABLE
-
MOODLE_402_STABLE
-
MDL-76583-master-withoutrename -
This is one that has bothered me for quite some time.
This proposal is to:
- break apart lib/externallib.php into separate classes
- sort out the tests; and
- add a b/c layer.
I would suggesst that we simply do class aliases and function wrappers for now, then in 4.6 (4.2 + 4) we formally deprecate these using the renamedclasses.php approach. This will allow contrib developers to only support one non-errored codebase.
The benefits of this include:
- we start to make the External API a bit more manageable
- we make classes autoloadable
- we can stop manually requiring lib/externallib.php everywhere
- we remove some of the existing technical debt
- we can start to improve type hinting for some of these functions
The changes proposed here look huge, but they are not as bad as they seem. Most of the lines of changes are updating all uses of the various API functions to point to the new APIs and removing a manual require_once call which is no longer necessary.
- blocks
-
MDL-74568 New WebService mod_chat_view_sessions
- Closed
- caused a regression
-
MDL-77982 External class aliases are defined in externallib.php that is no longer included in AJAX requests
- Open
-
MDL-77355 Web service add function class not found
- Closed
-
MDL-76987 Recent changes in MDL-76583 (lib/externallib.php) to use namespaced classes have broken some WS used by the mobile app
- Closed
-
MDL-77567 Webservice API Documentation throws tool_behat autoload error (again)
- Closed
-
MDL-78094 Soap protocol broken in Moodle 4.2
- Closed
-
MDL-76968 Error when renaming question number
- Closed
-
MDL-76973 Incorrect external_api class reference causes users tests failure
- Closed
-
MDL-77027 Web service documentation missing core_external
- Closed
-
MDL-77890 External class not found error running LTI unit tests
- Closed
-
MDL-78049 PHPUnit fails for external services requiring externallib.php
- Closed
-
MDL-78057 isolated unit test failure in core_user\userroleseditable_test::test_update
- Closed
-
MDL-78339 Exception - class "external_api" not found on the user preferences web service documentation page
- Closed
- has been marked as being related by
-
MDL-75085 Undefined variable $required in Web Services API documentation page
- Closed
-
MDL-76971 Finish removing requires of externallib.php from Report builder
- Closed
- has to be done before
-
MDL-81225 Deprecate old \external_* classes
- Open
- links to