• Publicity: Public Only All

grading-procs.tcl

Test Item grading procs - support for different kind of grading types and schemes.

This file defines the following Objects and Classes: ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::round-percentage[i], ::xowf::test_item::grading::round-points[i], ::xowf::test_item::grading::round-none[i], ::xowf::test_item::grading::none[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i]

Location:
packages/xowf/tcl/grading-procs.tcl
Author:
Gustaf Neumann

Procedures in this file

Detailed information

Class ::xowf::test_item::grading::Grading (public)

 ::nx::Class ::xowf::test_item::grading::Grading[i]

Superclass representing a generic grading

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingNone (public)

 ::nx::Class ::xowf::test_item::grading::GradingNone[i]

Grading scheme, which omits grading at all.

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundNone (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundNone[i]

Implements a grading with no special rounding.

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundPercentage (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundPercentage[i]

Implements a grading expressed as a rounded percentage

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundPoints (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundPoints[i]

Implements a grading expressed as a rounded number of points

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundNone method grade (public)

 <instance of xowf::test_item::grading::GradingRoundNone[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based with no special rounding (2 digits). On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundPercentage method grade (public)

 <instance of xowf::test_item::grading::GradingRoundPercentage[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based on rounded percentage. On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundPoints method grade (public)

 <instance of xowf::test_item::grading::GradingRoundPoints[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based on rounded points. On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::load_grading_schemes (public)

 xowf::test_item::grading::load_grading_schemes -package_id package_id \
    -parent_id parent_id

Load the actual grading scheme objects defined for the package_id and parent_id. It might be the case that this function is called multiple times by a single request (when e.g. multiple exams are on a single page). So we are caching the result to avoid repeated computations of the same result.

Switches:
-package_id (required)
-parent_id (required)

Partial Call Graph (max 5 caller/called nodes):
%3 Class ::xowf::test_item::Answer_manager Class ::xowf::test_item::Answer_manager (public) xowf::test_item::grading::load_grading_schemes xowf::test_item::grading::load_grading_schemes Class ::xowf::test_item::Answer_manager->xowf::test_item::grading::load_grading_schemes xowf::test_item::Answer_manager instproc grading_scheme xowf::test_item::Answer_manager instproc grading_scheme (public) xowf::test_item::Answer_manager instproc grading_scheme->xowf::test_item::grading::load_grading_schemes xowf::test_item::grading::grading_scheme_wf_item_id xowf::test_item::grading::grading_scheme_wf_item_id (private) xowf::test_item::grading::load_grading_schemes->xowf::test_item::grading::grading_scheme_wf_item_id

Testcases:
No testcase defined.
[ show source ]