xAPIコースクリエーター:コーディングなしでTin Canコースを作成する方法
xAPIは強力なeラーニング標準ですが、JSONを手作業で記述せずに、実際に動作するTin Canコースを構築するのは容易ではありません。このガイドでは、xAPIとは何か、どのようなインフラが必要か、そしてオーサリングツールが技術的な複雑さをどのように処理してくれるかについて解説します。
xAPI仕様は、その実際の仕組みを理解するまでは難しそうに見える規格の一つです。多くの学習専門家は、「Tin Can」という言葉を耳にしたり、JSONステートメントやREST APIに関する言及を見たりすると、これが開発者向けのトピックだと誤解しがちです。そうではありませんが、適切なオーサリングツールと、インフラストラクチャに対する正しい理解は必要です。
このガイドでは、xAPIステートメントの形式、ラーニングレコードストアとは何か、そしてコードを一切記述せずに動作するxAPIコースパッケージを作成する方法について解説します。
xAPIステートメントとは実際何なのか
2013年に公開されたxAPI仕様では、学習をステートメントとして表現しています。すべてのステートメントには、アクター、動詞、オブジェクトという3つの必須要素があります。典型的な例は以下の通りです:
「ニコは『職場の安全』モジュールを修了しました。」
JSONでは、次のように記述します:
{
"actor": { "name": "Nico", "mbox": "mailto:nico@example.com" },
"verb": { "id": "http://adlnet.gov/expapi/verbs/completed" },
"object": { "id": "https://skillsail.com/courses/workplace-safety" }
}
記述には、スコア、所要時間、結果、プラットフォーム、カスタムデータ用の拡張機能など、追加の文脈が含まれる場合があります。 ただし、基本のモデルは常に「主体・動詞・目的語」の構成となります。iSpringの「xAPI対SCORM」ガイドで説明されているように、このシンプルさこそがxAPIの柔軟性を生み出しています。動画の視聴、クイズの合格、シミュレーションの完了など、あらゆる学習イベントをステートメントとして表現できるのです。
SCORMとの違いは、それらのステートメントがどこに送信されるかという点です。SCORMはブラウザ内のJavaScriptを介してLMSと通信します。一方、xAPIはラーニングレコードストアにHTTPリクエストを送信します。
ラーニング・レコード・ストア:必要なインフラストラクチャ
ラーニングレコードストア(LRS)とは、xAPIステートメントを受信、保存、提供するために特別に構築されたデータベースのことです。LMSとは別個のものであり、xAPIを機能させるために必要です。
xAPI.comのLRSガイドに記載されている通り、LRSは標準化されたREST APIをサポートしている必要があります。これにより、xAPI準拠のコースであれば、カスタム統合を行わなくてもLRSにステートメントを送信できるようになります。 一部のLMSプラットフォームには、組み込みのLRSが搭載されています。Doceboがその一例であり、同社のxAPIアップロードに関するドキュメントでは、xAPIコンテンツのアップロード方法や、組み込みのストアを指すように設定する方法が示されています。また、他の組織では、LMSと並行してスタンドアロンのLRS製品を運用しています。
お使いのLMSにLRSが組み込まれていない場合は、2つの選択肢があります。スタンドアロンのLRS製品をシステム環境に追加するか、LRSが組み込まれたLMSを使用するかです。
xAPIが重要な理由:SCORMでは対応できないユースケース
SCORM では、ブラウザとアクティブな LMS セッションが必要です。xAPI では必要ありません。
オフラインでのモバイル研修。モバイル研修アプリは、xAPIステートメントをローカルにキューに登録し、接続が回復した際にLRSと同期させることができます。これは、現場作業員や小売店のスタッフ、あるいは安定したインターネット接続が利用できない環境にいるすべての人にとって極めて重要です。
シミュレーションとシナリオの追跡。複雑なシミュレーションでは、分岐する意思決定、タスク所要時間、エラー率など、多くのイベントが発生します。xAPIはこれらすべてを個別のステートメントとして取得できるため、単一のSCORMスコアよりもはるかに豊富な分析情報を提供します。
LMSを超えた学習。外部プラットフォームでの動画視聴やワークフロー内でのタスク完了といった非公式な学習も、そのアクティビティがLRSに報告される限り、xAPIステートメントで記録することができます。
ブレンディッド・ラーニング・プログラム。対面での受講、コーチングセッション、実務評価などはすべてxAPIステートメントとして記録でき、SCORMのみに対応したLMSでは提供できない、学習者の成長状況を包括的に把握することができます。
xAPIを出力できるオーサリングツール
実際の問題として、JSONを手動で記述せずにxAPIパッケージを作成するにはどうすればよいでしょうか。いくつかのオーサリングツールが、この処理を代行してくれます。
iSpring Suiteは、標準の公開ダイアログからxAPIをエクスポートします。このコースでは、起動、インタラクション、修了、およびスコアに関するxAPIステートメントが生成され、公開された出力においてLRSエンドポイントを設定する必要があります。iSpringのxAPIドキュメントに記載されている通り、これはWindows専用のデスクトップワークフローです。
Articulate Storyline 360は、ステートメントの粒度を自由に設定できるxAPIパブリッシングに対応しており、どのイベントがステートメントをトリガーするかを指定できます。
Skillsailは、クラウドベースのオーサリング環境からxAPIパッケージを直接エクスポートします。SCORM 1.2をエクスポートするモジュールと同じモジュールがxAPIもエクスポートし、LRSエンドポイントはエクスポート時に設定されます。多言語コースの場合、各言語バージョンは個別のxAPIパッケージとしてエクスポートされます。
SCORMやcmi5ではなくxAPIを選ぶべき場合
この決定は、インフラストラクチャとユースケースに基づいて行われます:
以下の場合は xAPI を選択してください:
- LRSをお持ちの場合、またはお使いのLMSにLRSが組み込まれている場合。
- LMS以外の学習状況(モバイルアプリ、外部プラットフォーム、対面イベントなど)を追跡する必要があります。
- お客様のユースケースには、豊富なイベントデータを生成する複雑なシミュレーションやブレンディッドラーニングが含まれます。
- 複数のソースからのデータを統合する学習分析インフラを構築しています。
以下の場合はSCORMの表記を維持してください:
- お使いのLMSにはLRSが搭載されておらず、追加することもできません。
- ユースケースは、修了状況やスコアが記録される標準的なオンラインコースです。xAPIは、同じ結果を得るためのインフラストラクチャと言えます。
以下の場合は、代わりに cmi5 をご検討ください:
- xAPIの豊富なデータを活用したいが、LMSで起動、認証、および次のステップへの移行ロジックを制御する必要がある場合、cmi5はxAPIの上にこれらすべてを定義しています。
実用的な xAPI ワークフローの例
xAPIコースの簡単な導入方法:
- xAPIをエクスポートできるツール(Skillsail、iSpring、Storylineなど)を使用してコースを作成してください。
- エクスポート時にLRSエンドポイントを設定してください。xAPIパッケージは、実行時にステートメントをどこに送信すべきかを知る必要があります。
- xAPIパッケージをLMSにアップロードするか、Webサーバーでホストしてください。LMSがコースのURLを起動すると、コースはLRSと直接通信を行います。
- 分析用のLRS内のステートメントを確認してください。ステートメントデータは、LRSに組み込まれたダッシュボードで可視化したり、BIツールにエクスポートしたりすることができます。
xAPIを初めて導入する方がつまずきやすい重要なステップは、ステップ2の「LRSエンドポイント」です。ブラウザへのインジェクションによってLMSを自動的に検出するSCORMとは異なり、xAPIではコースを公開する前にLRSの場所を把握しておく必要があります。
Skillsailの活用シーン
Skillsailのエクスポートパイプラインは、同じ作成モジュールから、SCORM 1.2、SCORM 2004、xAPI、cmi5の4つの主要なフォーマットすべてに対応しています。 複雑なオーサリング環境を必要とせずにxAPIを利用したいチームにとって、これは次のような手順を意味します:ソースドキュメントをアップロードし、コースを生成し、LRSエンドポイントを設定し、エクスポートするだけです。JSONも、カスタムコードも、PowerPointプラグインも一切必要ありません。
SCORMでは扱いにくい多言語対応のxAPI導入において、Skillsailは言語ごとに個別のxAPIパッケージを生成し、それぞれが学習者の言語環境に合わせてステートメントを送信します。
xAPIは、インフラ要件を理解すれば、SCORMよりも利用が複雑というわけではありません。作成のプロセスは同じで、配信の仕組みが変わるだけです。