Building Blocks are capable of fulfilling predominantly but not exclusively two scenarios:
- Plugging-in additional or enhanced functionality to the core Blackboard product
- Bridging the Blackboard product to an external system
A Building Block is simply a web application that runs on your Blackboard application server. This web application is usually Java-based but can be .NET-based on Windows systems when IIS is configured correctly with the .NET framework. Packaged in the web application is an xml configuration file called the bb-manifest that defines the security restrictions on that particular Building Block as well as where the Building Block hooks into the core product. For Building Blocks that have user interfaces, tag libraries can be used to give the interface Blackboard's distinct look and feel.
Building Blocks are used to access, add, remove, and manipulate data within the Learning System. Examples of data types include users, courses, grades, calendar entries, and content items. These objects map to the entities that a user would see represented in the user interface.
Accessing and manipulating data involves using a series of loaders and persisters that provide the logic and functionality required to save data into and read data from the Blackboard Learning System.