Fix Grademark integration logic to obey arbitrary decimal points in Assignments

Description

Currently, the max points from Assignments is inflated by a factor of 10 when sent to TII. Therefore, if your assignment is out of 10 in Assignments, it will be out of 100 in TII; if your assignment is out of 15 in Assignments, it will be out of 150 in TII.

This is likely due to the fact that the original developer(s) wrote the code under the assumption that you can only have a maximum of 1 decimal place when grading in Assignments. Due to the limitation that you cannot use decimal places in the TII side, they chose to send the max points value inflated by a factor of 10. Then when the grade comes back from TII, the code scales it back by a factor of 10.

However, now that we're able to grade to an arbitrary number of decimal places in Assignments, this paradigm becomes unwieldy when considering the implications on the TII side. For instance, if an institution allows grading to 2 decimal places in Assignments, and an instructor elects to make their assignment out of 10, then this would necessitate that the Grademark be out of 1000 on the TII side, to properly accommodate 2 decimal places coming back into Sakai.

As the number of decimal places increases, so to does the factor by which the grade has to be multiplied on the TII side, resulting in very high numbers. This can be both confusing and awkward for the end user.

A solution to this problem, is to force the Grademark in TII to always be out of 100, regardless of what the Assignment is out of in Sakai. In this way, the Grademark grade can be thought of by the end user, and interpreted by Sakai as a direct percentage. In this way, the grade in Assignments can easily be determined as the same percentage, but out of the total value which the instructor/maintainer has chosen for the Assignment, and it can include however many decimal places the institution allows.

We've also introduced a sakai.property to control whether or not Sakai accepts Grademark grades coming back into the system (which defaults to true):

"turnitin.grademark.integration.enabled"

Activity

Brian J. July 26, 2016 at 9:03 AM

Git commit 71be579

Brian J. July 26, 2016 at 9:02 AM

PR for updating README documenting sakai.properties: https://github.com/sakaicontrib/turnitin/pull/22

Brian J. July 26, 2016 at 8:26 AM

Git commits 185e07c, bff10cf

Fixed

Details

Assignee

Reporter

Property addition/change required

Yes

Components

Fix versions

Affects versions

Priority

Created July 25, 2016 at 11:05 AM
Updated October 14, 2016 at 10:19 AM
Resolved October 14, 2016 at 10:19 AM

Flag notifications