SCORM 2004の
シーケンシングルール
SCORM 2004 連載記事
- SCORM 2004の「シーケンシングルール」機能を解説します。
- シーケンシングルールで、学習の進行を制御します。
- SCORM 2004の技術的な情報を知りたい。
シーケンシングルール
SCORM 2004には4つのシーケンシングコントロールモードに加え、シーケンシングルールと呼ばれる学習進行を制御するルールがあります。
たとえば、
- 学習目標を達成していればスキップする
- 学習目標を達成するまで何回も繰り返す
などがそうです。
if-thenルール
シーケンシングルールの基本は、if [condition_set] then [action]のような条件式で表されています。
これは、
”もし条件[condition_set]を満たしているならば、動作[action]を実行する”
のように解釈されます。
[condition_set]では、[action]の実行につながるための条件を記述します。
SCORM2004では、さまざまなコンディションに対応するためのパラメーターが用意されています。たとえば学習度やアクティビティ進捗状況を参照するために、
- Satisified:ある学習目標を達成している
- Attempted:あるアクティビティを参照している
- Completed:あるアクティビティを学習済み
などがあります。
[action]では、条件が満たされた時に実行される動作を記述します。
実行コンディション
[condition_set] の前に以下のパラメーターを付け加えることで条件定義を更に増やすことができます。
- All:すべての条件が満たされた場合に適用される
- Any:いずれかの条件が満たされた場合に適用される
All、Anyのいずれも指定が無い場合はAllがデフォルトで選択されます。
実行タイミング
シーケンシングルールの実行を行うタイミングにも3種類用意されています。
- Precondition Actions:アクティビティを実行する前に行う
- Post condition Actions:アクティビティが終了した際に行う
- Exit Actions:下位(子孫)アクティビティが終了した際に行う
上記のタイミングによって実行されるアクションは異なり、それぞれに合ったものを記述します。たとえば、Exit Actionsでは、Exit(アクティビティの終了)時しか実行されません。
このように、シーケンシングルールを適用すると、if [condition_set] then [action]の考え方に基づき、“アクティビティの状態によって判断”ができます。
“シーケンシングルール”はimsmanifest.xmlに記述されます。上記の説明は解りやすく、if [condition_set] then [action]の形式で説明していますが、実際はさまざまなXMLタグで記述していきます。
<imsss:sequencing>
<imsss:sequencingRules>
<imsss:preConditionRule>
<imsss:ruleConditions conditionCombination="all">
<imsss:ruleCondition
referencedObjective="CP01_EX_01_OBJ"
operator="noOp" condition="satisfied"/>
</imsss:ruleConditions>
<imsss:ruleAction action="skip"/>
</imsss:preConditionRule>
</imsss:sequencingRules>
<!-- 省略 objectivesに関する記述 -->
</imsss:sequencing>