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.
- Navigate to the Settings Menu (gear icon) and select Roles & Permissions
- Click Create/Copy
- Select Create a New Role and enter the following settings:
- General
- Name: VitalSource
- Cascading Role: Check this box
- You do not need to select anything in Tool Behavior Options or Classlist Display Options
- 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
- General
- Click Save
- 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.
- On the Role List page, click the VitalSource role you just created and click Import Permissions
- 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.
- 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.
- Navigate to the Settings Menu (gear icon) and select Users
- 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.
- Click Save
Part 3: Register an App
- Navigate to the Settings Menu (gear icon) and select Manage Extensibility
- 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
- 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
- The VitalSource team will send you an authentication link.
- Before clicking the link, go to your Brightspace site and make sure you are logged out of your own account.
- Click the link and enter the username and password for the user you created in Part 2.
- 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 |