5.6. ナビゲーションに対するユーザーインターフェース(UI)装置
5.6.6. 要求
SCO は終了時に,LMS が処理するナビゲーション要求を一つだけ提示ことができる.例えば,SCO は Previous, ExitおよびChooseといったナビゲーション要求を LMS に送信できる.SCO が終了したあと,
LMS は提示されたナビゲーション要求を処理し,特定された学習アクティビティを配信する.
Terminate()の呼び出しに成功して LMS との通信が終了するまでは,adl.nav.request 要素を通じて LMS に送信されるナビゲーション要求は効力を持たない.SCORM ナビゲーションデータモデルは,SCO への 学習セッション中にのみ有効である.これは SCO が終了するまで LMS に管理されるが,終了した状態で は維持されない.
以下のシナリオを考えてみよう.
A. 学習行為中,ユーザーがアクティビティ A に遭遇し,アクティビティ A に対応する SCO A を提示される(SCO A への学習者セッション 1):
SCO A は adl.nav.request 要素を continue に設定する
学習者がナビゲーションイベントを発行する前に,SCO が Terminate()を呼び出す.
この結果,SCO と API インスタンスの間の通信が終了する
シナリオ A の結果,Continueナビゲーション要求が LMS に処理される.
B. 後に同一の学習行為中,ユーザーがアクティビティ A に再び遭遇し,SCO A が学習 者に再び提示される(SCO A への学習者セッション 2):
SCO A が直ちに GetValue(adl.nav.request)を呼び出した場合,この学習セッション では SCO はナビゲーション要求を通信していないので ̲none̲ が返される この学習セッション中,SCO は adl.nav.request 要素を設定しない
学習者がナビゲーションイベントを発行する前に SCO が Terminate()を呼び出す.
この結果,SCO と API インスタンスの間の通信が終了する
シナリオ B では,adl.nav.request データモデル要素は学習者セッション 1 から持続されない.つまり前回 からの値 continue を含まない.このケースでは Terminate()ではナビゲーション要求は発行されない.
LMS は,ナビゲーション要求を処理する前に,学習者によるナビゲーションイベントを待つ.
ADL ノート: コンテンツ開発者は exit All , abandon All ないし suspend All を発生する SCO は再 利用性が限定されることに注意しなくてはならない.
表 5.6.6a: 要求データモデル要素に対する Dot-notation Binding Dot-Notation Binding 詳細
adl.nav.request このデータモデル要素は,SCO が,Terminate()の呼び出しに成功した 直後に処理される望まれるナビゲーション要求を提示するために使用され る
データ要素実装要件:
データ型: (制限された)キャラクタ文字列 (continue, previous, choice, exit, exitAll, abandon, abandonAll, and ̲none̲), および 文字列で表されるターゲットとなる区切り文字列(デリミタ)
フォーマット: キャラクタ文字列のフォーマットは以下の通り:
o {target=<STRING>}<navigation request>
デリミタ文字列{target=<STRING>} は,Choice ナビゲーション要 求のターゲットを示す.もしナビゲーション要求が choice なら,デリミ タ文字列は必須で,SetValue()呼び出しの parameter̲2 の始めの 部分の文字列でなくてはならない. (SCORM RTE Book [4]のセクショ ン 3.1.4.2 参照). <STRING>の値は,通常,アクティビティツリーが抽 出されるコンテンツパッケージの<item>要素の識別子属性を参照す る.
他のすべてのナビゲーション要求は,このデリミタ文字列を含むとエラ ーになる.
値空間: SCORM では,キャラクタ文字列に許された値は,以下 の制約された語彙トークンにバインドされている:
o continue : SCO 終了直後にContinue ナビゲーショ ン要求を処理するように,コンテンツが LMS に指示した ことを示す.
o previous : SCO 終了直後にPrevious ナビゲーション 要求を処理するように,コンテンツが LMS に指示したこ とを示す.
o choice : SCO 終了直後にChoice ナビゲーション要 求を処理するように,コンテンツが LMS に指示したこと を示す.
o exit : SCO 終了直後にExit ナビゲーション要求を処 理するように,コンテンツが LMS に指示したことを示 す.
o exitAll : SCO 終了直後にExit All ナビゲーション要 求を処理するように,コンテンツが LMS に指示したこと を示す.
o abandon : SCO 終了直後にAbandon ナビゲーション 要求を処理するように,コンテンツが LMS に指示したこ とを示す.
o abandonAll : SCO 終了直後にAbandon All ナビゲ
LMS 動作要件:
このデータモデル要素は必須で,LMS は読み書き可能 (read/write)に実装しなくてはならない.
通常,学習者は LMS が提供するナビゲーションユーザーインタ ーフェースコントロールによりナビゲーションの要求を示す.しか し,場合によっては,ユーザーインターフェースコントロールは SCO に組み込まれているか,もしくは,SCO が学習者に代わっ てナビゲーション要求を提供しようとする.学習者が LMS の提供 する UI コントロールを用いてナビゲーション要求を発行しないと き,LMS は SCO がこの要素で指定したナビゲーション要求を処 理する.
SCO によって設定されていない場合,デフォルトのナビゲーショ ン要求は ̲none̲ である
SCO が正常に終了(SCO がcmi.exit を もしくは normal へ 設定する)し,学習者が LMS の提供する UI コントロールを用いて ナビゲーション要求を発行しないとき,LMS はこの要素で指定さ れたナビゲーション要求を,学習者のために管理されているアク ティビティツリー上で処理する.
SCO が中断状態で終了する場合(SCO がcmi.exit を suspend もしくは logout へ設定する),LMS はこの要素で指定されたナ ビゲーション要求を処理せず,代わりにSuspend もしくは SuspendAll 要求を適宜処理する (セクション 4.2.8 Exit [4]参 照).
SCO 動作要件:
この要素は LMS によって読み書き可能なものとして実装される.
SCO は,adl.nav.request データモデル要素の値を読み出し,書 き込むことができる.
API 実装要件:
GetValue():
o LMS は SCO に対してその時点で LMS に保存されて いる対応するナビゲーション要求を返し,エラーコード は 0 – No error を示す.返された文字列は,データ 要素実装要件で特定された要件に従う.
o SCO が値を設定するまで,adl.nav.request の既定値は
̲none̲ である.
o SCO に対して LMS がその時点で保存するナビゲーシ ョン要求が choice の場合,返される文字列のフォー マットは:
{target=<STRING>}choice
ここで<STRING>は保留中の choice ナビゲーション要 求のターゲットを表す.
ADL ノート: 一般的なデリミタ文字列の文法は SCORM RTE ブック (セクション 4.1.1.6: 予約されたデ リミタ文字列(Reserved Delimiters) [4]参照)で定義され ている.
SetValue():
o SCO がナビゲーション要求を設定するための要求を発 行し,値が上記に示された語彙トークンの一つでない と,LMS は false を返し,API インスタンスのエラーコ ードは 406 – データモデル要素タイプミスマッチ– に なる.LMS はこの要求によって要素の状態を変えては ならない.
o choice ナビゲーション要求の際,デリミタ文字列
{target=<STRING>}が指定されていない,もしくは 不正確なフォーマットで記述されていると,LMS は
false を返し,エラーコード 406 – データモデル 要素タイプミスマッチ–を示す.要素の現在の状態は変 えない.
o choice 以外のナビゲーション要求で,デリミタ文字列 {target=<STRING>}が指定されると,LMS は
false を返し,エラーコード 406 – データモデル 要素タイプミスマッチ–を示す.要素の現在の状態は変 えない.
例:
GetValue( adl.nav.request )
SetValue( adl.nav.request , {target=intro}choice );
SetValue( adl.nav.request , continue )