Ally for D2L Brightspace Integration
To integrate Ally with your D2L Brightspace instance you need to follow these steps:
User and Role creation. This needs to be done before any call with the Anthology Ally contact.
Main configuration
Client configuration
Institution Report
Course Accessibility Report
User and role creation
Create a new role
From the Settings menu (gear icon) navigate to Roles and permissions
Start the create role process by selecting the Create/Copy button
Create a new blank role by selecting the Start Fresh button
Role settings:
Name: Ally REST Role
Description: The set of permissions to allow Ally to securely communicate with the Brightspace REST APIs
Enable Cascading Role
Leave the Primary Facilitator option disabled since it may not be needed anymore
Role alias: ally
No changes need to be made under Tool Behavior Options, everything can remain disabled
No changes need to be made under Classlist Display Options, everything can remain disabled
Under Course Access Options:
Enable all access options:
Access inactive courses
Access past courses
Access future courses
Sections and Groups can remain set to None of the above
Role interactions:
Under Enroll Ally REST Role, select the checkbox at the intersection of the Administrator row and Organization column. This allows for creating a user with this role later on.
Under Search Ally REST Role, select the checkbox at the intersection of the Administrator row and Organization column. This allows for searching for a user with this role later on.
No further changes are necessary .
Configure the role’s permissions
Once saved, the new Ally REST Role will appear at the bottom of the role list. Open the dropdown and select Edit Permissions. In this screen, the following permissions need to be granted:
Filter by the Content tool and grant the following permissions in the Course Offering column:
View Course Content
Compile and Download Content
Download Content Topics
View Content that is Not Released
Manage Content
Create and Edit Modules and Topics
Delete Modules and Topics (necessary to delete potentially seizure-inducing images )
Course Management Console
See Course Info (Course Offering). This permission is required for Ally to retrieve the department's organizational units.
Classlist
Has Access to the Classlist
Discussions
View discussions (Course Offering)
This is necessary to list links to discussion topics in a course and its table of contents.
Quizzes
View quizzes (Course Offering)
This is necessary to list links to quizzes in a course's table of contents.
Org Unit Editor
View Org Unit Editor (Organization)
Can add and Edit Org Unit Types (Organization).
We need this role to list the semesters. Unfortunately, there is no “read-only” permission available. Ally will never create or edit organizational unit-type information.
Security
See Roles and Permissions (Organization)
User Information Privacy
See Usernames (Course Offering)
This permission allows Ally to see the User’s identifier, but nothing else. This information is never stored, but due to technical reasons, it is necessary to determine how many students are enrolled in a course.
See First Names (Organization)
Necessary to retrieve the user’s name and email when they request help. This is never stored on Ally’s end and only passes through in the help email.
See Last Names (Organization)
Necessary to retrieve the user’s name and email when they request help. This is never stored on Ally’s end and only passes through in the help email.
See Email Addresses (Organization)
Necessary to retrieve the user’s name and email when they request help. This is never stored on Ally’s end and only passes through in the help email.
Users
View User Enrollments (Course Offering)
Search for ‘Student’ (Course Offering)
Student is the default name for the student role. If your institution uses a different name for this user type, enable the Search for ‘...’ instead. This is necessary to retrieve the student count in a course offering. The data that is sent, is anonymized.
View the Users' Email Address (Organization)
It is necessary to retrieve the user’s email when they request help. This is never stored on Ally’s end and only passes through in the help email.
See the User Management Tool (Organization)
It is necessary to retrieve the user’s name and email when they request help. This is never stored on Ally’s end and only passes through in the help email.)
User creation
Once the role has been configured, a new user can be created with this limited set of permissions.
From the Settings menu (gear icon), navigate to Users
Start the create role process by selecting the New User button
Settings:
First Name: Ally
Last Name: User
Role: Ally REST Role
Username: allyuser
Select Manually set password and enter a suitably secure password in the Password field. It is vital that this password is sufficiently secure as changing it later on will require setting up everything again.
Save the user by selecting the Save button
Main configuration
Important
Make sure that the User and Role configuration is done first. The following configuration is done in a call with an Anthology Ally contact. Make sure that the configuration call is scheduled first.
From the Settings menu (gear icon), navigate to Manage extensibility
Make sure that you are on the OAuth 2.0 tab
Select the Register an App button
Fill out the form as follows:
Name: Ally
Redirect URI: <Redirect URI provided by Anthology contact>
e.g. https://[Ally env]/api/v1/d2l/callback?clientId=[Ally client ID]
Scope: content:*:read content:file:write core:*:* custom:contentaccess:read enrollment:orgunit:read
Prompt for user consent: No
Enable refresh tokens: Yes
I accept the Non-Commercial Developer agreement: Yes
Select the Register button
You will now be presented with the details of the newly created application. Copy down the client id and secret key, and share them with your Anthology Ally contact.
After having the Anthology Ally confirmation, select Update
Sign in to Brightspace as the allyuser
Go to the URL that was provided by your Anthology Ally contact (under Ally admin Client integration details). Although it’s a URL whose hostname ends in .ally.ac you will be automatically redirected to your Brightspace instance. Brightspace will present a screen asking your permission for Ally to interact with the REST API. Select Accept.
If all went well, the following success message should display: The REST integration has successfully been set up!
From the Settings menu (gear icon), navigate to Config Variable Browser
Locate the Ally configurations by using the tree menu on the left: 3rdParty > Ally
The ally integration lives in d2l.3rdParty.Ally.*
Add the configuration values with the ones provided to you by your Blackboard contact
ClientId
ClientSecret – Brightspace will present two inputs. Use the LTI secret for both inputs.
ScriptUrl
From the Settings menu (gear icon), navigate to Organizational Tools
Find the row for the Ally Integration and toggle the checkbox so that it’s turned on
Configure LTI
Follow this step to configure the LTI and register Ally tools.