Skip navigation
All Places > Blackboard Developer Community > Blackboard Learn Developers > Blog > 2019 > July
2019

This is a follow on to the recent blog post about HttpClient .jar files. I'm writing because another vendor was using the Axis libraries we had in the classpath pre 3700.5.0. Those are gone too.

 

Always bundle all 3rd-party non-Blackboard .jars with your B2 and depend on those. Then the the B2 you ship won't break when Blackboard removes or upgrades the 3rd-party libraries in Learn that are/were on the classpath. And, be certain to keep the libraries your Building Block depends on up to date.

 

In general: Third party developers should include, and keep up-to-date, all non-Blackboard-authored jars that they need in their .war files, even if one that they need happens to exist in the class path already.  Blackboard will be upgrading or removing these jars as required and without notice.

 

I've had the question asked several times now so it deserves a blog post. The short answer to the question is to use Managed Placements. Reference this Blackboard Help article. This help article is also helpful. Here is a video demonstration

"Unable to launch link. The Tool Provider has been disabled by the System Administrator," even after enabling LTI and the specific tool in system-level Tools and the LTI global settings are correct. The issue is that LTI is not enabled at the course level. Watch this video to see the setting that causes the issue and how to fix it. 

 

The short version: Left Nav: Customization -> Tool Availability  -> Check the LTI Checkbox -> Hit submit 

I'm writing this to inform B2 developers that Blackboard has removed the Apache Commons HttpClient 3.x library from /usr/local/blackboard/systemlib in Blackboard Learn 3700.5.0. We are using HttpClient 4.x in Learn versions 3700.5.0 and later. 3700.5.0 has been in client-test since the 11th of June and went into production this last week on July 11. If your B2 depended on the HttpClient library that was in /usr/local/blackboard/systemlib and now gone, you will need to update it accordingly.

 

Here is a helpful blog post on the process of moving from HttpClient 3.x to 4.xhttps://blog.teamextension.com/migrating-from-httpclient-3-1-to-4-0-34 Note that this is NOT meant to be a cookbook on what to do, only an example of the types of things you might need to do. You will need to do your own research as a Java developer to make the changes to update to the HttpClient you do with.

 

In general: Third party developers should include, and keep up-to-date, all non-Blackboard-authored jars that they need in their .war files, even if one that they need happens to exist in the class path already.  Blackboard will be upgrading or removing these jars as required and without notice.

 

With the current pace of our SaaS deliveries, remember: Test early. Test often.

As many of you know, Java 8 is a thing of the past. Blackboard has been working to release Blackboard Learn with Amazon's Corretto 11 OpenJDK distribution. To help you prepare your Building Block integrations for this release, we have made early access availability for the Blackboard Learn B2 JAR files available in our external maven repository. The version to use with this is 3700.99.0. 

 

Happy developing!

This blog post contains links to a complete demonstration of setting up and using https://github.com/blackboard/BBDN-LTI-Tool-Provider-Node. Shout out to Scott Hurrey & Eric Preston and his team (everyone you see on the commit list at the repo!)  for all their work and help with this.

 

First things first: Read, and understand, the specification. We can't do that for you.

 

Video Part I. Setting up and running https://github.com/blackboard/BBDN-LTI-Tool-Provider-Node on your local box to use SSL. Prerequisite: Follow ALL OF THE INSTRUCTIONS in the README of the git repo to clone a local copy and set up Redis.  

 

Video Part II. Registering your local copy of BBDN-LTI-Tool-Provider-Node (BLTPN) on the developer portal and using the values from the registration to configure your local BLTPN.

 

Video Part III. Registration of the 1.3 Tool in Learn, creating a deep-linking managed placement, using the link to create content with the BLTPN tool. Near the end of the video we look at how to use LTI 1.3 Names and Roles to get all of the users in the course the link was launched from.

 

Video Part IV. Demonstration of custom parameters from the Deep Link launch request and also a review of Names and Roles in that request.

 

The purpose of Names and Roles is to let the Tool Provider get all of the memberships in the course, and the role of each member with a call to one endpoint using LTI 1.3 security. Here's a screenshot of how this looks from the BLTPN - showing the first two members and their roles that were retrieved from the course.

 

NamesNRoles