There are a vast number of tools and features available in Blackboard, but I’m sure you will agree, there are some things you can’t do, at least not yet! The great thing though about Blackboard is that through Building Blocks we can build more functionality into the system.

Perhaps you would like new features which help you manage your course, such as a way to quickly check all web links in a module or a way to maintain an online attendance register. Maybe there are features which you know would help your students, such as a tutorial sign-up sheet or a way for them to send files to their eReader. What other features would appear on your ‘wish list’?

Building the Blocks

To help you come up with some ideas, let’s talk a little bit more about what Building Blocks are and how they work.

Building Blocks essentially allow third-party developers to create customisations and extensions for Blackboard Learn through open APIs (Application Programming Interfaces) and web services. The types of building block that can be developed are:

  • Course Tool
  • Course Control
  • Group Tool
  • System Tool
  • User Tool
  • Content Type
  • Module

There are already a range of third party extensions available through Blackboard Extensions that we can try, including tools developed by other HE institutions. Also, we can now explore the viability of new in-house custom developments too!

One such development I recently started was the ‘Course Availability Per User’ system tool – Edge Hill University’s first Building Block! The aim of this Building Block is to assist administration of Blackboard by detailing a selected user’s course enrolments and respective availability.

Building Blocks can be as simple as querying data or as complex as connectors for synchronising data to externally hosted services e.g. Campus Pack. They are developed using a combination of the JDK (Java Development Kit), Building Block APIs and an IDE (Integrated Development Environment).

Developers use IDEs such as Eclipse and NetBeans to assist with the creation of Dynamic Web Applications. A Building Block is a Dynamic Web Application with the addition of one specific file: bb-manifest.xml. This file sets the properties that determine how the Building Block will behave and interact with the Blackboard 9.1 environment. Once the development of the building block is complete it is exported as a .WAR (Web Archive File) file and uploaded into Blackboard.

Community Resources

Edugarage provides a wealth of developer documentation, sample code/tools and user discussion to assist developers with creating building blocks.

Oscelot Projects is another great resource for open source eLearning solutions, developer related collaboration and code/tools.  Take a look at their web pages to see what others are currently developing.

Have your say

So, have you got any ideas? What course tools are missing? What functionality would be really useful for online group work? What could improve your course management or administration?

We’ve already added Building Blocks such as ‘Add Test Student’ and the ‘Paste from Word Mashup’ in response to requests from staff and we’d like to know what you would most value next. Feel free to suggest ideas and leave a comment. We can’t promise to add it all but we can certainly try!





John Langford
Learning Technology Systems Officer