Merge branch 'MDL-67410-37' of https://github.com/felicemcc/moodle into MOODLE_37_STABLE
[moodle.git] / lib / ltiprovider / README.md
blob2109f4e46e7cf701c9e7da2c25b262be16f219a4
1 This set of PHP classes encapsulates the code required by a Learning Tools Interoperability<sup>®</sup> (LTI<sup>®</sup>) compliant tool provider to communicate with an LTI tool consumer.
2 It includes support for LTI 1.1 and the unofficial extensions to LTI 1.0, as well as the registration process and services of LTI 2.0.
3 These classes are an extension of the LTI Tool Provider class library created by the ceLTIc project (http://www.spvsoftwareproducts.com/php/lti_tool_provider/).
5 Whilst supporting LTI is relatively simple, the benefits to using a class library like this one are:
6 * the abstraction layer provided by the classes keeps the LTI communications separate from the application code;
7 * the code can be re-used between multiple tool providers;
8 * LTI data is transformed into useful objects and missing data automatically replaced with sensible defaults;
9 * the outcomes service function uses LTI 1.1 or the unofficial outcomes extension according to whichever is supported by the tool consumer;
10 * the unofficial extensions for memberships and setting services are supported;
11 * additional functionality is included to:
12     * enable/disable a consumer key;
13     * set start and end times for enabling access for each consumer key;
14     * set up arrangements such that users from different resource links can all collaborate together within a single tool provider link;
15 * tool providers can take advantage of LTI updates with minimal impact on their application code.
17 The wiki area of this repository contains [documentation](https://github.com/IMSGlobal/LTI-Tool-Provider-Library-PHP/wiki) for this library.  The [rating LTI application](https://github.com/IMSGlobal/LTI-Sample-Tool-Provider-PHP) is based on this library to further illustrate how it can be used.
19 &copy; 2016 IMS Global Learning Consortium Inc. All Rights Reserved. Trademark Policy - (www.imsglobal.org/trademarks)
21 <sup><sub>Learning Tools Interoperability and LTI are registered trademarks of IMS Global Learning Consortium Inc.</sub></sup>