Canvas LTI

In this section:

Overview

You can integrate the EchoSystem with Canvas, the cloud-based open source learning management system (LMS) by taking advantage of the LTI (Learning Tool Interoperability) in Canvas.

You can use LTI-Based publishing if you have  EchoSystem 5.2 with Service Pack 2 or higher.

Basic LTI communication consists of a content provider (which in this case is EchoSystem) and a content consumer (which in this case is Canvas).

In order for the EchoSystem Server (ESS) to pass information to Canvas, both systems must be configured to communicate securely with each other. In addition, each section in the ESS needs to be configured so that the ESS knows what information to pass through to Canvas for each user.

Configuring the ESS and Canvas consists of the following phases:

Once configuration is complete, users are able to log into Canvas and seamlessly access each of their sections, viewing the appropriate EchoCenter page and its associated content and course materials.

Unknown macro: {multi-excerpt-include}

Generate Canvas Access Token for ESS API Key

Before you can configure the ESS to integrate with Canvas, you first need to generate an Access Token within Canvas. This token is used to access enrollment information through the Canvas API.

Upon generation of the Access Token, you must copy the token and either paste it directly into the Canvas LTI Profile in ESS, or paste it to an interim holding location, such as Notepad or other text editor. The Access Token must be copied into the ESS exactly as it appears in Canvas, with no leading spaces or other characters.

Use an Administrative Account to Generate the Access Token

Access tokens can be generated by any account in Canvas, however since the Access Token is used to access enrollment information, you want to be logged in using an account that can access all enrollment information for the courses that will be used with EchoSystem. You can use a Canvas Administrator account or create a user account specifically for this integration. If you do create a separate account, be sure the user has access to all of the appropriate course enrollment information.

Please note that the steps listed here are provided as a guide and are to be performed by the Canvas Administrator. If you need more detailed information, please refer to the Canvas documentation. 

  1. Log into Canvas as an Administrator or using an account specifically designed for this integration. See note above.
  2. Navigate to Settings.
  3. At the bottom of the Settings page, click New Access Token
  4. Enter a Purpose for the token. This provides the reason or use for the token in the interface.
  5. Enter an Expiration Date for the token, or leave the field blank if you do not want the token to expire.
  6. Click Generate Token.
  7. In the Access Token Details dialog box that appears, select and copy all of the characters in the Token field. This token must be entered exactly as it appears into the API Key field of the Canvas LTI Profile in ESS. The token shown will NOT be shown again. If you do not copy it now, you will have to regenerate an access token to use for API authentication.
  8. Paste the copied token either directly into the Canvas LTI Profile using the instructions in the next section, or paste the token to Notepad or other text editor for later access.
  9. When finished, close the dialog box using the "x" in the top right corner.

If, for some reason, you lose the generated token or do not copy it correctly, you will have to regenerate the token and use the new one in the Canvas LTI profile in ESS.

Add Canvas LTI to the ESS

Configure HTTP/HTTPS System Settings First

Use the following steps to add the Canvas LTI to the ESS configuration. Once the Canvas LTI is added to ESS, you will use the fields generated for the LTI profile to Add the ESS to Canvas as an External Tool.

  1. On the ESS, go to Configuration > LTI
  2. Click Add to open the Add LTI form, shown in the below figure.
    screenshot of Add LTI form in ESS as described

    The following table lists the fields in the Add LTI Profile form and describes the information to be entered in each:

    LTI Profile FieldDescription and Value to be Entered
    LabelEnter a name for this LTI profile. This identifies this LTI configuration in the ESS interface.
    LMS ConsumerSelect Canvas as the LMS Consumer from the drop-down list.
    Consumer KeyEnter a term or short phrase with no spaces that identifies this LTI and is easy to remember. This Consumer Key will also be entered into the Canvas interface when you Add the ESS to Canvas as an External Tool.
    API KeyEnter the Access Token generated in Canvas from the instructions above.
    API Host URLEnter the base URL of the Canvas server. For example, https://<institution name>.instructure.com
    LTI CartridgeThis field is populated by clicking the Generate button. The resulting XML script provides the instructions necessary for the ESS and Canvas to process the information and content being passed between the systems. The XML script can also be used when you Add the ESS to Canvas as an External Tool.
  3. Complete the fields using the information provided in the above table.
  4. Click Generate to populate the LTI Cartridge field with the appropriate XML script. When you are finished, the Add LTI Profile form should appear similar to the following figure.
    screenshot of Add LTI Profile page with generated cartridge as described
  5. When finished, click Save. The completed Canvas LTI Profile appears, and includes Shared Secret and Configuration URL fields, in addition to the Consumer Key you entered, all highlighted in the below figure.
    screenshot of completed Canvas LTI profile with fields highlighted as described
  6. From the LTI Profile screen, copy the necessary fields for use in creating the ESS as an External Tool in Canvas. You can copy each of these directly from the ESS into Canvas, or you can use an interim holding location, such as Notepad or other text editor, to paste each item for later use. The fields you need are:
    • Consumer Key
    • Shared Secret

    • Configuration URL or LTI Cartridge

      LTI Cartridge only needed for Paste XML Configuration Type

      The LTI Cartridge is only necessary if you are using Paste XML as the Configuration Type for the External Tool in Canvas. If you are using URL as the Configuration Type, use the Configuration URL provided in the profile details shown above. There is no difference, from the ESS standpoint, which Configuration Type you choose.

  7. When you have copied the appropriate information, click Done. The LTI Configuration screen appears, showing the new LTI along with any others that may have already been created.
    screenshot of configured LTI Profiles showing Configuration URL as described

