Cumulative Update 4 for Blackboard Learn 9.1 April 2014 was released on March 10, 2015. To learn more, see Cumulative Update 4 for Blackboard Learn 9.1 April 2014 on Behind the Blackboard.

Preparing for the Learn 9.1 April 2014 release

To generate excitement and drive adoption of the new features among your learning community, see the Communication and Adoption Toolkit.

In addition to the release notes and technical details in this section, use the following resources when upgrading from an earlier release to the current release:

New features and updates

April 2014 New Features and Updates
Name Minimum Release Description
Anonymous and Delegated Grading Learn 9.1 April 2014 Instructors can hide student names from submitted assignments for anonymous grading. Instructors can delegate grading to specific users.
Assessments Learn 9.1 April 2014 Significant figures have been added in calculated formula test questions, such as leading zeros.
ConnectTxt Learn 9.1 April 2014 ConnectTxt is now available for Blackboard Learn. You can learn more and download the build.
eXplorance bluepulse Learn 9.1 April 2014 Bluepulse is an open social platform that directly ties student input to classroom improvement. It is bundled in the Learn 9.1 April 2014 release.
Financial Aid Reporting Service Pack (SP) 12 and higher Generate reports of student academic contribution within a single or multiple courses in Blackboard Learn 9.1.
My Grades All Learn 9.1 Releases The look and feel of My Grades has been updated. Students now view feedback by selecting View Feedback.
Portfolios Learn 9.1 April 2014 Portfolios are now accessed from the global navigation menu and have a new authoring canvas.
Profiles Learn 9.1 SP 10 and higher Profiles will be integrated with MyEdu to deliver an Enhanced Cloud Profile. The Enhanced Cloud Profile provides users with their first professional profile; helping them demonstrate skills & competencies they have developed through their educational journey in a visual and uniquely compelling way.
Redis Cache Learn 9.1 April 2014 Redis Cache is bundled in Learn 9.1 April 2014.
SafeAssign Learn 9.1 April 2014 SafeAssign is integrated into regular Learn assignments.
Student Preview Learn 9.1 April 2014 Instructors can view their course exactly as a student does by using a student account the system generates for them.

To learn how to install and activate building blocks, see Install Building Blocks.

The installer has been updated. For a successful installation or upgrade, read the Install and Upgrade topics. To learn more, see Install and Upgrade (in English only).

Environments are more secure, simplified, and better performing because all Web traffic is secured and tunneling proxy Web server has been eliminated for those without Shibboleth. To learn more, see Performance and Scalability (in English only).

Learn no longer supports SSL Choice and must be run over HTTPS. To learn more, see Install and Upgrade and SSL Configuration (in English only).

Performance and scalability

More on performance and scalability improvements in Blackboard Learn 9.1 April 2014

Activity Accumulator

Activity Accumulator tasks have been moved from the database to bb-tasks. This change improves performance by running Activity Accumulator tasks in a low-priority pool and improves reliability as they may no longer become unavailable in the database. These tasks (bb.stats.queue_update and bb.etl.refresh_noaa) are configured in blackboard/config/bb-tasks.xml to run on at least one application server. This requires no additional editing of the bb-tasks.xml file.

The default task period is ten minutes for bb.stats.queue_update and one hour for bb.etl.refresh_noaa.

The new tasks in bb-tasks.xml are:

  <!-- Must run on at least one application server -->
  <task-entry key="bb.stats.queue_update" version="60">
      <property name="delay" value="600000" />
      <property name="period" value="600000" />
      <property name="db-priority" value="low" />
  <!-- Must run on at least one application server -->
  <task-entry key="bb.etl.refresh_noaa" version="60">
      <property name="delay" value="3600000" />
      <property name="period" value="3600000" />

There is no db-priority on bb.etl.refresh_noaa because the priority is handled internally. This job always runs with low priority no matter how it's triggered: Admins can trigger it manually and scheduled reports trigger the job before a run. This minimizes performance impact.

