cmi5 プロジェクト

cmi5 とは何ですか? それは xAPI の「拡張ルール」です。

cmi5は、伝統的な学習管理システム(LMS)と xAPI を利用するための「プロファイル」です。

cmi5

 xAPI は、多種多様なユースケースをサポートするために汎用的な仕様になっています。そのため特定のユースケースをサポートするために(プロファイルと呼ばれる)「拡張ルール」のセットには、まず相互運用を保障する必要がありました。cmi5プロファイルは、学習コンテンツと LMSシステムとの間でプラグアンドプレイとしての相互運用が保証されます。

 cmi5プロファイルが適用されたユースケースでは、学習者は、LMSのユーザインターフェイスから学習コンテンツ / アクティビティを起動します。

 cmi5は、次の分野に相互運用性の規則を定義します。

  • コンテンツの起動メカニズム
  • 認証
  • セッション管理
  • レポート
  • コース構成


目標

 cmi5のミッションは、とても柔軟で現在の AICC / SCORM規格に対して、より良い代替手段を提供することです。そして堅牢であり今日の技術に適応できることです。

1 – 単純化されたトラッキング・データ・モデル

 SCORM と AICC のデータモデルは、あまりにも複雑であり、使用されなくなった多くのオプションのデータ要素を持っていました。シンプルなデータモデルとして、あるべき姿は、ラーニングドメイン間で動作するデータ要素の定義を必要最低限にとどめることです。(例えばスコア、ステータス、時間)

2 – コンテンツの定義データを記録したり、レポート/取得する機能

 必須とされるデータ要素が少ないわりに、強い制約があるためデータを収集することに制限がありました。大抵、本当に必要だったことは、LMS の中でコンテンツからデータを記録して、分析のために後でそれを取り出せればいい程度のことでした。コンテンツの定義データを記録したり/取得できるようにするための目標は、コンテンツの設計者が機能を追加しても、きちんと相互運用ができることです。

コンテンツの定義データは、テキストデータかデジタルデータかのどちらかです。

  • 拡張可能なデータモデル(コンテンツのテキストデータによって定義される)
  • デジタルデータのアタッチメント


3 – サービスとしてのコンテンツ(CaaS)モデルの配信をサポート

 コンテンツが他のドメイン上に(LMSが稼働するサーバのドメインとは別のところに)格納することができます。

4 – デバイス/ OS /ブラウザからの独立性

 コンテンツが通信をしたり、起動する動作に対してブラウザが依存しないようにします。

5 – 学習活動におけるデータ共有

 同一コースに登録される学習者間で学習活動のデータを共有することができます。

経緯

 cmi5 プロジェクトは、もともと2010年に AICC(Aviation Industry Computer-Based Training Committee)の中で活動を開始したものです。cmi5 は、豊富な機能を備えた堅牢なソリューションのため AICC や SCORM規格の置き換えとして期待されていました。それは、AICC と SCORM規格は技術的な問題や制約など、かなりの重複があったためです。

 AICCは、2012年にcmi5 のための SOAPベースの通信メカニズムが完成間近まで来たところ、ほぼ同じタイミングで ADL のなかで(いまではxAPIと呼ばれる)Tin Can APIの研究プロジェクトが立ち上がりました。

 AICC と ADL の関係者は、すぐに2つの仕様には、かなりの共通部分があると判断しました。xAPI は cmi5 よりも広範な適用を持っていたため、ADL と AICC は cmi5 のより具体的なユースケースのニーズを満たすために “xAPIプロファイル” に協力することで合意しました。cmi5 プロジェクトは2012年に「再始動」されて、SOAPアーキテクチャは xAPI に置き換わりました。cmi5 プロジェクトは、いまも本来のゴールに向かって進んでいます。

 2014年にAICCは、cmi5 プロジェクトを解散して、正式にADLに移行いたしました。

※ この記事は、githubのThe cmi5 Project「README.md」の一部を翻訳したものです。意訳のため正確さを求める場合、原文を読んでください。
(原文) https://github.com/AICC/CMI-5_Spec_Current

(参考)Content as a Service (CaaS)
https://www.contentful.com/r/knowledgebase/content-as-a-service/