Canvas LTI 1.3 Tool Setup and Link Placement

Canvas LTI 1.3 Tool Setup and Link Placement

These instructions describe how to register the VitalSource LTI 1.3 tool and enable LTI 1.3 launches in the Canvas learning management system (LMS). 

  • New LTI 1.3 Developer Key
  1. In Canvas, click AdminDeveloper Keys and click + Developer Key. Select the LTI Key option.

    Blur_add_LTI_Key.png
     
  2. Under Key Settings enter the following to configure the tool:
    • Key Name: VitalSource LTI 1.3 (schools can choose to customize the Key Name)
    • Owner Email: LMS admin’s email address
    • Redirect URI:
      • https://bc.vitalsource.com/oauth2callback
    • Configure: Manual Entry
    • Title: VitalSource
    • Description: VitalSource
    • Target Link URI: https://bc.vitalsource.com/books or https://bc.vitalsource.com/materials depending on the experience desired.
    • OpenID Connect Initiation URL: A VitalSource Integration Manager will provide this.
    • JWK Method: Select Public JWK URL and enter https://bc.vitalsource.com/ltia/security/jwks
  1.  Toggle on the following items listed under LTI Advantage Services. 
  •  
    • Can create and view assignment data in the gradebook associated with the tool.
    • Can view assignment data in the gradebook associated with the tool.
    • Can view submission data for assignments associated with the tool.
    • Can create and update submission results for assignments associated with the tool.
    • Can retrieve user data associated with the context the tool is installed in.
    • Can update public jwk for LTI services.
    • *To learn more about the benefits of rostering, please visit the VitalSource Rostering: Make the Most of Your Investment in Day-One Access page.
  • LTI_Advantage_Toggles.png
  1. Under Additional Settings
    • Domain: bc.vitalsource.com
    • Custom Fields:
  •  
    •  
      • canvas_user_id=$Canvas.user.id
      • canvas_user_login_id=$Canvas.user.loginId
      • course_start_date=$Canvas.course.startAt
      • course_end_date=$Canvas.course.endAt
      • canvas_course_id=$Canvas.course.id
      • canvas_section_id=$Canvas.course.sectionIds
      • term_start_date=$Canvas.term.startAt
      • term_name=$Canvas.term.name
      • previous_context_ids=$Canvas.course.previousContextIds
      • previous_canvas_course_ids=$Canvas.course.previousCourseIds
      • canvas_api_domain=$Canvas.api.domain
      • canvas_account_id=$Canvas.account.id
      • user_integration_id=$Canvas.user.sisIntegrationId
        lti_1.3_tool_setup_canvas_additional_settings.png
  1. Under Privacy Level, click Public.

Managing Link Placements

Please note, depending on the student experience you want, you can choose to set up Course Navigation, Link Selection, or both. 

  •  
    • Course Navigation - link placement is enabled by default within the course navigation menu. Using course navigation is Ideal if you are using the same link in every course. This is not recommended if you would like to launch to a specific digital product as that requires the link is edited when added to a course. 
      • This option is especially recommended for Course Access and Total Access where the link is needed in all courses.

         
    • Link Selection - enables link placement within course modules. This is recommended depending on the endpoint you wish to use. For more information about end points, please visit: Which LTI Endpoint Is Right For You? For example, we recommend you set up Link Selection if you want to launch users into a particular digital product with an endpoint that requires the link to be edited when added to a course. 
      • This can be used for deeplinking to specific locations within an eBook, or if you are using certain publisher Partner Integrations, this allows deeplinking to specific locations within courseware.
      • Another use case for Link Selection is for schools that want to place the link in some courses, but not all courses.
  1. Set Up Course Navigation
    • In the box under Placements, type and select Course Navigation.
    • Expand the Course Navigation option and input the following values:
    • Target Link URI: https://bc.vitalsource.com/books or https://bc.vitalsource.com/materials, depending on the experience desired
    • Select Message Type: LtiResourceLinkRequest
    • Icon URL: Leave Blank
    • Text: VitalSource Course Materials 
      • Please note that schools have the flexibility to customize this text according to their preferences.
    • Selection Height: 1200
    • Selection Width: 1200Screenshot_2023-01-05_at_3.35.01_PM.png
  1. Set Up Link Selection
    • In the box under Placements, type and select Link Selection.
    • Expand the Link Selection option and input the following values:
    • Target Link URI: https://bc.vitalsource.com/books or https://bc.vitalsource.com/materials, depending on the experience desired
        • For more information on endpoint options and uses, please visit the page "Which LTI Endpoint Is Right For You?"
        • If you are linking to a specific VitalSource digital product, you may need to edit the URL to include the VitalSource product SKU for the item you are using. Example: https://bc.vitalsource.com/books/978000000000R180.
    • Select Message Type: LtiResourceLinkRequest
    • Icon URL: Leave Blank
    • Text: VitalSource Course Materials
      • Please note that schools have the flexibility to customize this text according to their preferences.

    • Selection Height: 1200
    • Selection Width: 1200
      Screenshot 2024-04-18 at 9.19.21 AM.png
  2. Click Save to register the VitalSource LTI 1.3 Tool.

