Many Blackboard administrators are familiar with Building Blocks. Building Blocks are the original method for creating extensions for Blackboard Learn. In 2014, Blackboard released public access to a suite of REST APIs for accessing Blackboard Learn.
The Building Blocks Architecture
The Building Blocks approach consists in:
- creating a web application,
- packaging it as a .war or .zip file, and
- deploying it to your Blackboard Learn server along with a manifest.
The chief advantage of a Building Block is that it lives on the Blackboard Learn server so there is no need for an IP connection or network traffic. The chief disadvantage of a Building Block is that it lives on the Blackboard Learn server is more tightly coupled with it. Changes to one are more likely to conflict with or break the other.
Why REST APIs?
Using REST APIs allows a developer to create applications that are only loosely coupled to the Blackboard Learn server. They can live anywhere. They let the server serve information without risking possible interference with the server.
Security with REST APIs
REST APIs can operate under a variety of security models. Blackboard REST API authorization uses the industry standard OAuth 2.0. It enables making requests based on privileges defined by the Blackboard Learn administrator. Additionally, applications can use a three-legged variation of the protocol. This approach authenticates applications as specific Blackboard Learn users without sharing users' credentials. Users log in to allow the application to act on their behalf. The application then gains only the level of access enjoyed by that user.
What can you do with REST APIs?
You can request access to the Blackboard REST APIs through the Developer Portal. Once you register your application, we'll generate a unique key and secret so you can make calls and get the data you need to integrate your application with our platform. REST-based applications can access, for example:
For a complete list of REST endpoints available to developers, see the Learn API documentation.
Learn more about the The Blackboard REST API Framework
Learn more about the first steps with Learn REST API
Register a REST Integration in Blackboard Learn
Blackboard Learn supports the integration of external applications built using Blackboard Learn REST APIs. Before you can use an integration with Blackboard Learn, an administrator must register it with Blackboard Learn.
Before you begin to register the application, you must obtain an application ID. The developer may provide the ID directly to the administrator or bundle it with the support documentation for the application.
System Admin > Building Blocks > REST API Integrations
- On the REST API Integrations page, select Create Integration.
- In the Application ID space, enter the application ID proved by the integration's developers.
- Select Browse next to Learn User. Search through the list of Blackboard Learn users to find the user that the integration should act as. Typically, an integration acts as Administrator or some other user created for integration management. Ideally, the user has only the permissions that the integration needs to function properly.
- For third-party integration, set End User Access to Yes. End users will sign in with their own Blackboard Learn ID to use the integration. Each user's access is then limited to his or her own permissions. If you set End User Access to No, the integration always has access as if it were the Blackboard Learn user indicated on the form.
- Submit to save your settings for the integration.
The latest update to Google Chrome (Chrome 80) includes some changes to how the browser handles third-party cookies. These changes may affect tools that integrate with Blackboard Learn using the Learning Tools Interoperability (LTI) standard, Building Blocks (B2s), and REST APIs. If you have trouble accessing a Learn tool using Chrome 80, edit your browser’s settings to Allow sites to save and read cookie data. You can find instructions at Google Chrome Help.
Learn more about how Chrome 80's changes could affect Blackboard Learn on Behind the Blackboard.