Question about: Golf Explained - Sequencing Pre or Post Test Rollup In this course, if you fail the pre-test the status for this sco is incomplete and progress status though is completed. I was wondering how or what the system is looking to in determing that the "course" is completed when given it contains 5 scos and the learning and post test scos are completed but the pre-test is not. How does it distinguish/know that the first sco is no longer important (and vice versa when you pass the pre-test and don't need the post test)?
The rollup to the course level is handled through a global objective. If you look closely, you'll see that the pre test and post test both write to a global objective with id "com.scorm.golfsamples.sequencing.preorposttestrollup.assessment_satisfied".
If the pretest is passed, we write a satisfied status to this global and the course becomes satisfied and we disable the post test because it is no longer necessary, thus rendering the post test "no longer important".
If the post test is passed, we also write a satisfied status to the same global. This writing overwrites the value stored by the pre test, thus rendering the first sco "no longer important".
The overall status of the course is determined by this global objective thus giving the course the status achieved on the most recently taken test.
You'll notice another bit of trickery involved though. Prior to 4th Edition, a global objective can only contain satisfaction status. This to get the course's completion status to be based on the global objective, we introduced an invisible cluster right below the top level: "dummy_item". The satisfaction status of this cluster is read from the global objective. Since the top level course only contains this one activity, the default rollup rules for satisfaction will make the course satisfied when this cluster is satisfied. We then provide an explicit completion rollup rule that make the course completed if the cluster is satisfied.