Link Placement for Deep Linking
 

The next step is to set up deep linking, a powerful feature of our existing LTI tooling that significantly improves course integration. Note that deep linking doesn’t require a new installation. VitalSource’s deep linking tool functions in two major capacities:

  • Allows for the creation of LTI links directly to specific locations within eBooks delivered in Bookshelf®
  • Allows for the creation of LTI links directly to specific locations within courseware delivered via our Partner Integration (SSO) with many of our publishing partners
  1. Link Selection enables link placement within course modules. This is used for deeplinking to specific locations within an eBook, or if you are using certain publisher partner Integrations. This allows deeplinking to specific locations within courseware.
    •  
      • Target Link URI: https://bc.vitalsource.com/adopt
      • Select Message Type: LtiDeepLinkingRequest
      • Icon URL: Leave Blank
      • Text: VitalSource Deep Linking Tool
      • Selection Height: 1200
      • Selection Width: 1200 

        image
  1. Click save.

Using the VitalSource Deeplinking Interface

This is available to instructors or LMS admins who are enrolled in the course only.

  1. When in a Course, click the Modules link in the Course Navigation.
  2. In the Module where you’d like to add the link, click the + button.

  3. In the Add [Item Type] To: drop-down menu, select External Tool.

  4. Find the VitalSource Course Materials Adoptions tool in the list. (It should have a search magnifying glass icon next to it.)

  5. Select your current adoption or search for content by title, author or SKU (if available). 
    Note: Course Access courses will not have search capability

  6. Click the Link to Specific Page button for the content for which you want to create links.

  7. Select a location and click Add Materials.

  8. Click Review and Submit.

  9. Click Add to Course.

  10. Back in Canvas, review the selection, and click Add Item.

Now that you have the main tool and deep linking installed, you’re all set! Before sending the credentials to the Integration Manager, please confirm that both endpoints are installed. Securely share the details once everything is verified.

LTI 1.3 Tool Deployment

  1. Copy the Client ID created in the steps above.
  2. Navigate to AdminSettingsAppsView App Configurations+ App.
  3. Select Configuration Type: By Client ID
  4. Paste the Client ID from the Developer Key step above and click Submit.
    Blur_External_Apps_Add_App.png

Verify and install the VitalSource app by clicking Install.
Blur_Add_App_client_ID.png
 

 

Completing the Integration

Now that the tool has been created and deployed, VitalSource needs some information to finalize the integration:

  • Client ID
  • Deployment ID
  1. Client ID: Click the new LTI 1.3 Developer Key to On and copy the Client ID in the Details column for the newly created LTI Developer Key. 

    You will also need to provide the Deployment ID which is outlined in the next step. The Deployment ID is different from the Developer Key. Note: The Developer Key is not utilized at any point during this process.

Screenshot 2024-04-19 at 12.52.22 PM.png

 

Retrieve the Deployment ID for the VitalSource Tool

  1. On the View App Configurations page, find the VitalSource tool, click the gear icon, and click Deployment ID.

    lti_1.3_tool_setup_canvas_copy_deployment_id.png

    Screenshot 2024-04-19 at 11.44.38 AM.png

    Screenshot 2024-04-19 at 11.43.32 AM.png
  2. Copy the Deployment ID and send both the Client ID and Deployment ID to the VitalSource integration Manager to complete the integration.
     