Frames removed and replaced with DIVs and iFrames

Technical changes to the primary navigation in Blackboard Learn make navigation easier for visually-impaired users and prepare the interface for future enhancements to better support hand-held devices.

Frames have been completely removed from the Learn application and replaced with HTML5 compliant DIVs and iFrames. This change improves page printing, accessibility, and page navigation. User-created iFrames will no longer work in Learn.

There are two main reasons for making this change:

  • Improved accessibility. Users of screen readers will find it easier to orient where they are on the page and successfully navigate. There is also a more sensible browser title for each window.
  • Structural changes for future enhancements. By eliminating frames from the primary navigation UI, we've taken an important step to being able to deliver a future interface that is more responsive to users on smaller devices.

Installer changes

This release includes changes in the installer that modified the services and configurations of Blackboard Learn:

  • Apache HTTP Server is no longer included in the installer (Linux/Solaris versions).
  • A web server, Apache HTTP Server (Linux/Solaris) or IIS (Windows) is no longer configured to be used by the Blackboard Learn application. ServiceController will no longer manage Apache HTTP Server and IIS.
  • The new installer prompts for a Apache Tomcat port (default: 8080/8443) and provides a warning, if a port below 1024 is selected.
  • SSL Choice is no longer an option that can be configured by administrators. All deployments now require SSL to be used for the entirety of the application. Note that the installer provides a self-signed certificate.


The Course Creation Wizard entitlement has been added to system roles: System Support and System Administrator. Users of the Course Creation Wizard module must be assigned this system role entitlement. The Course Creation Wizard found in the System Admin panel is unaffected by this change.

To learn more, see the User Roles and Privileges.


Blackboard is committed to improving security features and resolving security vulnerabilities quickly and carefully. Such security vulnerability resolutions may lead to the release of a Security Advisory as well as any needed product update for our customers based on the context, severity and timing of confirmed vulnerabilities. Below we have outlined the security enhancements and security vulnerabilities resolved in this release.

Security fixes

To learn more about specific security fixes for the April 2014 Release, see Security Fix Release Notes for April 2014 (in English only) on Behind the Blackboard.

Input Sanitization hardening

Input Sanitization is a security countermeasure to harden against cross-site scripting attacks. This release is part of a multi-release strategy to further enhance this security counter-measure. This release contains updated input sanitization APIs around primary key identifiers to make a more secure platform. To achieve the correct solution in the future without impacting clients, developers, and partners, Blackboard is starting by logging areas no longer conforming to expected API use to prepare for the API changes. These logging changes provide a means to identify needed changes in building blocks and other customizations prior to implementing stricter Input Sanitization filtering in the future and reduce the likelihood of potentially vulnerable transactions in Blackboard Learn.

At this time, these logged events are informational and helpful in identifying areas requiring code changes to conform to Primary Key Handling Coding Practices. In a future release, Blackboard Learn will begin filtering all of these potentially vulnerable requests.

Therefore, for events related to core Blackboard code appearing in the logs, no action is required. These items are planned to be resolved in an upcoming release prior to enforcing filtering. However, for events logged related to installed/add-on building blocks, this information will be valuable in planning for the future. Whether the building block is developed in-house or from a third party such as partner, an open source community, or Blackboard Consulting, administrators should begin conversations with the developers to plan for changes to the reported building blocks to conform to newer security practices related to the handling of primary keys.

These security events are logged in the Blackboard Learn bb-security-log.txt log file with a Learn specified security event code of 1026.

SIS Framework

Learning Information Services (LIS)

Support for IMS LIS has been updated to conform to the 2.0 final specification, supporting more recent releases from SIS partners and vendors. We also now support the retrieval of grade information through the LIS specification.

To learn more, see LIS - IMS Learning Information Services.


