2013年6月12日水曜日

Tin Can API についてのプレゼンテーションと動画

プロジェクト Tin Can のホームページ内にて,
これまで行われたプレゼンテーションやその資料が公開されています.

以下のURLから
http://tincanapi.com/presentationsvideos/

最新のプレゼンテーションは,2013/06/11にweb上で行われたものでした.

2013年6月5日水曜日

Tin Can プロジェクトのホームページ紹介

はじめに

Tin Canプロジェクト は自身のホームページ上で多くのドキュメントや開発支援キット,ディスカッションフォーラムを公開しています.

Project Tin Can : http://tincanapi.com/
図1.ホームページのメインメニュー

ホームページにて提供されているモノ

ページ上部にある各メインメニューにあるコンテンツを紹介します.
  1. Tin Can Explained: 概要やLRSの説明,Tin Can APIのメリットなどを説明しています.特に”Why adopt?”内にある,Tin Can APIを活用した”7つのストーリー”を読むと,より深く理解出来るかもしれません.
  2. Tin Can Solutions: Tin Can APIが解決出来る問題,不安の解決方法,そして新たにもたらす利益を,LMS管理者・学校や会社などの団体・コンテンツ制作者の3つの視点から紹介しています.また,Tin Can APIの前身で,現在のスタンダードであるSCORMの紹介もしています.
  3. Developers: 開発者の為に用意されたドキュメントやライブラリー,実際の仕様書などを読んだりダウンロードできます.また,Tin Can APIを利用しているLMSのプロトタイプを実際に利用できるので,運用の具体的イメージをつかむ事ができます.加えて,Tin Can APIにまつわる議論を行うフォーラムも用意されています.
  4. Blog: 開発者や協力者の方々のブログです.セミナーやTin Can APIにまつわる話を読む事が出来ます.

以上が,プロジェクト Tin Can のHPが提供している情報の一部です.

各ページ内にも,より深い情報へと続くリンクが張られています.

まとめ

Project Tin Canのホームページには,Tin Can APIを知るための情報が沢山ある.
知識だけではなく,実際にシステム開発を行うための補助ツールやプロトタイプシステムのソースコードなどのデータも公開されているので,うまく活用しましょう. 

2013年6月3日月曜日

経験 を ステートメント として扱う

はじめに

Tin Can APIでは,ユーザの経験を{ actor(誰が) verb(どうした) object(何を) } といった,”あらかじめ決められた形”で記述された命令文(ステートメント)をXML形式で扱います

※ステートメントとは,「発言、声明、宣言、供述、などの意味を持つ英単語。プログラミングで、制御や宣言などを行うために言語仕様にあらかじめ組み込まれている命令語、および、それらを用いて記述された一つの命令文のこと。」


データ化された経験

実際に作成されたステートメントを以下のURLから確認することが出来ます.
ここは,Rustic Software(Tin Can APIを作っているところ) が提供しているサンプルLRSです.
※LRSとは,Tin Can APIに沿って作成されたステートメントを集積するシステム:Learning Record Storeの略称

例を一つとってみましょう.
ステートメント例:
Masaki Okabe attempted 'Golf Example - Tin Can Course'

これは以下のように読めます.
actor(誰が)  Masaki Okabe 
verb(どうした)  attempted
object(何を) } 'Golf Example - Tin Can Course'

一つのステートメントには,上記のデータ以外にも沢山のデータを付随させる事が出来ます.先ほどのURL上で見る事が出来るステートメントをクリックすると,実際に作成されたXMLを見る事ができます.先ほどあげたステートメント例に含まれる全てのデータは,ページの最下部を見てください.

まとめ

このように,Tin Can APIを用いれば,ユーザが得た経験ステートメントとして集積する事ができます.
画像:経験がLRSに集積されるまで



注意点として,ステートメントの一部は,あらかじめ定義された要素しか利用出来ない場合があります.その中でも特に気になるのが,Verb(どうした)の定義これについては他の記事で紹介しようと思います.


付録:実際に作成された経験ステートメントのXML
※よく見ると,{ actor(誰が) verb(どうした) object(何を) }以外にも沢山の情報があるのがわかります.

{
    "id": "30526027-2b42-41f7-83ee-3c6eb7a2dfd2",
    "actor": {
        "name": "Masaki Okabe",
        "mbox": "mailto:test@beta.projecttincan.com",
        "objectType": "Agent"
    },
    "verb": {
        "display": {
            "und": "attempted"
        }
    },
    "context": {
        "contextActivities": {
            "grouping": [
                {
                    "id": "http://tincanapi.com/GolfExample_TCAPI",
                    "objectType": "Activity"
                }
            ]
        }
    },
    "timestamp": "2013-06-03T12:03:03.675Z",
    "stored": "2013-06-03T12:03:01.110Z",
    "authority": {
        "account": {
            "homePage": "http://cloud.scorm.com/",
            "name": "anonymous"
        },
        "objectType": "Agent"
    },
    "version": "1.0.0",
    "object": {
        "definition": {
            "name": {
                "en-US": "Golf Example - Tin Can Course"
            },
            "description": {
                "en-US": "An overview of how to play the great game of golf."
            },
            "type": "http://adlnet.gov/expapi/activities/course"
        },
        "objectType": "Activity" 
    }