Add VitalSource LTI Links to Courses

If you selected to add the VitalSource LTI 1.3 tool to the Course Navigation in the Registration steps above, the tool will automatically be added to the Course Navigation panel.

  1. When in a Course, click the Modules link in the Course Navigation.
  2. In the Module where you’d like to add the link, click the + button.
  3. In the Add [Item Type] To: drop-down menu, select External Tool.
  4. Find the VitalSource external tool and review the following:
  • URL: This will pre-populate based on how the LTI External App was configured. If you are launching to a specific VitalSource digital product, you may need to edit the URL to include the VitalSource product SKU for the item you are using. Example: https://bc.vitalsource.com/books/978000000000R180.
  • Page Name: This will pre-populate based on the name of the LTI External App, but it can be edited.
  • Load in a new tab: We recommend this box is checked, but it is not required to load the VitalSource app in a new tab
  1. Click Add Item.

    Blur_Resource_LInk_Page.png

  • Note: If you are interested in deeplinking into an Explore collection via your LMS, please complete the steps outlined above then visit our Deeplinking into an Explore Collection page for more instructions.

Canvas Documentation

Data Storage & Usage

This section describes what data VitalSource receives about Canvas users and courses through the LTI tool and how that data is stored & used.

Field

 

Description

 

Storage & Usage

 
context_id unique LTI course identifier stored & used for identifying unique courses, communication of student opt-out decisions to publisher courseware providers when applicable
context_title course name stored & used for display in VitalSource Launch & Analytics and matching LMS course data to SIS course data for Course Access programs
context_label course code stored & used for display in VitalSource Launch & Analytics and matching LMS course data to SIS course data for Course Access programs
custom_canvas_course_id unique Canvas course identifier stored & used for identifying unique courses
custom_canvas_section_id

unique Canvas course section identifiers for the sections in which the user is enrolled in

optional field, only receive if configured as a custom field

stored & used for handling cross-listed courses
lis_course_offering_sourcedid course SIS identifier stored & used for display in VitalSource Launch & Analytics and matching LMS course data to SIS course data for Course Access programs
custom_course_start_date

course start date

optional field, only receive if configured as a custom field

stored & used for determining when courses should be considered active in application displays and when to issue add/drop content access to students
custom_term_name

the name of the term to which the course belongs

optional field, only receive if configured as a custom field

stored & used for determining when courses should be considered active in application displays
custom_term_start_date

term start date

optional field, only receive if configured as a custom field

stored & used for determining when courses should be considered active in application displays and when to issue add/drop content access to students
custom_pervious_context_ids

context ids of courses from which content has been copied

optional field, only receive if configured as a custom field

stored & used to identify course resources from the courses from which they were copied
custom_pervious_canvas_course_ids

Canvas course ids of courses from which content has been copied

optional field, only receive if configured as a custom field

stored & used to identify course resources from the courses from which they were copied
custom_canvas_user_id

unique Canvas user identifier

optional field, only received if tool privacy is set to public

stored & used to identify unique user accounts
custom_canvas_user_login_id

Canvas username

optional field, only received if tool privacy is set to public

stored & used for matching LMS student accounts to SIS student enrollment for Course Access program, communication of student opt-out decisions to publisher courseware providers when applicable
user_id unique LTI user identifier stored & used for creating and identifying VitalSource user accounts, communication of student opt-out decisions to publisher courseware providers when applicable
lis_person_contact_email_primary

user email address

optional field, only received if tool privacy is set to public

stored & used for matching LMS student accounts to SIS student enrollment for Course Access programs
lis_person_name_given

user first name

optional field, only received if tool privacy is set to name only or public

stored & used for matching LMS student accounts to SIS student enrollment for Course Access programs
lis_person_name_family

user last name

optional field, only received if tool privacy is set to name only or public

stored & used for matching LMS student accounts to SIS student enrollment for Course Access programs
lis_person_name_full

user full name

optional field, only received if tool privacy is set to name only or public

not stored or used
lis_person_sourcedid

user SIS identifier

optional field, only received if tool privacy is set to public

stored & used for matching LMS student accounts to SIS student enrollment for Course Access programs
Was this article helpful?