Overriding the Default Sequencing Rules

| 12 Feb 2009 | Permalink


Most of the SCORM 2004 Sequencing and Navigation rules have intelligent default values that result in a good experience for the learner, even when no sequencing is specified. We have found that a few of the defaults are however a bit counter intuitive and if left unchanged, can lead to confusing behavior. In our experience, changing the following settings will more closely align the default sequencing behaviors with the intended learner experience.

Set Sequencing Control Flow to “true”

The Sequencing Control Flow setting determines whether or not flow navigation is enabled for the activity. By default, only choice navigation is enabled for an activity. In our experience, most content developers expect both forms of navigation to be available. Apply this setting to all aggregations (including the default organization) in your content to ensure that flow navigation is available to the learner.

<imsss:sequencing>
    <imsss:controlMode flow=”true”/>
</imsss:sequencing>

Completion Set By Content and Objective Set By Content to “true”

By default, SCORM 2004 assumes that all content (SCOs or Assets) will be non-communicative (i.e. they won’t talk to the LMS and report any status). When dealing with non-communicative content, the LMS will automatically mark the content as completed and satisfied just because the learner launched it. The Completion Set By Content and Objective Set By Content settings override this behavior and ensure that the activity will only be marked as completed or satisfied respectively if the SCO explicitly sets the status. Apply this setting to all SCOs in your content.

<imsss:sequencing>
    <imsss:deliveryControls completionSetByContent=”true” objectiveSetByContent=”true”/>
</imsss:sequencing>

Objectives Global to System to “false”

By default, SCORM 2004 allows global objectives to be accessed by any course in the LMS. Since SCORM doesn’t provide a mechanism to ensure that all objectives are uniquely named, it is wise to limit the scope of global objectives to their particular package unless global scope is truly needed. This precaution will avoid accidental name collision and unexpected behavior that might result when courses are retaken.

<organization identifier=”default_org” adlseq:objectivesGlobalToSystem=”false”>

The Golf Example for Basic Run-time Calls includes these overrides in the manifest.