bfree – export courses from Blackboard

Another useful pointer from Michael Roy at Wesleyan’s Academic Commons, bFree is a tool built by the University of North Carolina at Chapel Hill. It allows you to open a Blackboard course export or archive file, select the files you want and then export these as an independent website.

This might not seem like a lot to some, especially with supposedly mature content interoperability specifications to ease the movement of content between CMS, but frankly I did a little dance when I saw this.

My issue hasn’t actually been with Blackboard’s CMS (no one in B.C. runs it) but with the product they acquired, WebCT. Specifically CE6 and Vista. I run a repository service for the province. We have funded both individual resources as well as full courses to be shared through this service. In CE6, there is currently no way to get a full course worth of content out of the system at one time in a way that works with any other systems. You can take a ‘module’ at a time as an IMS Content Package, but not the whole course. It’s not that this wouldn’t be feasible; the exact same state of affairs reigned over CE4 until it came time to get everyone off that platform when suddenly a tool that could export the entire course as an IMS package was created (the administrative Content Migration Utility). And it’s not like I am waiting around for WebCT/Blackboard to fix this; I was willing to develop a powerlink that extracted the entire set of content modules at once in a format that could be used in other systems. Except, much to my chagrin, I learned that WebCT/Blackboard had systematically left out the module export functionality from their API, and there are no plans to ever include it. Meaning there is no programmatic access to export content packages out of WebCT CE6. If you want to move an entire course worth of content, do it one module at a time.

This is probably enough that they can claim to not be playing the content lock-in game, but if I were at an institution that had recently adopted WebCT CE6, I’d be asking what the exit strategy from the product was (you do have one, right? because it won’t be long before you’ll have to have one) and shudder to think it amounts to “we’ll wait until WebCT offers us a good solution.” – SWL

