Overall Rollup Process [RB.1.5]

193 Views Asked by At

In Sequencing Pseudo Code and at line "3.2. Apply the appropriate Objective Rollup Process to the activity" of "Overall Rollup Process [RB.1.5]", I don't know which Objective Rollup Process I should apply (i.e., Using Measure or Using Rules or Default Rules).

Please explain for me. Thank you

2

There are 2 best solutions below

0
On

The pseudo code does not define how to select the appropriate Objective Rollup Process in [RB.1.5]. Instead, section 4.6.5. of the SN book states how to do that.

Here is a summary of the section, translated into Ruby pseudo code:

if activity.rolled_up_objective.objective_satisfied_by_measure == true
    apply_objective_rollup_process_using_measure
elsif activity.rollup_rules.any? { |rollup_rule| [:satisfied, :not_satisfied].include?(rollup_rule.action) }
    apply_objective_rollup_process_using_rules
else
    apply_objective_rollup_process_using_default_rules
end

In the version 1.1 of SCORM 2004 4th Edition, both Objective Rollup Process Using Rules and Objective Rollup Process Using Default Rules are included into [RB.1.2 b], so line 3.2. of [RB.1.5],

Apply the appropriate Objective Rollup Process to the activity

should be:

For each objective associated with the activity
    If Objective Contributes to Rollup for the objective is True Then
        Set the rolled-up objective to the objective
        Break For
    End If
End For
If (the rolled-up objective is Defined) And (Objective Satisfied By Measure for the rolled-up objective is True)
    Apply the Objective Rollup Using Measure Process [RB.1.2 a] to the activity
Else
    Apply the Objective Rollup Using Rules Process [RB.1.2 b] to the activity
End
3
On

I've been developing a SCORM 2004 sequencing engine, and just started implementing [RB.1.5]. At first I was confused at the same point too. But finally I reached the following conclusions:

  • The term, "appropriate", that confuses you is pointless.
  • "Objective Rollup Process" in [RB.1.5] merely references [RB.1.2 b].
  • The appropriate objective rollup process will be selected and applied in [RB.1.2 b].

Lines from 1. to 1.2. in [RB.1.2 b] determines whether the default rollup rules should be applied or not. The rest of the code is for objective rollup using rules process.