openwebwork / webwork2

Course management front end for WeBWorK
http://webwork.maa.org/wiki/Main_Page
Other
145 stars 165 forks source link

Reduced scoring improvements for achievements and the progress bar #2301

Closed drgrice1 closed 8 months ago

drgrice1 commented 9 months ago

Achievements now compute and use the unreduced score for problems for determining if a problem is complete/correct. That is set as the status that is passed into the achievement evaluators. The reduced score is cached in a hash key of the $problem object named reduced_score in case an achievement evaluator wants that information also (although none of them use this at this point).

This fixes issue #2285.

Make the problem siblings work with unreduced scores for determining correctness/completion of a problem. The siblings problem list shows a checkmark by problems for which the maximum possible score has been obtained, even if that is not 100% for the problem due to being in the reduced scoring period. Also when all problems are complete in the set and there are problems with reduced scores, then the progress bar shows "Complete" without stars instead of the usual "Perfect" with stars.

Mark "Perfect" for translation. For some reason it was not before.

drgrice1 commented 8 months ago

I added a new course configuration option $achievementPointsPerProblemReduced which is the number of achievement points awarded for completing a problem in the reduced scoring period for a set. Note that if you want students to earn the same number of points in the reduced scoring period, then set this to be the same thing that you have $achievementPointsPerProblem set to. By default $achievementPointsPerProblem = 5 and $achievementPointsPerProblemReduced = 3.

This was @somiaj's request in issue #2285.

drgrice1 commented 8 months ago

I should also point out that this does not change the number of points that are awarded for earning an achievement even in the reduced scoring period.