13 thoughts on “bfree – export courses from Blackboard”

  1. Scott – I’ve been giving this issue of moving courses around a fair amount of thought, especially since my Campus is currently WebCT Vista, but my College (Business) may move some of its courses offerings to our new Global Campus Partnership, which will likely have a different CMS.

    So a couple of comments. First, there are more individual components that can be exported – Gradebook can export as a CSV. Discussions and Assignments can export through their Printable view option. Files can export via WebDav.
    Also you can right click on just about any page in the main frame and then open that frame in its own window and save that as a Web page. It is not perfect, to be sure, but you can capture structure this way in addition to content. This means you can get most if not all the stuff out, but reassembly in a different environment is likely to be time consuming. (It is interesting who “you” is in the above. I’m not sure most faculty have the wherewithal to do this, in which case it would have to be done on their behalf.)

    But, in truth, I don’t see much of an alternative to that. Consider the WebCT Vista tool called a Learning Module. Suppose those objects have no counterpart in the next system that you move to. Suppose you have one learning module per each live class session within which lies links to files, assessment, discussions, web links and instructions. What do you do about this in the next system? The point is you have to make a judgment. Automatic migrations make those judgments on your behalf. Sometimes that is ok. Sometimes not.

    The other comment is on pedagogic features versus standards. It seems like if a CMS does something innovative with the one, then they do poorly with the other. I guess this is your baby more than mine, but my point is that if the instructor has gotten used to the function teaching-wise, then they’ll likely try to replicate the function in the new environment even if they don’t see a tool that matches that function so well. To me, that’s part of the migration.


  2. Lanny, thanks for the thoughtful comments. It is true that moving “an entire course” from one CMS platform to another is not a trivial (or even totally do-able) thing, as an “entire course” is made up of not just the content, but the interactions, the discussions, the paths between these, etc. I believe this is in part what Common Cartridge hopes to facilitate (who knows for sure, it’s apparently a top secret spec, too dangerous for mere mortal non-IMS members to see).

    For my part, though, my lament is actually just about straightforward ‘content,’ and how WebCT has (in my view) intentionally made it more difficult than it needs to be to move an entire course-worth of content out of WebCT. There is no reason that all of the modules could not be exported as a single export, a single Content Package that could then be brought into other systems in one feel swoop. This obviously does not recreate an entire course, but it at least takes care of the content. The specs are there to do this, as is the code in WebCT, and not enabling it is pure malfeasance from my perspective. Too often the lack of tool portability and the pedagogical issues are thrown up as stumbling blocks, real in cases, but not, I believe, in the scenario I am describing.

    I wish I didn’t have to consider this at all. But the fact is in my situation the majority of the content I am trying to share between instructors and institutions is locked in various CMS and not out on the open web, and without easy ways to export and import it, sharing between these systems is made all the more difficult.

  3. Scott –

    Chris Vento leaving the company was a definite loss. Last summer he announced that for Vista 4, toolpack 2, they’d support the IMS tool interoperability standard. I’ve not kept track of that since, but it sounds like they’ve backed away from that commitment.

    Nevertheless, I’m under the impression that if you make section backups in WebCT Vista, that other LMS such as Angel or D2L can take that content and unpack into their own products. Isn’t that functionality there now?

    I know on our campus we do not allow instructors to make section backups at present for fear of taxing system resources too much. I’m curious to know how the content migrates from Vista 3 to Vista 4 and I’ve not yet seen that.

    But I did just re-verify, that you can go to a Web folder for your course, in IE not Firefox, select all the files and then download to your local hard disk. That’s a piece of cake.


  4. The site looks great ! Thanks for all your help ( past, present and future !)

  5. Thanks Scott for sharing the link to bFree. Every instructor using Blackboard should know about this tool….what a great utility access course content packaged with a Blackboard-created archive!

  6. Scott & Lanny – Very interesting discussion, although I’m catching this a few days late. Likely because I’ve been spending a lot of time moving content between Vista 3 and Vista 4, so quite a relevant discussion.

    While reading the post, I started to wonder how one could go about using the existing SDK to move an entire course: content, discussions, assessments, etc. It would be a bit of work, but it might be a fun project. Using the webservices, you can grab: mail, calendar, assessments, grades, and files. I know there are alpha versions of announcements and discussions available on the WebCT Developers Network. For files you also have WebDAV available. With the Powersight Kit you have a few supported views that you could use for user info, grades, tracking data, etc. – more if explore beyond the supported views I’m sure. As for the learning modules, Respondus has some features that aren’t provided by the SDK – it would appear they use an HTTP client to pseudo-login and for example, download survey results. So along those lines, here’s a quick capture of what occurs when you click on the export icon beside a learning module and walk through the export process:

    GET /webct/urw/lc45983238.tp47594553/displayFileBrowser.dowebct?folderID=47594553&type=Folder&multi=false&filter=none&writeAccessRequiredToSelect=true&applet=true&userOs=Win32&firstTimeFileBrowse=true

    GET /webct/urw/lc45983238.tp47594553/fmFileSelectTreeView.dowebct?target=POPUP_EXPLORER_RIGHT&folderID=47594553

    GET /webct/urw/lc45983238.tp47594553/browse.dowebct?userId=myusername&folderID=47594553&type=Folder&multi=false&filter=none&writeAccessRequiredToSelect=true&applet=true&userOs=Win32&firstTimeFileBrowse=true

    GET /webct/urw/lc45983238.tp47594553/fmTreeView.dowebct?target=POPUP_EXPLORER_RIGHT&selectFolder=0_47594553&U=1176852512267

    POST /webct/urw/lc45983238.tp47594553/cisLMExport.dowebct componentType=TOC_TYPE&returnURL=/pickMeLearningModuleComponent.dowebct?componentType=TOC_TYPE&userId=myusername&toolFrameType=rightToolframeset&userId=myusername&forward=/webct/pickMeLearningModuleComponent.dowebct?componentType=TOC_TYPE&regenFrame=done&oneElementId=47599071&viewType=exportOne&targetFolderId=47594553&backLink=

    POST /webct/urw/lc45983238.tp47594553//cisExportSummary.dowebct progressBarResult=1176852310263&progressBarSuccess=true&returnURL=/cisExportSummary.dowebct

    So maybe manipulating the HTTP requests is the way to make this work – no guarantees that upgrades won’t break it, but it’s a quick and dirty way to get things done. I’ve done something similar for downloading survey results out of several sections.

  7. Jeff, you ROCK! Some great tips to start investigating here. As luck would have it, I had dinner last night with the founder and lead developer for Respondus and will quiz them on this today, and Bob Boufford of “Ask Dr. C” fame who has also been given me some handy times for more manual approaches to getting content out that still will save my users some work. I will report back as I learn more, but thanks for this and sorry for thedelay inmoderating the comment. Cheers, Scott

  8. Bob’s a great guy and he gets far less recognition than he should for all the work he does on Dr. C – he has an answer for just about every question!

    I’m not sure of the specifics as to how Respondus does the whole HTTP Client thing, but I’ve done something similar for gathering survey results using the Apache HTTP Client:

    I was talking with a colleague this morning and he suggested a conversion tool from WebCT/Bb would be a good addition to the Sakai or Moodle projects. If you’re interested in working on something along these lines I’d be down for helping out.

  9. Jeff – I’m not a developer and so didn’t follow everything you suggested. But I do wonder whether early on you tried to install section backups from Vista 3 into the Vista 4 environment and, if so, what issues you encountered in the process.

    And for both you and Scott – I think it would be very beneficial to enumerate the issues migrating from Vista 3 to Vista 4, because those issues almost certainly will be magnified moving from WebCT to other vendors’ offerings.

  10. Lanny – We’re setting up a small summer pilot on Vista 4 and how we’re getting there is the section backup-restore path. I’m knee-deep in the process of making the move right now, the types of issues we’ve encountered: assessment durations switch from minutes to hours, assessment question order is changed, learning modules default to show a table of contents rather than the first page of content, and some of the Syllabus fields are garbled. There’s likely more but those are the ones that stand out for me at the moment.

    I agree that the move to Sakai/Moodle certainly would have a number of bumps in the road – but if you’re effectively pulling content out of WebCT into some neutral format, getting into another platform is really more of a rebuild issue.

  11. Thanks, Jeff. I was aware of the question re-ordering problem. I hadn’t heard about the durations issue.

    If you’ve discovered these before your uses have, you’re well ahead of the game.

  12. Just an update; received an email today from the developers alerting me to the fact that bFree had been updated. Here is the text of the release from David Moffat of UNC:

    Version 2 of bFree, the Blackboard Course Extractor

    The popular bFree application has been revised to extract far more material from a Blackboard course archive, and to make your exploration and use of that material easier.

    The program now extracts Announcements; Discussion Board entries, archives, and attachments; and Digital Drop Box and group File Exchange uploads. It continues to extract wiki entries and attachments, Staff Information and attachments, and Content Area pages, including folders, descriptions, links, and attached files of all kinds. Tests, Gradebook, Surveys, Assignments, and Pools are among the content items not yet supported.

    bFree will quickly create an independent web site for a course.
    The site can be placed on a web server or CD, or even loaded into Sakai. The web site mimics the structure of the original Blackboard course.

    The interface now displays previews along with the course outline, and provides a larger area for previews. All texts, titles, names, and descriptions can be searched to locate materials of interest.

    All the features of bFree are documented within bFree itself.

    bFree is available, free of charge, at:

    A document detailing version changes is here:

Comments are closed.