VitalSource Courses and Enrollments Integration for D2L/Brightspace

Campus Brightspace administrators can quickly and easily create a role and system user to power the VitalSource integration and authenticate the integration with a link provided by the VitalSource team. This integration is complementary to the VitalSource LTI tool and will allow VitalSource to

  • ingest Brightspace courses
  • ingest Brightspace enrollments
  • place VitalSource LTI links into Brightspace courses

Part 1: Creating a Role with Permissions

We recommend you create a role specifically for this integration. This will allow you to control the permissions available to VitalSource without affecting other users.

  1. Navigate to the Settings Menu (gear icon) and select Roles & Permissions
  2. Click Create/Copy
  3. Select Create a New Role and enter the following settings:
    1. General
      • Name: VitalSource
      • Cascading Role: Check this box
    2. You do not need to select anything in Tool Behavior Options or Classlist Display Options
    3. Course Access Options
      • Access Inactive Courses: Check this box
      • Access Past Courses: Check this box
      • Access Future Courses: Check this box
      • Access All Course Sections: Check this box
      • Access All Course Groups: Check this box
  4. Click Save
  5. On the Edit Role Interactions page, check all boxes for your Administrator role and Save. This will ensure you can search for and switch to this role as needed.
  6. On the Role List page, click the VitalSource role you just created and click Import Permissions
  7. Download the XML text file attached to this article. This contains all the permissions required by the VitalSource. See below for a complete list of permissions.
  8. Select the VitalSource D2L Permissions file to import. Click Next, then Import.

Part 2: Creating a System User

Now that you have created a role, you can create a system user for the integration.

  1. Navigate to the Settings Menu (gear icon) and select Users
  2. Click New User and enter the following:
    • First Name: VitalSource
    • Last Name: Integration
    • Username: vitalsource.integration
    • Role: Select the VitalSource role you created in Part 1
    • Password Check the Manually set password box and enter a password of your choosing. Remember this password as will need it in a later step.
  3. Click Save

Part 3: Register an App

  1. Navigate to the Settings Menu (gear icon) and select Manage Extensibility
  2. Click Register an App and enter the following:
    • Application Name: VitalSource
    • Trusted URL: https://bc.vitalsource.com/oauth2callback
    • Enable this application: Check this box
    • I accept the Non-Commercial Developer Agreement: Check this box
    • Click Register Application
  3. Copy the Application ID & Application Key and send them to the VitalSource team along with the URL for your Brightspace site.

Part 4: Authenticate the App

  1. The VitalSource team will send you an authentication link.
  2. Before clicking the link, go to your Brightspace site and make sure you are logged out of your own account.
  3. Click the link and enter the username and password for the user you created in Part 2.
  4. You have authenticated the VitalSource application!

Refer to the Permissions, Endpoints, and Data Storage & Usage sections below to ensure your integration will function as expected.  

Permissions

Here is a comprehensive list of the permissions required by the VitalSource app.

Classlist

  • Has Access to the Classlist: All boxes
  • See Classlist Report: All boxes
  • View Group Enrollments: All boxes

Content

  • View Course Content: All boxes
  • Manage Content: All boxes
  • Create and Edit Modules and Topics: All boxes

Course Management Console

  • See Course Info: Course Offering, Group, Semester, Section, Department, Program, School Type, Campus
  • See Tool Management: Course Offering
  • Set Tool Status: Course Offering

External Learning Tools

  • Manage External Learning Tools Configuration: Course Template, Course Offering, Semester, Section, Department, Program
  • Launch External Learning Tool Links: Course Offering
  • Manage and Delete External Learning Tool Links: Course Template, Course Offering, Semester, Section, Department, Program
  • Manage External Learning Tool Providers: Course Template, Course Offering, Semester, Section, Department, Program
  • Create Quicklinks from available External Learning Tools links: All boxes
  • Create External Learning Tool Links from available External Learning Tool Providers: All boxes
  • Manage LTI Advantage Tool Registrations: Organization
  • Manage LTI Advantage Tool Deployments: Organization
  • Delete External Learning Tool Links: All boxes

My Org Units

  • See My Org Units: Organization, Course Template, Course Offering, Group, Semester, Section, Department, Program
  • Manage My Org Units tool: Course Offering

Org Unit Editor

  • Can Create and Edit Org Units: Organization

Tool Management

  • See Org Tool Management: Organization

User Information Privacy

  • See First Names: All boxes
  • See Last Names: All boxes
  • See Usernames: All boxes
  • See Org Defined IDs: All boxes
  • See Email Addresses: All boxes

Users

  • View the Users' Email Address: All boxes
  • View Users' Org Defined IDs: All boxes
  • View User Enrollments: All boxes
  • Search for 'Instructor': All boxes
  • Search for 'Student': All boxes

Endpoints

Here is a comprehensive list of the D2L Valence APIs used by the VitalSource app:

GET /d2l/api/lp/1.2/courses/:course_id

GET /d2l/api/lp/1.2/orgstructure/:semester_id/children/

GET /d2l/api/lp/1.2/enrollments/orgunits/:course_id/users/

GET /d2l/api/lp/1.2/organization/info

GET /d2l/api/lp/1.2/orgstructure/:semester_id

GET /d2l/api/lp/1.2/orgstructure/:org_id/children

GET /d2l/api/le/1.40/:course_id/content/root/

POST /d2l/api/le/1.40/:course_id/content/root/

GET /d2l/api/le/1.40/:course_id/content/modules/:module_id/structure/

POST /d2l/api/le/1.40/:course_id/content/modules/:module_id/structure/

POST /d2l/api/le/1.40/lti/link/:course_id

POST /d2l/api/le/1.40/lti/quicklink/:course_id/:lti_link_id

Data Storage & Usage

Here is a description of the Brightspace data the VitalSource app receives and how that data is stored & used.

Field
Description
Storage & Usage
(course) identifier Unique course identifier

stored & used for identifying unique courses, communication of student opt-out decisions to publisher courseware providers when applicable

(course) name Course title

stored & used for display in VitalSource Launch & Analytics and matching LMS course data to SIS course data for Inclusive Access programs

(course) code Course code/label stored & used for display in VitalSource Launch & Analytics and matching LMS course data to SIS course data for Inclusive Access programs
(course) StartDate Course start date stored & used for determining when courses should be considered active in application displays and when to issue add/drop content access to students
(course) EndDate Course end date stored & used for determining when a course ends
(semester) identifier Unique semester identifier stored & used to group courses together that belong to the same semester
(semester) name Semester title stored & used to group courses together that belong to the same semester
(semester) code Semester abbreviation not stored or used
(department) identifier Unique department identifier not stored or used
(department) name Department name not stored or used
(department) code Department abbreviation not stored or used
(user) identifier Unique user identifier not stored or used
(user) displayName User full name stored & used for personalized display
(user) emailAddress User email address stored & used for matching LMS student accounts to SIS student enrollment for Inclusive Access programs
(user) orgDefinedId Unique user identifier stored & used for matching LMS student accounts to SIS student enrollment for Inclusive Access programs
(user) profileBadgeUrl D2L profile bdage url not stored or used
(user) profileIdentifier D2L profile identifier not stored or used
(user) role A user's role within an org unit stored & used to determine the appropriate user experience and access type a user should be granted
(organization) identifier Unique D2L organization identifier not stored, used to execute other D2L Valence APIs
Was this article helpful?
0 out of 0 found this helpful