This files describes API changes in the lti code. === 4.3 === * The `lti_libxml_disable_entity_loader` method is deprecated, as it is no longer required from PHP 8.0 * The `mod_lti_mod_form` constructor will now throw an exception if called without passing a typeid as manual configuration of instances is now unsupported. * The `lti_get_lti_types_by_course` method is deprecated. Please use mod_lti\local\types_helper::get_lti_types_by_course instead. * The capability `mod/lti:addmanualinstance` is now deprecated. Since manual instance creation is no longer supported, there is no substitute for this capability. === 4.2 === * get_jwt_claim_mappings() function has been added to service_base class. It allows a service subplugin to be compatible with LTI 1.3 by exposing its 1.1 custom parameters to LTI 1.3 claim mapping. * The `serialise_tool_proxy` method, deprecated since 3.10, has been removed and can no longer be used === 4.1 === * The callback get_shortcuts() is now removed. Please use get_course_content_items and get_all_content_items instead. * Services can now implement the override_endpoint function to replace the launch url and/or the custom parameters. === 3.10 === * Select Content supports multiple, allowing a tool to return more than one link at a time. Parameter multiple in function lti_build_content_item_selection_request() is now set to true. * Deprecated unused function after external function, 'get_tool_proxies()', was refactored: - serialise_tool_proxy() === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * lti_scale_used() === 3.7 === * Deprecated functions to add support for LTI 1 tools to access services: - mod_lti\local\ltiservice\service_base->check_tool_proxy() - mod_lti\local\ltiservice\service_base->check_type() - mod_lti\local\ltiservice\resource_base->check_tool_proxy() - mod_lti\local\ltiservice\resource_base->check_type() - mod_lti_edit_types_form->get_lti_advantage_services() replaced by: - mod_lti\local\ltiservice\service_base->check_tool() - mod_lti\local\ltiservice\resource_base->check_tool() - mod_lti_edit_types_form->get_lti_services() * Deprecated unused function: - mod_lti\local\ltiservice\service_base->get_configuration_parameter_names() * Deprecated functions to simplify implementation of LTI scopes for accessing services: - mod_lti\local\ltiservice\resource_base->get_permissions() - ltiservice_gradebookservices\local\resources\lineitem\get_permissions() - ltiservice_gradebookservices\local\resources\lineitems\get_permissions() - ltiservice_gradebookservices\local\resources\results\get_permissions() - ltiservice_gradebookservices\local\resources\scores\get_permissions() - ltiservice_memberships\local\resources\contextmemberships\get_permissions() replaced by: - mod_lti\local\ltiservice\service_base->get_permitted_scopes() - ltiservice_gradebookservices\local\service\gradebookservices->get_permitted_scopes() - ltiservice_memberships\local\service\memberships\->get_permitted_scopes() * Deprecated function to remove definition as static: - ltiservice_memberships\local\service\memberships\get_users_json() replaced by: - ltiservice_memberships\local\service\memberships\get_members_json() === 3.4 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-57432 for more info: - mod_lti_upgrade_custom_separator() === 3.2 === * Support for LTI ContentItem message type. * New function lti_build_content_item_selection_request() for building an LTI ContentItemSelectionRequest. * New Select content button in External tool configuration page that lets the user configure an external tool by fetching tool configuration content from the preconfigured tool's content selection interface. === 3.1 === * When requesting a grade from the outcome service, and empty grade will now be returned as an empty grade in accordance with the spec. Previously a grade of 0 would be returned. === 3.0 === * Function lti_view (locallib.php) was renamed to lti_launch_tool. A new and different lti_view function was created in the module lib.php containing the code for launching events and update the completion status for the module. === 2.8 === * Support for LTI 2 added, including extensible services implemented as ltiservice plugins. * Function sendOAuthBodyPOST removed from OAuthBody.php because it was not being used. * The field 'grade' in the table {lti} is now an integer rather than a numeric to bring it in line with the 'grade' field in other activities. === 2.7 === * mod_lti\event\unknown_service_api_called now has less data stored in 'other' but everything is still available for event observers via method get_message_data()