Integration feeds no longer are required to provide Learn passwords (RDBMS) at creation time for users, and passwords can safely be omitted from all types of integration feeds. When a password is not provided by the integration, Learn generates a Type 4 Guid hashed by MD5 password, which cannot be used for login and is used solely as a placeholder to ensure only external authentication is used.

The default for the password field in newly defined SIS integration is changed to be ignored on record update.

Existing integrations need to be manually changed to reflect this setting, which is correct unless the external record source (SIS) knows the bb-internal RDBMS password.
This also includes legacy command-line snapshot, and the PASSWD field has been added to


  • If using external authentication, Blackboard recommends that clients to NOT provide a password. This allows Learn to set a placeholder password that cannot be used for login.
  • If using RDBMS (default) authentication, Blackboard recommends customers provide an unhashed/unencrypted password so that Learn may securely hash using the salted SHA-512 hashing algorithm.
  On record creation when no password is provided On record creation when a password is provided On record update
SIS Integration

Previously, when no password was provided in this scenario, a processing error would occur since a value was required. With this change, a placeholder password that cannot be used for login is used. The placeholder value is a Type 4 Guid hashed by MD5.

No changes. If the provided password is hashed, it would continue to be used. If the provided password was not hashed, then the system would by default securely hash using a salted SHA-512 hashing algorithm.

This release resolves a password syncing issue for RDBMS authentication and improves performance for customers using external authentication.

Legacy Snapshot

With this release, a placeholder password that cannot be used for login is used. The placeholder value is a Type 4 Guid hashed by MD5. This is a higher performing placeholder password than the previous algorithm and is acceptable because it is not used for authentication

This release improves performance for password hashing. Passwords are hashed with salted SHA-512. This release resolves a password syncing issue for RDBMS authentication and improves performance for customers using external authentication.

Web Services, APIs, and extension development

Building Block Framework improvements

In order to improve startup performance, Building Blocks (B2s) that previously shipped in the unavailable state are now inactive by default when performing a clean installation of Blackboard Learn. These changes do not affect upgraded systems.

Every available or unavailable B2 will be mounted at startup, and therefore impact startup time. If startup performance is a concern, consider reviewing and marking inactive any B2s that are not in use. Note however, that B2s do not necessarily implement availability controlled features, so changes should be tested carefully. A B2 having an unavailable state does not necessarily mean functionality can't be used, or services are not being provided to the Learn platform.

Additionally, Blackboard has added two improvements to the Building Block Framework which improve application startup time by circumventing unnecessary class loading via bean introspection activity and unnecessary checks for loading of shared libraries. Both are additions to bb-manifest.xml.


Blackboard has added an element to the bb-manifest.xml file to circumvent class loading via bean introspection in cases where class loading is not used by the extension. The requires-bean-introspection element controls whether class loading is required by the building block. This change does not impact Blackboard class loading.

Addition of this element is onlyrequired when the following error is logged when attempting to install a building block:

"This classloader does not allow bean introspection, cannot load <classname>"

If a building block exhibits this error, add <requires-bean-introspection value="true"/> to the last line of the bb-manifest.xml (directly above the closing </plugin> tag). This instructs the Building Block Framework to perform the required dependency check for the building block to load and operate correctly.

Do not add this element unless required as indicated by the above logged error as this will negatively impact Learn Startup.

If the requires-bean-introspection element is absent or set to false, class loading via bean introspection is not performed, thus improving load-time for that building block effecting a positive overall Learn application startup time.


Blackboard has added a provided-packages element to the bb-manifest file to control the searching for shared libraries to those specified by the building block. This does not impact the loading of blackboard or com.blackboard packages.

If this building block is sharing packages via its libext folder for use by other building blocks, these packages are declared as child elements of the provided-packages element in the bb-manifest.xml. The provided-packages element is placed above the closing </plugin> tag (and requires-bean-introspection tag if required) as shown below:

  <requires-bean-introspection>...</requires-bean-introspection> <!-- This line shown only for provided-packages placement - do not include this line if not required by the Building Block -->

