Some time ago, we received a report of an instructor having problems accessing the grade center within their course. The confirmed behavior resulted in several similar errors (often depending on the browser used) when attempting to load the grade center. These errors all began with the string “An unexpected error occurred while loading the Grade Center”, followed by varying statements, such as:
- TypeError: this.visibleRows[pos] is null
- syntax error
- TypeError: Result of expression ‘a’ [null] is not an object.
After digging up a thread with a helpful post by Eric Knickerbocker that suggested that this might have been caused by an errant “smart View”, we were able to confirm that they had indeed being playing with smart views. That same thread offered a solution involving some URL hacking. This allowed us to get the tool to load appropriately,using a url that looked something like this:
While we still have not been able to determine the specific steps to replicate the problem, we have some theories. It may have something to do with smart view attempting to include disabled users in a view. Shortly after purging a data source, we noticed that the problem seemed to have resolved itself – only to return a day later. This was before the instructor had removed all the smart views in the course. A few of the smart views in question were being built on specific users, i.e. the view was created by selecting all the users in the list. It may be that certain logic behind the smart view function is failing when it attempts to access a record that is no longer enabled.
If you choose to implement the above solution to get a grade center back, you should back up your data first. Downloading it in the form of a comma separated or tab delimited file will make sure that you have a local copy that is readily accessible.
You can do this by using the same method as described above. For example, to get to the download page without loading the grade center, you should be able to access a url like this:
Generating a full course export and archive is also highly recommended before proceeding with something like this.