Follow

Turning Controller Sequencing off...

Avatar

I am having an issue with controller sequencing. I need to set the squencing on / off. Do I need to rewrite the imsmanifest file or is there a tag / attribute that can help me to set the sequencing on / off?

What I am looking for is:

With sequencing turned on, it will make the learner to go the forced sequence.

With sequencing turned off, learner is free to choose the sco.

Here is the imsmanifest file
************************************************************

<?xml version="1.0" standalone="no" ?>
<!--
Single SCO with basic runtime calls. SCORM 2004 3rd Edition.

Provided by Rustici Software - http://www.scorm.com

This example demonstrates the use of basic runtime calls in a multi-page SCO. It
includes a demonstration of bookmarking, status reporting (completion and success),
score and time. It also includes the addition of a basic "controller" for providing
intra-SCO navigation.
-->

<manifest identifier="ul.test.20043rd" version="1"
xmlns="http://www.imsglobal.org/xsd/imscp_v1p1";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3";
xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3";
xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3";
xmlns:imsss="http://www.imsglobal.org/xsd/imsss";
xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd
http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd
http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd
http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd
http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd">

<metadata>
<schema>ADL SCORM</schema>
<schemaversion>2004 3rd Edition</schemaversion>
<lom xmlns="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">;
<general>
<title>
<langstring xml:lang="en-US">Demo - Course</langstring>
</title>
<description>
<langstring xml:lang="en-US">dummy text dummy text</langstring>
</description>
<keyword>
<langstring xml:lang="en-US">dummy text dummy text</langstring>
</keyword>
</general>
</lom>

</metadata>
<organizations default="ORG-VLS">
<organization identifier="ORG-VLS" adlseq:objectivesGlobalToSystem="false">
<title>Demo - Course</title>

<item identifier="ITEM1" identifierref="RESOURCE1">
<title>Introduction</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:objectives>
<imsss:primaryObjective objectiveID="item1_satisfied">
<imsss:mapInfo targetObjectiveID = "ul.test.item1_satisfied"
readSatisfiedStatus = "true" writeSatisfiedStatus = "true"/>
</imsss:primaryObjective>
</imsss:objectives>
</imsss:sequencing>
</item>

<item identifier="ITEM2" identifierref="RESOURCE2">
<title>Course 1</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:sequencingRules>
<imsss:preConditionRule>
<imsss:ruleConditions conditionCombination="any">
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="satisfied"/>
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="objectiveStatusKnown"/>
</imsss:ruleConditions>
<imsss:ruleAction action="disabled"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
<imsss:objectives>
<imsss:primaryObjective objectiveID="item2_satisfied">
<imsss:mapInfo targetObjectiveID = "ul.test.item2_satisfied"
readSatisfiedStatus = "true" writeSatisfiedStatus = "true"/>
</imsss:primaryObjective>
<imsss:objective objectiveID="previous_sco_satisfied">
<imsss:mapInfo targetObjectiveID="ul.test.item1_satisfied"
readSatisfiedStatus="true" writeSatisfiedStatus="false"/>
</imsss:objective>
</imsss:objectives>
</imsss:sequencing>
</item>

<item identifier="ITEM3" identifierref="RESOURCE3">
<title>Course 2</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:sequencingRules>
<imsss:preConditionRule>
<imsss:ruleConditions conditionCombination="any">
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="satisfied"/>
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="objectiveStatusKnown"/>
</imsss:ruleConditions>
<imsss:ruleAction action="disabled"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
<imsss:objectives>
<imsss:primaryObjective objectiveID="item3_satisfied">
<imsss:mapInfo targetObjectiveID = "ul.test.item3_satisfied"
readSatisfiedStatus = "true" writeSatisfiedStatus = "true"/>
</imsss:primaryObjective>
<imsss:objective objectiveID="previous_sco_satisfied">
<imsss:mapInfo targetObjectiveID="ul.test.item2_satisfied"
readSatisfiedStatus="true" writeSatisfiedStatus="false"/>
</imsss:objective>
</imsss:objectives>
</imsss:sequencing>
</item>

<item identifier="ITEM4" identifierref="RESOURCE4" isvisible="true">
<title>Test</title>
<imsss:sequencing IDRef="common_seq_rules">
<imsss:sequencingRules>
<imsss:preConditionRule>
<imsss:ruleConditions conditionCombination="any">
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="satisfied"/>
<imsss:ruleCondition referencedObjective="previous_sco_satisfied" operator="not" condition="objectiveStatusKnown"/>
</imsss:ruleConditions>
<imsss:ruleAction action="disabled"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
<imsss:rollupRules rollupObjectiveSatisfied="true" rollupProgressCompletion="true" objectiveMeasureWeight="1"></imsss:rollupRules>
<imsss:objectives>
<imsss:primaryObjective objectiveID="item4_satisfied" />
<imsss:objective objectiveID="previous_sco_satisfied">
<imsss:mapInfo targetObjectiveID="ul.test.item3_satisfied"
readSatisfiedStatus="true" writeSatisfiedStatus="false"/>
</imsss:objective>
</imsss:objectives>
</imsss:sequencing>
</item>

<imsss:sequencing>
<imsss:controlMode choice="true" flow="false"/>
</imsss:sequencing>
</organization>
</organizations>

<resources>
<resource identifier="RESOURCE1" adlcp:scormType="sco" type="webcontent" href="au1.htm">
<file href="au1.htm"/>
<file href="scorm/APIWrapper.js"/>
<file href="jsfile/scoFuntion.js"/>
</resource>

<resource identifier="RESOURCE2" adlcp:scormType="sco" type="webcontent" href="au2.htm">
<file href="au2.htm"/>
<file href="scorm/APIWrapper.js"/>
<file href="jsfile/scoFuntion.js"/>
</resource>

<resource identifier="RESOURCE3" adlcp:scormType="sco" type="webcontent" href="au3.htm">
<file href="au3.htm"/>
<file href="scorm/APIWrapper.js"/>
<file href="jsfile/scoFuntion.js"/>
</resource>

<resource identifier="RESOURCE4" adlcp:scormType="sco" type="webcontent" href="au4.htm">
<file href="au4.htm"/>
<file href="scorm/APIWrapper.js"/>
<file href="jsfile/scoFuntion.js"/>
</resource>
</resources>
<imsss:sequencingCollection>
<imsss:sequencing ID="common_seq_rules">
<imsss:rollupRules rollupObjectiveSatisfied="false" rollupProgressCompletion="false" objectiveMeasureWeight="0"></imsss:rollupRules>
<imsss:deliveryControls completionSetByContent="true" objectiveSetByContent="true"/>
</imsss:sequencing>
</imsss:sequencingCollection>
</manifest>

 

Answer:

Thank you for your message. I spoke to Mike Rustici about your question and here is was response...

A few options:

1) Create alternate versions of the course, one for free play the other for sequenced.

2) Within the course, create two mirrored activity trees (where the items reference shared resources). On one of them, have all the sequencing rules, on the other have free play. Then have a sequencing rules like this:

Sequenced:
-if (course) completed, then hidden, disabled and skipped
-required for completion, satisfaction, score

Free Play
-if (course) not completed, then hidden, disabled and skipped
-not required for completion, satisfaction, score

3) Have one activity tree, but make all rules conditional on a global objective for completion of the course.

Thank you,

Joe

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request
Powered by Zendesk