This addition should be made in all cases where dependencies on shared packages are necessary as this manages the scope of package searches for loading.

Gradebook APIs

For developers, there have been changes in deprecation status and organization of APIs for Gradebook access and persistence. Of specific note, package names for some APIs have changed. To learn more, see Building Blocks API and Web Services Specifications and Changes and Integration Development. changes

For developers, there are changes in this release regarding the values returned on some when requested using ConfigurationServiceFactory.getInstance().getBbProperty() in a java class.

Of specific note, the return values for the following deprecated properties have changed:


In previous versions (e.g.: 9.1 SP13) the values returned were:

Static Constant Bb-config Property Returned
WEBSERVER_FULLHOSTNAME bbconfig.webserver.fullhostname
WEBSERVER_OUTBOUNDPROXY_URL bbconfig.webserver.outboundproxy.url
WEBSERVER_PORTNUMBER bbconfig.webserver.portnumber

In the April 2014 Release the following values are returned when using pre-April 2014 static constant references:

Static Constant Bb-config Property Returned
WEBSERVER_FULLHOSTNAME bbconfig.frontend.fullhostname
WEBSERVER_OUTBOUNDPROXY_URL bbconfig.appserver.outboundproxy.url
WEBSERVER_PORTNUMBER bbconfig.frontend.portnumber

For the April 2014 Release these should be replaced in java code as following:

Pre-April 2014 Release Static Constant

Note: Failure to use the new constants in your April 2014 targeted Building Blocks will result in unexpected behavior as the values returned may not be as expected.

Backward compatibility

For a B2 using java classes utilizing these deprecated properties and constants to be compatible with previous versions of Learn you must provide a Learn version conditional that specifies the appropriate static variable request per version. The old property static variable must be hard-coded in the conditional as the string representation of the bb-confige value when compiling using the April 2014 Release libraries. E.g.: use "bbconfig.webserver.fullhostname" instead of the static constant WEBSERVER_FULLHOSTNAME.

Resolved issues

  • Use of the Course Creation Wizard module now requires users to have a system role and with a specific entitlement. This is related to a change introduced as a result of Security Advisory LRN-76862.
  • LRN-78442: When accessing a course as an instructor using IE11, the browser crashes if the course has Edit Mode turned ON. With the April release, the browser no longer crashes.
  • LRN-72659: Instructors running the discussion board automatic de-anonymizer may occasionally be set as the thread author in courses they are not enrolled in. With the April 2014 release, instructors running the discussion board automatic de-anonymizer are only set as the thread author in the courses they are enrolled in as instructors.
  • LRN-75735: Inline Grading: Discussion boards, journals, wikis, and blogs submitted as 0 if viewed or graded by someone who is not an instructor. With the April 2014 release, discussion boards, journals, wikis, and blogs are no longer submitted as 0 if viewed or graded by someone who is not enrolled in the course and able to grade submissions.

To learn more about additional Known Issues that were resolved, see the Known Issues page (in English only).

For self-hosted environments

For self-hosted installations, be sure your server hardware and software will support this release.

Windows 2012R2 Support
Windows 2012R2 is supported for 9.1 April 2014 Release

  • Collabserver's HTTPS port has changed to 8012
    • This port change must be made in before running the installer
  • Server hardware capacity and performance review
  • Server software compatibility
  • Learn no longer requires a Web server to deliver the application
  • Installing/Upgrading Learn on Unix systems no longer requires a root user (superuser) account provided root required pre- and post- install/upgrade system configuration is in place. Note that running Apache™ HTTP Server services will require a privileged account for starting and stopping the service.
  • changes:
    • Added bbconfig.jvm.options.preferipv4-enabled by default. Sets the Java option to avoid problems with features that require IPv4 addresses, and performance issues that can occur due to invalid IPv6 DNS configurations. To learn more about Java's IPv6 support, see

