WeBWorK Main Forum

LTI grade passback in a multi-institution installation

LTI grade passback in a multi-institution installation

by Spencer Bagley -
Number of replies: 9
Hi all,

So I'm encountering a problem that comes from our weird use case here at the University of Northern Colorado. For all the UNC courses, we use Canvas, and I've gotten LTI authentication working properly, with fallback to LDAP. However, we also run a few courses for a local high school, and they use Infinite Campus instead of Canvas. So, they're logging in directly, using userlists that the teacher maintains manually.

The problem this caused happened when I tried to enable grade passback. If you turn on grade passback, then everybody has to log into each assignment directly through the LMS at least once. Unfortunately, the high school courses can't do that, as they're logging in directly instead of logging in through an LMS.

So, according to the docs, it's possible to *configure* LTI grade passback at the course level (i.e., you can at least choose whether $LTIGradeMode is set to "course" or "homework" in the course.conf). However, the docs aren't clear as to whether or not I can *enable* LTI grade passback at the course level.

Is it possible, then, to turn on grade passback for some courses but not others? If so, how do I do this? If not, I'll submit this as a feature request through the usual channels.

Thanks!
Spencer
In reply to Spencer Bagley

Re: LTI grade passback in a multi-institution installation

by Danny Glin -
The short answer is yes. You can definitely turn on grade passback for individual courses. How you approach this depends on what you want the default behaviour to be vs. the exception.

If you leave $LTIGradeMode undefined in authen_LTI.conf (either by commenting it out or setting it to an empty string), then you can turn it on course by course by setting it in the respective course.conf file(s). It will remain off for all other courses.

It sounds like you want the opposite: LTI grade passback set up by default, but disabled for a few courses. You should be able to disable grade passback for an individual course by adding the following to course.conf:
$LTIGradeMode = "";

In fact, if these high school courses are not using LTI at all, you can disable the LTI step altogether by setting the following in course.conf:

$authen{user_module} = [

{ "*" => "WeBWorK::Authen::Basic_TheLastOption",} ];


I haven't tested this, but this should ignore all of the LTI configuration options and just use local passwords for authentication.
In reply to Spencer Bagley

Re: LTI grade passback in a multi-institution installation

by Michael Gage -
I need some clarification.  If I understand correctly the high school students are using WeBWorK's native (i.e. original) authentication system and they are not registered with Canvas as at all. In this case you can't pass a grade back to Canvas because there is no slot reserved for these students grades. Canvas wouldn't recognize the students and would reject the grades. 

 If Infinite Campus has an LTI feature then I think you could use that and pass the grade back to Infinite Campus but it might take some customization to make WeBWorK serve two LTI tool consumers.  

You can still download WeBWorK's "gradebook", which at this point is just a 
dumb cvs spread sheet of homework scores, into Excel and process grades from there.

aahh,  After Danny's response I think I understand the problem better.  I believe his solution will work to enable LTI only for certain courses. 

In reply to Michael Gage

Re: LTI grade passback in a multi-institution installation

by Andras Balogh -
We have a similar situation, but I don't see what the problem is.
LTI grade passback has to be set on both sides: WeBWorK and whatever LTI people are using.
I don't see how leaving the $LTIGradeMode turned on for the whole site creates a problem for the ones not using it. We have high school student accounts uploaded directly and they log in directly without any problem.

Maybe if you want to restrict authentication to not allow university students to log in directly, that requires course level changes.


In reply to Andras Balogh

Re: LTI grade passback in a multi-institution installation

by D. Brian Walton -
I'm experimenting with how grade passback works.

If $LTIGradeMode is turned on, then a student cannot access the homework without accessing it from an LMS assignment. I have attempted the following:

1) Access WeBWorK *site* using Canvas LTI authentication as an external tool
Result: Log in is successful, but access to homework is disabled because the LTI sourcedid has not been assigned.

2) Access WeBWorK *assignment* using Canvas as external tool (but not assignment)
Result: Successful login but shows that access to the specified assignment is not available

3) Access WeBWorK *assignment* from Canvas *assignment* which has submission via external tool
Result: Homework assignment is directly accessed, and now available regardless of how it is later accessed.

We have a test server with the default $LTIGradeMode = "homework"

I successfully disabled the homework grade passback but retained the LTI authentication by adding the following line in a course's course.conf file:

undef $LTIGradeMode

As an admin, I could edit this from the website. An instructor apparently does not have the permission level necessary to make such an edit.

Best wishes,
- Brian Walton
In reply to D. Brian Walton

Re: LTI grade passback in a multi-institution installation

by Andras Balogh -

I don't think this is true:
"If $LTIGradeMode is turned on, then a student cannot access the homework without accessing it from an LMS assignment."
Grading has nothing to do with access (authentication).

We have $LTIGradeMode = "course";
and we have a bunch of high school students accessing our WeBWorK without LMS.

If the student account is there, it is up to the authentication protocol to deal with the authentication.
Maybe your problem is what I complained about before:
The different authen_**.conf files are overwriting each other,
so you must specify all the different authentication methods in localOverrides.conf and not in the authen_**.conf files.
See
http://webwork.maa.org/moodle/mod/forum/discuss.php?d=4098


In reply to Andras Balogh

Re: LTI grade passback in a multi-institution installation

by D. Brian Walton -
Good catch. I should have indicated that when $LTIGradeMode="homework", then a student can not access a homework set without coming from the LMS system.

I have not tried anything with $LTIGradeMode = "course".

- Brian

In reply to D. Brian Walton

Re: LTI grade passback in a multi-institution installation

by Andras Balogh -
Yes, sorry. So I also misunderstood what you wrote.

$LTIGradeMode = "homework"; students can access the webwork course, but not the homework set. The message next to the homework set in WeBWorK set is:
You must log into this set via your Learning Management System (e.g. Blackboard, Moodle, etc...).

$LTIGradeMode = "course"; students can access both the webwork course and the homework sets.



In reply to Spencer Bagley

Re: LTI grade passback in a multi-institution installation

by Spencer Bagley -
Thanks, everyone, for your very useful replies!
I've decided that I'm probably not going to mess with it until the semester is over, but it's good to know that I can just undef $LTIGradeMode in the course.conf without anything breaking.

Cheers
Spencer