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>
	

学習目標で、学習状況を変更する

ページの先頭へ