Given these significant changes, Blackboard strongly recommends that you perform a complete review of the install and upgrade documentation be performed before attempting to install or upgrade Learn.

Upgrade paths for clients already on Blackboard Learn, Release 9.1

Existing Blackboard Learn Release 9.1 clients can upgrade from the following versions to Blackboard Learn 9.1 April 2014 (Build: 9.1.201404.160205):

  • Blackboard Learn, Release 9.1 SP 12 (Build: 9.1.120113.0)
  • Blackboard Learn, Release 9.1 SP 13 (Build: 9.1.130093.0)
  • Blackboard Learn, Release 9.1 SP 14 (Build: 9.1.140152.0)

If you are a self-hosted client on a Blackboard Learn 9.1 release prior to 9.1 SP 12, you will need to upgrade to 9.1 SP 12 before you can upgrade to Learn 9.1 April 2014.

Upgrade paths for clients new to Blackboard Learn, Release 9.1

If you are upgrading from one of the releases listed below, make sure to read the install and upgrade topics, available in English only. To learn more, see Install and Upgrade. There are planning, training, and communication materials available to make this upgrade as smooth as possible. Please reference next steps based on your current release. For those migrating from Blackboard Learn Release 9.0 or Blackboard Academic Suite Release 8.0, please ensure that you include migrating to a 64-bit environment in your upgrade plans.

  • Blackboard Learn Release 9.0: You can upgrade to Blackboard Learn, Release 9.1 SP 9 (Build: 9.1.90132.0) from Blackboard Learn Release 9.0 SP 7 (Build: 9.0.692.0). You can then upgrade from Release 9.1 SP 9 to SP 12 (Build: 9.1.120113.0). From SP 12 you can then upgrade to Release 9.1 April 2014.
  • Blackboard Academic Suite Release 8.0 or earlier: You can upgrade to Blackboard Learn Release 9.1 SP 9 (Build: 9.1.90132.0) from Release 8.0 SP 7 Hotfix 2 (Build: 8.0.494.35) without upgrading to Release 9.0 first. You can then upgrade from Release 9.1 SP 9 to SP 12. From SP 12 you can then upgrade to Release 9.1 April 2014.
  • Blackboard Learning System CE 8.0 and Vista 8.0 Licenses: You must be on SP 6 (Build: to effectively use course conversion capabilities.
  • Blackboard Learn, ANGEL Edition: You must be on any ANGEL 8.0 or ANGEL 7.4 release to effectively use course conversion capabilities.

If you are a self-hosted client, you are on a release that is earlier than Blackboard Learn 9.1 SP 6, and you also use Oracle, you can use a pre-upgrade utility to minimize your downtime during this upgrade. Please consult the 9.1 SP 6 Release Notes and the Readme for the Pre-Upgrade Utility for Oracle for more information on this utility.

To learn more, see Install and Upgrade.

No longer supported

  • Oracle 10g
  • Oracle 11gR1
  • Windows XP and XP 64-bit
  • Internet Explorer 6, 7, 8
  • Firefox 1.5, 2.0, 3.0, and 3.5
  • Safari 2, 3, 4, 5 (or any version on Windows)
  • Mac OS X through 10.6
  • JDK 6 and below
  • Learning Environment Connections (LEC): The link for the LEC is removed from the administrator data integrations menu. The LEC was previously deprecated and support ended in an earlier release. In this release, the administrator configuration options interfaces will go away, although the LEC Building Block will remain after an upgrade unless specifically removed by the administrator. The LEC Building Block will be removed in a future release.


  • OS X 10.7 browsers are no longer certified but are considered compatible
  • RHEL 5 is no longer certified but is considered compatible
  • Solaris 10 is no longer certified but is considered compatible

To learn more

Visit Behind the Blackboard to learn more about the Cumulative Update 3 for Blackboard Learn 9.1 April 2014 released on December 24, 2014.