Fixing Blackboard’s Retention Center

(Keep in mind that Blackboard expects a fix for this in Learn 9.1 SP15)

Well, it’s upgrade week for us and our Blackboard Learn system. We went from 9.1 SP7 to SP11 yesterday with relatively few hiccups. One of the tools our Instructional Design team plans to take advantage of is the new Retention Center. This building block replaces the Early Warning System and gives instructors a graphical overview of student engagement. We tried working with it on our development server, but ran into a known issue whereby Retention Center becomes corrupt if you update it from Software Updates (again, fix not planned until SP15).

When we applied SP11 on our production server, Retention Center fared no better. Retention Center version 1.0 was installed by default. Despite showing as available in the Sys Admin panel, it was nowhere to be found inside course tools or the global menu. Installing the latest update only led to the “Corrupt” indicator appearing next to Retention Center and the Early Warning System still showed up inside courses. Pulling up the (MS)SQL, I noted the following tables were in the wrong schema:

ews_course_users
ews_gradebook_main
ews_note
ews_notif_attachment
ews_notif_recipient
ews_notification

If you are experiencing this same problem, you might see these tables prefixed with either “BBLEARN” or “BB_BB60.” The fix that worked for me was pretty simple:

  1. Update Retention Center
  2. Transfer the tables to the correct schema (in my case “dbo”)
  3. Uninstall Retention Center
  4. Reinstall Retention Center

The MSSQL syntax to transfer the schema was simply ‘ALTER SCHEMA dbo TRANSFER bblearn.table_name‘ for each table. Since I am both a PowerShell and Invoke-Sqlcmd fan, I used PowerShell to make things a little quicker:


$bbTables = @('ews_course_users',
'ews_gradebook_main',
'ews_note',
'ews_notif_attachment',
'ews_notif_recipient',
'ews_notification')
ForEach ($t in $bbTables){Invoke-Sqlcmd -server server01\bbinstance -database BBLEARN -query "ALTER SCHEMA dbo TRANSFER bblearn.$t"}

This did the trick for us, though I am not a Bb engineer or a DBA, so proceed with caution if you intend to do likewise.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s