Skip to content
Susan Dreher edited this page Mar 21, 2017 · 28 revisions

in progress

Basics

Overview

Learning Tools Interoperability is a specification developed by IMS Global Learning Consortium. The principal concept of LTI is to establish a standard way of integrating rich learning applications (often remotely hosted and provided through third-party services) with platforms like learning management systems, portals, learning object repositories, or other educational environments. In LTI these learning applications are called Tools (delivered by Tool Providers) and the LMS, or platforms, are called Tool Consumers.

Launch integration

A user logged into a configured LTI consumer can now seamlessly launch and login to a Mediathread course via an embedded module or LMS sidebar link. The user's existing Mediathead account will be looked up via e-mail address. Or, if the user is new to Mediathread, an LMS-specific account will be created via an auto-generated username (based on a hashed LTI consumer key and username). The user will be placed into a Mediathread course based on a configured parameter passed by the LTI consumer.

Extended integration

In the Canvas platform, Mediathread also supports editor button integration to allow item and selection embedding in assignments and discussions.

Installation

For application maintainers: The LMS Consumer authenticates to Mediathread via a shared consumer key and secret. To configure a specific key and secret for your Mediathread instance.

  1. Generate a Consumer Key and Secret. You can enter any combination of letters, numbers or symbols for either of these fields. Note: It's a good idea to choose a distinguishing name for the Consumer Key if you plan on having multiple Consumer Keys.

  2. In the local_settings.py or deploy_specific/settings.py, configure the keys and secret.

PYLTI_CONFIG = {
    'consumers': {
        '_consumer_key_': {
            'secret': '_secret_key_'
        }
    }
}

Configuring Your LMS

Blackboard

coming soon

Canvas

  1. Login and navigate to your Canvas course.
  2. Click the Settings link on the left-hand sidebar.
  3. Click the Apps tab
  4. Click the View App Configurations button.
  5. Click Add App
  6. In the Add App Dialog
  • Choose Configuration By Url
  • Name: Mediathread
  • Add your generated consumer key and secret
  • Config Url: https://your mediathread domain/lti/config.xml
  • Submit
  • An App Was Added message will appear
  1. A Mediathread link will now be available on the left-hand sidebar. Click the Mediathread link to see a list of available courses. Choose one and click the connect button.

Mediathread configuration is now complete. Students will see the Mediathread link in the left sidebar. And, a Mediathread icon will display in the Canvas composition editor for discussions, assignments and assignment responses. Items and selections can be embedded in any written material.

EdX

coming soon

Architecture

On any interaction, the LMS will send along an oAuth authentication request. The user is authenticated via a custom Django authentication layer, implemented in auth.py. The following steps occur:

  1. The oAuth request is verified based on session type.

  2. A course is identified by the LTI context_id passed along by the LMS Consumer. The LTICourseContext holds the context and the pointers to two groups: one for all class members and one for faculty.

  3. A user is created or retrieved. The code first attempts to match the user up by the LMS identifier, then the e-mail address. If those fail, an LTI-only username concocted based on the oauth_consumer_key and the user_id is passed by the LMS consumer. This username is matched with an existing User (i.e. a return visit) or newly created.

  4. The user is added to the groups identified by the LTICourseContext.

Launch

Once a user is authenticated, the view is routed appropriately. Edx and Moodle both can launch Mediathread in a new page. Canvas is routed to a special "landing page" to force a launch in a new page.