Grade Passback

When a lab link is placed in the LMS as a graded assignment, NETLAB+ returns a grade to the LMS grade book when the learner’s lab session ends. Nothing has to be configured in NETLAB+ for this beyond the tool permission described under What the LMS Administrator Needs; the LMS decides, link by link, whether it wants a grade.


What Is Sent

The grade is a score between 0 and 1 for the learner’s lab session. Unless the lab’s enhanced content supplies its own grade, NETLAB+ calculates an engagement score that weights the time the learner attended the lab against the time available, with a smaller component for how many of the pod’s devices and virtual machines they interacted with. The LMS scales the score to the points it has assigned the assignment.

The grade is sent once, when the session ends. NETLAB+ never revises a grade it has already reported; changes to a grade are made in the LMS grade book.

Note

A grade is returned only for a launch the LMS made as a graded assignment. A plain module item or page link carries no grade book line, and NETLAB+ sends nothing for it. This is not an error and is not logged as one.


How a Grade Is Delivered

Each queued grade is pinned to the launch that produced it: the LTI version the learner launched with, and, under LTI 1.3, the platform whose link they followed. Under LTI 1.1 the grade is sent with the community’s Consumer Key and Shared Secret using LTI Basic Outcomes; under LTI 1.3 NETLAB+ obtains an access token from the platform and posts the score to the line item the LMS named in the launch.

Because of the pinning, re-pointing a community at a different platform while grades are queued does no harm: each grade still goes to the LMS that issued its line item. Replacing a platform registration through dynamic registration carries the queued grades to the new registration.


Retries

A grade that cannot be delivered when the session ends, for example because the LMS is unreachable, is queued and retried on a fixed schedule. By default NETLAB+ retries every 60 minutes and gives up after 24 attempts.

Not every failure is retried. The LMS’s response decides:

  • Transient failures (the LMS could not be reached, a server error, an expired token) are retried until the attempt limit is reached.

  • Permanent refusals (the LMS rejects the score, the line item no longer exists, the permission was not granted) are not retried. The refusal is logged and the grade is marked as failed.

A grade the LMS keeps refusing therefore stops being retried once the attempt limit is reached, which is also what allows a platform with such grades pending to be deleted eventually. See Deleting a Platform.


Suppressing Grades for a Class

A class can be excluded from grade passback entirely.

Login to the NETLAB+ administrator account, or as an instructor who leads the class.

Open the class and click Edit.

Check Suppress LTI Basic Outcomes and click Submit.

While it is checked, no grades for the class’s labs are sent to the LMS under either LTI version, and nothing is entered in the LMS grade book for them.


Troubleshooting

The learner completed the lab but no grade appeared:

Confirm the link was placed as a graded assignment in the LMS, that the tool has the score permission (What the LMS Administrator Needs), and that Suppress LTI Basic Outcomes is not enabled on the class. Under LTI 1.3, a wrong OAuth 2.0 Token Endpoint on the platform is not noticed at launch and surfaces exactly this way; check it against the LMS.

Grades stopped arriving after the LMS moved to LTI 1.3:

Grades are returned under the version each learner launched with. If the LMS course is still launching through a leftover 1.1 tool, the 1.1 path is used and needs the community’s 1.1 keys to remain valid. See Moving from LTI 1.1 to LTI 1.3.

The LMS refused the grade:

The refusal reason from the LMS is recorded in the NETLAB+ log. Common causes are a permission not granted to the tool and a line item that was deleted in the LMS after the launch.