2013年10月31日木曜日

クエリパラメータを使わないで LRSの endpoint を指定する方法

はじめに

ProjectTinCanで公開されているプロトタイプを見ると、ステートメントの送信先であるLRSのendpointの指定並びにアカウント情報は、クエリパラメータで保持され、LMSによってはページアドレスを自由に設定できなくて困る場面があります。
そこでクエリパラメータを使わずにendpointなどの設定をして、
TinCanステートメントを送信しました。

作ったページ

プロジェクトファイル
https://dl.dropboxusercontent.com/u/22889414/publicProject/tincan_sending_statement.zip

indexページ

ステートメント送信時

説明

index.htmlでは、javascript部分で擬似クエリパラメータを生成しています。そのパラメータを”url”として設定しTinCanAPIに渡しています。その際に必要なjavascriptファイルはプロジェクト直下のjavascriptフォルダに配置しています。
sendStatementボタンを押した時に、tincan.sendStatement()が実行され、先ほどのurlにステートメントを送信します。
ソース内の endpoint や actor部分を任意の文字列に変更すれば、好きなLRSに送信できます。

まとめ

・クエリパラメータに保持されていた情報をページ内で生成することで、好きなアドレスのページでTinCanステートメントを発行することが出来る。