Installation

Grade Passback, LTI 1.1, Blackboard + WW2.18

Grade Passback, LTI 1.1, Blackboard + WW2.18

by Wesley Burr -
Number of replies: 9

I upgraded from 2.14 to 2.18 in August, finally. Most of the configuration settings transferred smoothly. Was able to almost trivially re-enable the LTI authentication system, and students and faculty are able to get into WW just fine. Assignment links work fine. 

However, grade pass back is just ... not working? I don't see any obvious errors, but nothing is being sent from the WW server back to Blackboard.

Any tips on debugging this process? I don't see anything in the LTI configuration system that hasn't been turned on and configured. I want to have somewhere to start when talking to our Blackboard administrator, to figure out what's going on. 

(For context, with 2.14 I've had multiple years of seamless passback, no problems at all. It's the same course database and as far as I'm aware, the same Blackboard configuration)

In reply to Wesley Burr

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Danny Glin -
Since you were able to get LTI authentication working you must have already discovered the changes to the names of some of the LTI configuration variables, so the first thing to check was that you got the config variables correct for grade passback.

Do you see anything in the WW logs? In 2.18 I believe that the default place for the WW log is /opt/webwork/webwork2/logs/webwork2.log. Check to see if there are any error messages there that have to do with grades.
In reply to Danny Glin

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Wesley Burr -

Thanks for the message. I see the logs in the usual spot, yes. No messages about grades previous over the last 4 days.

I set the `debug_lti_grade_passback = 1` conf in `authen_LTI.conf`, and the refresh interval to 60 seconds. I do get some messages. There's a series of

  • LTI Mass Update: Queueing grade update for all sets and users.
which is appearing in both the logs and on the pages for the courses. This slowly proceeds through specific pages, which may just be users who are loading those specific pages and getting the message? It seems almost random what's triggering and not. But then the message went away for one specific course where I can see both Blackboard and WeBWorK at the same time, and no grades have been updated. 

Any idea what exact mechanism the queueing takes on, and whether it logs to webwork2.log? With a 60 second timing, I would have expected more messages, and maybe some failures, if it wasn't working?

In reply to Wesley Burr

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Danny Glin -

The mass update is now handled by the job queue, which runs in the background.  The first thing to check is that you have set up the job queue and it is running (sudo systemctl status webwork2-job-queue).

I don't know if the job queue logs errors, so I can't say where to look for anything that goes wrong with a queued job.

In reply to Danny Glin

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Glenn Rice -

The job queue logs errors to /opt/webwork/webwork2/logs/webwork2.log.

In reply to Danny Glin

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Wesley Burr -

Yes, that's it, thank you. The job queue daemon was stalled because of write permissions on the webwork2.log, and had been since the last time the daemon was reloaded (some 5 weeks ago). I did a chmod +w on the log, and now the daemon can write.

Note that the owner of the log was www-data:www-data, so the daemon must be running under another user? That might be something to look into, or add advice about on the wiki. I'll do this shortly, so when I get the same issue in 3 years I remember how to fix it ...

In reply to Wesley Burr

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Wesley Burr -
The job queue was definitely running as www-data:www-data. That's really curious. Wonder how the log became not writeable *by* the www-data user.

Oh well, super easy fix. And I threw a note in the installation manual to remind the installer to double-check that particular service after it launches, to make sure everything is good. Which I did not do, and if I had, would have immediately made it obvious what was happening.

Thanks for providing your brain trust!
In reply to Wesley Burr

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Arnold Pizer -

Note that in 

https://webwork.maa.org/wiki/Installation_Manual_for_2.18_on_Ubuntu#Implement_Option_C_.28Logrotate.29

it says "There is one additional step that is needed if you are serving directly via hypnotoad. In that case the webwork2 application initially starts as the root user, and then switches to the www-data user, and the webwork2.log file is created by the root user before the switch is made. So the file's owner and group need to be fixed."

Could this be the issue?

In reply to Wesley Burr

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Glenn Rice -

The webwork2.log file should be owned by www-data. The job queue does run as the www-data user (same as the webwork2 app).

In reply to Glenn Rice

Re: Grade Passback, LTI 1.1, Blackboard + WW2.18

by Wesley Burr -

That's the interesting thing. The log file was owned by www-data. And the job queue was running as www-data. But somehow, the log file was flagged as being non-writeable. Even though other events were being written to the file. Very bizarre chain of events, anyway. 

Thanks again for the suggestions - reminding me of the very existence of the job-queue daemon was the key piece of information that let me figure out what had happened, and fix it. And I did add that note to the installation instructions suggesting that the status of that process be checked after starting, to avoid any such issues for anyone in the future. No idea how it happened, so I can't prevent that, but it can be mitigated.