As indicated in the instructions, use the fields from the completed LTI Profile to configure the ESS as an External Tool in Canvas. You can access this information any time by clicking on the Profile Name in the LTI screen shown above.

Add the ESS to Canvas as an External Tool

Use the following steps to add the ESS as an External Tool in Canvas. The Consumer Key, Shared Secret, and Configuration Type fields are populated by copying the Consumer Key, Shared Secret, and either the LTI Cartridge or Configuration URL fields respectively from the ESS LTI configuration.

Add the ESS as an External Tool at the Account Level

You can add the ESS as an External Tool at either the Account level or the Course level in Canvas. However we strongly recommend adding it at the Account level. This allows the ESS to deliver content to all courses configured between the ESS and Canvas. 

Please note that the steps listed here are provided as a guide and are to be performed by the Canvas Administrator or Course Owner for an individual course. If you need more detailed information, please refer to the Canvas documentation.

  1. Log in to Canvas as an Administrator.
  2. Select the Top Level Account or a Sub Account under Managed Accounts.
  3. Navigate to Settings > External Tools.
  4. Click Add External Tool.
  5. Enter a Name for the tool. This can be anything you want but should clearly identify this as the ESS from which Canvas will be consuming EchoCenter content.
  6. Enter a Consumer Key. This must be exactly the same as the Consumer Key in the Canvas LTI Profile on the ESS.
  7. Enter a Shared Secret. This must be exactly the same as the Shared Secret in the Canvas LTI Profile on the ESS.
  8. For Configuration Type, you have the following options:
    • Select By URL. The dialog box changes, so that the only additional field to enter is the Configuration URL. Paste the Configuration URL from the Canvas LTI Profile on the ESS. The URL must be exactly the same, with no leading spaces or other characters.
    • Select Paste XML. The dialog box changes, so that the only additional field to enter is Paste XML Here. Paste the LTI Cartridge script generated from the Canvas LTI Profile on the ESS. The XML must be exactly the same as it appears in the LTI Profile on the ESS.
  9. When finished, click Save Tool Settings.

Communication between the systems is now established. The final tasks, described in the next section, are to create or identify courses in Canvas, then associate those courses with the appropriate sections in EchoSystem. This final configuration allows the ESS to deliver the appropriate content to each user through Canvas.

Configure Sections to Publish to Canvas Courses

Using the Canvas LTI as the content provider for EchoCenter is different that the normal "Publishing" performed by other systems. For Canvas, instead of "pushing" the EchoCenter content out to a publisher, the Canvas LTI uses a "pull" method, where the user logs into Canvas, which then makes a call to the ESS to "pull" the appropriate content for the user into the Canvas interface.

In order for the ESS to know what content belongs to the logged in Canvas user, each course section in ESS needs to be associated with the Canvas course to which it belongs. This association is done through the External System ID field in the section page, shown in the below figure. For more information on creating and configuring sections, see Manage Terms, Courses, and Sections.

screenshot of Section configuration page in ESS showing External IDs field as described

Populate this field with the ID number for the corresponding Section in Canvas. This ID can be copied from the URL of the section page when open in Canvas. Navigate to the course page and click on the section link. In the sample URL below, the External System ID for the section would be 1107705.

https://<institution name>.instructure.com/courses/832164/sections/1107705

When a user logs into Canvas, the EchoCenter for the appropriate section is made available through the section page of the Canvas interface.