This article is for Canvas administrators who want to help instructors set up a deep integration between Canvas and Visible Body Courseware. This one-time setup allows instructors to access a Courseware course from within a Canvas course via single sign-on, and integrate Courseware assignments, quizzes, and gradebook with Canvas.
Administrator Step 1: Set up Canvas and Courseware Lite Integration
If your institution is a new Courseware customer or a Courseware customer with no Lite integration set up, Deep integration functionality requires the Lite integration be set up first. To set up Lite integration, please follow the steps in this article.
If your institution is a current Courseware customer with Lite integration already set up, you're already on your way to Deep integration.
Note: To proceed with Deep integration, if your Canvas and Courseware Lite integration was established before 12/1/21, you will need to delete and re-add your existing Lite integration. This will provide the updated configuration that enables opening assignments. You can use the same secret and key that you used the first time you established Lite integration. For help with this process, contact our support team.
Administrator Step 2: Generate a Developer Key
Once you have set up Lite integration, administrators will need to generate a Developer Key using information from Visible Body and from your institution.
-
- In Canvas, navigate to the left-hand panel, select "Admin", select "Choose the Account", then "Developer Key". Select "API" Key.
- Administrators will need to know the following information to create a Developer Key:
- Redirect URI: https://courseware.visiblebody.com/oauth2response
- Owner Email: support@visiblebody.com
Icon URL: https://www.visiblebody.com/hubfs/vb_favicon_64.png
- If your institution chooses to enforce Scopes, this is the List of Scopes (API permissions) that Visible Body requires:
- "Assignments" to sync new and existing assignments in the first place
- "Assignment Groups" to handle Assignment Groups
- "Courses" to get the list of all users in a Canvas course
- "Submissions" to edit the scores of a specific assignment
- Add a Key Name: e.g. “Visible Body”. This is for your institution's use only.
- Select "Enforce Scopes" if applicable to your institution (pictured below). Be sure to select the list of permissions as mentioned in item 2. Note: Visible Body will detect if your institution is enforcing Scopes, but has not selected the correct permissions. Scopes may be edited after the key is generated.
- Return to the "Developer Key" page, and switch the State setting to the "On" position (pictured below):
- The Canvas administrator will then need to send the following information to the Visible Body Implementation Team.
Developer Key ID: the ID that appears on the Developer Key screen; this is NOT the Developer Key
Developer Key: what is shown after selecting “Show Key” - Once the Visible Body Implementation team adds the Developer Key ID and Developer Key to our system, the account will be ready to enable Deep integration.
- In Canvas, navigate to the left-hand panel, select "Admin", select "Choose the Account", then "Developer Key". Select "API" Key.
Administrator Step 3: Enable Canvas and Courseware Deep integration
After the developer key has been added, the administrator setup is largely complete.
Note: Visible Body will detect if there is a mismatch between the keys. In that case, the administrator may need to intervene.
At this point, administrators or instructors have two ways to enable Deep integration.
Method 1: When linking a Canvas course to the instructor's Courseware course, if the Developer Key is present, the administrator setup is largely complete.
First, Select "Enable Deep Integration".
Then, authorize Courseware to access Canvas information.
Note: This authorization is required only once per instructor, regardless of how many Courseware courses they have. However, other instructors with their own courses will also need to authorize Courseware access once, too.
For institutions without Canvas and Courseware Lite integration, or for new Courseware customers, selecting "Authorize" will return the administrator to the course selection page (pictured below) to continue linking an instructor's course.
Method 2: This method is recommended if Canvas and Courseware Lite integration is already established. Navigate to the "LMS Integration" button at the left navigation bar in Courseware. If a Developer Key has been added successfully, administrators or instructors can select the "Enable Deep Integration" button.
First, select "Enable Deep Integration".
Then, authorize Courseware to access Canvas information.
The Courseware "LMS Integration" page will appear with the deep integration option enabled.
Once Canvas and Courseware Deep integration is enabled, the "LMS Integration" page will provide a toggle button to turn off deep integration, automatically reverting the setup to Canvas and Courseware Lite integration (pictured above).
Instructors can now sync assignments and grades from any of their linked courses.
Learn more about Canvas and Courseware integration features in this article.
Specific scopes required for current Canvas Deep integration features
- Assignments
- url:GET|/api/v1/courses/:course_id/assignments
- url:GET|/api/v1/courses/:course_id/assignment_groups/:assignment_group_id/assignments
- url:GET|/api/v1/courses/:course_id/assignments/:id
- url:DELETE|/api/v1/courses/:course_id/assignments/:id
- url:PUT|/api/v1/courses/:course_id/assignments/:id
- url:POST|/api/v1/courses/:course_id/assignments
- Assignment Groups (Folders)
- url:GET|/api/v1/courses/:course_id/assignment_groups
- url:GET|/api/v1/courses/:course_id/assignment_groups/:assignment_group_id
- url:POST|/api/v1/courses/:course_id/assignment_groups
- url:PUT|/api/v1/courses/:course_id/assignment_groups/:assignment_group_id
- url:DELETE|/api/v1/courses/:course_id/assignment_groups/:assignment_group_id
- Courses
- url:GET|/api/v1/courses/:course_id/users
- Submissions
- url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id