Higher Ed

Ideas and innovations for the higher education market as shared by our client community and industry thought leaders.

Author avatar
by Chris Borales

Building Blocks Rock!

To kick off our Building Blocks Rock series I decided to interview Patricia Goldweic of Northwestern University. Patricia has been working with Blackboard of the past few years spearheading development of the Bboogle Building Block that allows schools to leverage Google Apps for Education within their Blackboard Learn environments. Her work on Bboogle earned her a nomination for this year’s Innovative Developer Catalyst Awards. Chris Borales: Patricia, tell us a bit about your background.  How did you get into web development? Patricia Goldweic: My background is computer science (I have bachelor and master’s degrees in computer science). I got into web development as part of my job as a developer, initially for Cognitive Arts, and then for Northwestern University. CB: So, how did you get started developing Building Blocks? PG: I got started developing building blocks around 2002 (my first year at Northwestern University). I believe my first real building block was probably a first version of what eventually came to be known as the open source File Bridge project (an integration of Bb and the Xythos web file management system). CB: How did the Bboogle project come about? PG: Back in the Summer of 2008, my supervisor asked me to experiment with and prototype, a first simple integration between Blackboard and Google Apps, as he was being approached by some faculty interested in exploring the possible connection between the two. We had quite a bit of experience at this point in integrating Bb with external systems while providing a ‘link making’ capability that allowed instructors to embed links to the relevant external content (by this time we had done integrations with the Xythos web file management system, the Plone content management system, the Refworks bibliographic data management system, and had also created a general ‘bridge/Application link maker’ building block among others).  So this integration with Google Apps seemed like a worthy goal to embark on, given the great potential that Google Apps presented in terms of facilitating collaboration, and although many of the relevant apis had not yet been released by Google. This first experimentation gave rise to a prototype building block that provided little more than single sign-on onto Google Apps from within Blackboard, and a simple bookmarking tool. The Bboogle project was officially launched in 2009, after Google released several apis that made the desired integration seemed like a doable proposition. During the following year we expanded the scope to include Google Sites and Google Calendar to the integration (we had originally focused on Google Documents), and then started using Google Apps groups as the ‘content sharing’ unit within Bboogle. During 2011 Blackboard development actively collaborated with Northwestern and contributed the first certified release of the Bboogle building block. We are excited to see Blackboard supporting the Bboogle building block and contributing to its continuous development. CB: What Blackboard resources did you use to get up and running with Building Block development? Anything other than Blackboard-specific resources? PG: I only remember using Blackboard-provided resources to get started with building block development, although I was already familiar with client/server development in Java, and the concept of the web application (which is what building blocks really are) was definitely not a new one for me. The documentation provided by Blackboard at the time was somewhat lacking (a developer guide, javadocs which were less than complete, and a unique sample building block). The work involved a very good amount of trials and errors until I got the first pieces in place. I still remember getting confusing manifest-related error messages when installing blocks, with no indication at all of what the errors actually were. Fortunately things have gotten better for developers in the last few years, both in terms of documentation provided by Blackboard, and also in terms of actual help and attention paid by Blackboard to developer issues, which makes a huge difference. CB: What advice do you have for those looking to become Building Block developers? PG: My advice for new developers is to read some of the tutorials available on Edugarage, in addition to the developer guides from Blackboard (both on general building block development, as well as administrative building blocks. I’ve personally found the guides by Mark O’Neil to be very helpful). I also suggest familiarizing oneself with web application concepts (servlets and jsp, etc.). Also, the more exposure one can get to actual working blocks to use as samples, the better. For debugging purposes, it is imperative to know the locations of all the relevant Blackboard logs and inspect them when a new block error is found (bb-services, bb-schema and the catalina out log). A majority of times, the answer can be found by carefully inspecting these logs.  New developers can use both the Edugarage forums, and the open source community mailing list, which is probably one of the best resources available. CB: Are there any Building Blocks that you are currently using at Northwestern besides the Bboogle Building Block? PG: There are quite a few building blocks in use currently at Northwestern.  Those created by others are: a) The eLMS building block (by Vanderbilt), b) Ares Course Reserves c) Turning Point d) Web Assign. Those created at Northwestern are: a) Primo Connector (integration of Bb with the Primo Library system) b) Bboogle Teams (a companion to Bboogle that will eventually merge with it) c) CourseLife (open-sourced) d) File Bridge (open-sourced), e) Media Space2 (an integration with Northwestern’s media asset management system), f) a slightly customized version of an administrative building block originally provided in the Blackboard developers guide by Mark O’Neil (allows enabling/disabling of courses/users and enrollments), g) A couple of instances of the ‘Application Link Maker’ building block which connect to homegrown systems developed by either Academic Technologies or Northwestern instructors: ‘Code Critic’ and ‘Image Connect’. CB: Are there any other exciting Building Block-related projects at Northwestern currently? PG: The only current building block development effort is the integration of the Bboogle and Bboogle Teams building blocks due to be completed in short order. Previously, we completed the Primo Connector building block, which integrated the Primo Library System with Blackboard, and was placed in production here last year. We are also excited about the success of the CourseLife building block, and working with USC (another institution who adopted this block) to possibly integrate their minor customizations into a new public release. CB: Thank you so much for doing the interview with us! I’m looking forward to seeing you at DevCon! Patricia will be presenting at this year’s Blackboard Developer’s Conference, you can register for DevCon here. Her session will feature a walkthrough of the Bboogle Building Block, some development best practices as well as a demo of how the tool is used at Northwestern.