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).
- Tool & Course Setup
- Managing Link Placements
- LTI 1.3 Tool Deployment
- Completing the Integration
- Canvas Documentation
Tool & Course Setup
- New LTI 1.3 Developer Key
- In Canvas, click Admin → Developer Keys and click + Developer Key. Select the LTI Key option.
- Under Key Settings enter the following to configure the tool:
- Key Name: VitalSource LTI 1.3
- 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/materials
- 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
- 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.
- In Canvas, click Admin → Developer Keys and click + Developer Key. Select the LTI Key option.
- 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
- Under Privacy Level, click Public.
Managing Link Placements
-
Set Up Global Navigation
- In the box under Placements, type and select Global Navigation
- Expand the Global Navigation option and input the following:
- Target Link URI: https://bc.vitalsource.com/materials
- Icon URL: Leave Blank
- Text: VitalSource Course Materials
- Selection Height: 1200
- Selection Width: 1200
-
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/materials
- Select Message Type: LtiResourceLinkRequest
- Icon URL: Leave Blank
- Text: VitalSource Course Materials
- Selection Height: 1200
- Selection Width: 1200
-
Set Up Deep Link Tool
- 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/adopt
- Select Message Type: LtiDeepLinkingRequest
- Icon URL: Leave Blank
- Text: VitalSource Deep Linking Tool
- Selection Height: 1200
- Selection Width: 1200
*To use deep linking tool, find more information here: https://success.vitalsource.com/hc/en-us/articles/31791134155287-Deep-Linking-to-a-Specific-Location-in-an-eBook-LTI-1-3
- Click Save to register the VitalSource LTI 1.3 Tool.
LTI 1.3 Tool Deployment
- Copy the Client ID created in the steps above.
- Navigate to Admin → Settings → Apps → View App Configurations → + App.
- Select Configuration Type: By Client ID
- Paste the Client ID from the Developer Key step above and click Submit.
Verify and install the VitalSource app by clicking Install.
Completing the Integration
Now that the tool has been created and deployed, VitalSource needs some information to finalize the integration:
- Client ID
- Deployment ID
- 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.
Retrieve the Deployment ID for the VitalSource Tool
- On the View App Configurations page, find the VitalSource tool, click the gear icon, and click Deployment ID.
-
Copy the Deployment ID and send both the Client ID and Deployment ID to the VitalSource integration Manager to complete the integration.
Canvas Documentation
Registering a new LTI 1.3 Tool: https://community.canvaslms.com/docs/DOC-16729-42141110178
Deploying a LTI 1.3 Tool: https://community.canvaslms.com/docs/DOC-16730-42141110273
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 |