以前のeラーニング「エンジン」ではSCORMを使用していましたが、私たちのマネージドラーニング環境(MLE)の要素、つまりe - 学習モジュール。実行時にSCORM 1.2との「対話」の登録と取得
、私たちはSCORM接続を設定するために、次のコードを実行します。
var vault = {}; //vault 'namespace' helps ensure no conflicts with possible other "SCORM" variables
vault.UTILS = {}; //For holding UTILS functions
vault.debug = { isActive: true }; //Enable (true) or disable (false) for debug mode
vault.SCORM = { //Define the SCORM object
version: null, //Store SCORM version.
handleCompletionStatus: true, //Whether or not the wrapper should automatically handle the initial completion status
handleExitMode: true, //Whether or not the wrapper should automatically handle the exit mode
API:{handle: null, isFound: false}, //Create API child object
connection: { isActive: false }, //Create connection child object
data: { completionStatus: null, exitStatus: null}, //Create data child object
debug:{} //Create debug child object
};
vault.SCORM.API.find('win');
vault.SCORM.connection.initialize();
if (vault.SCORM.data.get("cmi.core.lesson_status")=="not attempted") {
vault.SCORM.data.set("cmi.core.lesson_status" , "incomplete");
vault.SCORM.data.save();
}
はSCORM.jsファイルでより多くの機能がありますが、ポイントは、このすべての作品です。モジュールがMLEにロードされると、次のコードがコースの完了をトリガーします。
vault.SCORM.data.set("cmi.core.lesson_status" , "completed");
したがって、完成可能なコンポーネントをSCORMに登録するにはどうすればよいですか? (私たちの 'エンジン'のコンポーネントは、通常 '要素'と呼ばれるjQueryオブジェクトです)。次のようなことはありますか、またはSCORMでのカスタム呼び出しは不可能ですか?
vault.SCORM.data.set("cmi.interactions.n."+element.componentId() , "incomplete");
しかし、その後、次のように私は、IDを指定することで、相互作用を登録した場合...
vault.SCORM.data.set("cmi.interactions.n.id", element.componentId());
...どのように私は、そのコンポーネントに「完了」を設定するか、またはアクセスできますか?
私は様々なサイトから投稿とpdfのスペックを読んできましたが、その説明はせいぜい疎です。
ここにはSCORMフォロワーはあまりいないことは知っていますが、情報があればそれを聞いてみたいと思います。
感謝を。私は 'n'が数字であることを意図しているのだろうかと思っていたが、私が読んだ説明はあいまいだった。あなたは明らかに相互作用_カウントを得ることができます。一度設定したら、特定のやり取りをどのようにしなければならないのかはわかりません。遭遇したそれぞれのインタラクションで「n」が増加する場合、たとえば、以前に現在のインタラクションで現在のページにユーザーがアクセスした場合、どのように設定できますか? – moosefetcher
基本的には、IDで相互作用を取得する方法を知りたいと思います。インタラクションのIDに関連付けられた 'n'値を取得する方法はありますか?もしあなたが 'n'の価値を持っていれば、明らかにその相互作用の他のプロパティにアクセスすることができます。しかし、あなたが既に 'n'の値を知る必要があるならば、相互作用にIDを置くことは、ちょっと意味がないように思えます... – moosefetcher
私は、格納された目的を指定する方法についての説明のためにこの答えを受け入れます。私はまだそれを働かせていませんが、私はcmi.objectivesで表示されるインデックスを持つ任意のIDを格納するシステムを開発することで、IDで以前に格納された目的を取得できるはずです。再度、感謝します。 – moosefetcher