Code Monkey home page Code Monkey logo

lti-php's Introduction

This set of PHP classes encapsulates the code required by an LTI compliant tool provider to communicate with an LTI tool consumer. It includes support for LTI 1.1 and the unofficial extensions to Basic LTI, as well as the registration process and services of LTI 1.2/2.0, and the new security model introduced by LTI 1.3. The Names and Role Provisioning service and the Assignment and Grade services (Line Item, Result and Score) are also supported using either of the LTI security models.

These classes are designed as an update to the LTI Tool Provider class library and a replacement for the library at https://github.com/IMSGlobal/LTI-Tool-Provider-Library-PHP which is no longer supported.

Whilst supporting LTI is relatively simple, the benefits to using a class library like this one are:

  • the abstraction layer provided by the classes keeps the LTI communications separate from the application code;
  • the code can be re-used between multiple tool providers;
  • LTI data is transformed into useful objects and missing data automatically replaced with sensible defaults;
  • the outcomes service function uses LTI 1.1 or the unofficial outcomes extension according to whichever is supported by the tool consumer;
  • the unofficial extensions for memberships and setting services are supported;
  • additional functionality is included to:
    • enable/disable a consumer key;
    • set start and end times for enabling access for each consumer key;
    • set up arrangements such that users from different resource links can all collaborate together within a single tool provider link;
  • LTI applications can take advantage of LTI updates with minimal impact on their code.

The GitHub repository provides access to the source files and documentation. The example Rating LTI application is based on this library to further illustrate how it can be used.

lti-php's People

Contributors

spvickers avatar izumi-kun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.