In the old days of WebCT, instructors were given a tab that allowed them to view their course as a student. In Blackboard 9.1 this functionality is missing and much missed!

After a little investigating I found an open source Student View building block developed by cool Aussie cat named Wiley Fuller. The block exposes a course tool for the teacher to click which causes a demo student to be created and enrolled into the course and then switches the instructor to the freshly made demo student.


If you’re looking for locale globalization in your building blocks then you need to use bundles. Bundles allow you to create property files for each language and then used them throughout your application.

There is a B2Context jar file developed by Stephen Vickers that allows you to easily get the correct language property file and then import it into the pageContext for parsing in your jsp file. But rather than waste time trying to figure it all that out, just look how Michael Fudge does it in the B2 Starter Kit.


This year long project was to transition our faculty and staff from our old locally hosted Blackboard Vista/CE8 to a managed hosted Blackboard Learn 9.1 - in all respects two different learning management systems (LMS). Below are some items that I played a part in.


I presented the course evaluations building block at ARBug this year. I did this to practice for my upcoming presetation at BbWorld DevCon 12. The presentation was geared towards system admins but there were only 3 system admins out of the 12 people that showed up to hear me talk so the audience wasn’t really right. Below is the prezi I used, I may not use this for DevCon… as it was a little more liberal in nature.


If you’ve ever heard of Dropbox then you can think of Blackboard Drive as an awkward cousin. Blackboard Drive creates drive (like the C:\ drive) which allows users to easier manage files and folders that are stored online in the Content Collection.


During the month of November, I worked on a project at UALR to create a process for online course evaluations. The result of several weeks of slaving away on one of my first blackboard Building Blocks (B2) ended up being used to allow online students evaluate courses at the university.


Blackboard has a tag library which allows you to put familar Blackboard looking html objects into your Building block. One element in the tag library is an inventoryList, which gives you a nice looking list of items. An inventory list in Blackboard might render something like this:


ActiveRecord is to Ruby on Rails as Active Objects is to Java. Ideally it would be called AwesomeObjects. At last, persisting data for your Java web application is not all xml, POJOS, EJBs and did I mention xml? I don’t hate xml but I find configuring your application extremely inefficient after working with other frameworks that utilize convention over configuration.

Why do I have to specifiy a log4j properties file, hibernate persistance.xml configuration. And there’s soooo many options of how to develop: JPA, Wicket, OJB, Spring, Struts, Torque, Cayenne, Jaxor, TJDO, JDBM, pBeans, JPOX, Simple ORM, Ibatis, XORM, Speedo, Smyle, PAT, LiDO, JDO, IntelliBO, KodoJDO, Hamlets, Faces, RIFE, Shale, Sling, Stripes, Vaadin, Poopdeck (okay, I just made that one up). Point is that It can be a real headache to develop a Java web app.

Furthermore, why do I have to create my POJOs and SQL for my database? Why can’t a framework just create my data objects, along with nice RESTful CRUD operations for each. Why, crow, why?! So at least for the moment, finding ActiveObjects is lemonade to quench my thirst for answers.