タグ別アーカイブ: imsmanifest.xml

昨日は、SCORM2004向けの教材登録について記事を書きましたが、マニフェスト(imsmanifest.xml)や、ZIPアーカイブの構造はSCORM1.2でもSCORM2004でも大きな違いはありません。SCORM2004では、SCROM1.2の仕様に加えて、シーケンシング(教材の受講前提条件の制御)や、ロールアップ(成績の集計方法)に関する記述があるのですが、まだまだ、これらの要素を生かしたLMSは出そろっていない現状です。そこで、今回は、SCORM1.2向けの教材アーカイブをサクッと作ってみます。

まず、imsmanifest.xmlファイルを記述します。

<?xml version=”1.0″ encoding = “UTF-8″?>
<manifest identifier=”elearning” version=”1.0″ xmlns=”http://www.imsproject.org/xsd/imscp_rootv1p1p2″ xmlns:adlcp=”http://www.adlnet.org/xsd/adlcp_rootv1p2″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd”>
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>1.2</schemaversion>
</metadata>
<organizations default=”org1″>
<organization identifier=”org1″>
<title>title</title>
<item identifier=”sco1″ isvisible=”true” identifierref=”res1″>
<title>title</title>
</item>
</organization>
</organizations>
<resources>
<resource identifier=”res1″ type=”webcontent” href=”index.html” adlcp:scormtype=”sco”>
<file href=”index.html” />
</resource>
</resources>
</manifest>

昨日の記事「SCORM2004向けの教材登録」でも言いましたが、こんなの真面目に書く必要ありません。file要素のhref属性だけ書き換えればOKです。上記の例では、index.htmlが起動ファイルになります。(起動ファイル=LMSが開くファイル。一般的に、LMSとの通信スクリプトなどが記述されている)

このファイルとindex.htmlファイルを下図のような階層に配置したとします。

ディレクトリ構造

ディレクトリ構造

これをZIP圧縮してアーカイブを作成するわけですが、次の図のようにやってはいけません。

悪い例

悪い例

このようにしてしまうと、ZIPアーカイブ内に教材Aというフォルダができてしまい、ZIPアーカイブのトップレベルにimsmanifest.xmlを配置しなければならないというSCORMの大原則に反してしまいます。これは、SCORMアセッサでも犯してしまうことがある間違いなので、絶対に気を付けてください。では、どうすればいいかというと、、

良い例

良い例

imsmanifest.xmlの入っているディレクトリで、全ファイルを選択して圧縮してしまえばよいのです。

以上で本日の内容はおしまいです。

1からSCORMのアーカイブを作ることはなくてもQuizCreatorPPT2Flash Professionalで書き出したZIPアーカイブを開いて、HTMLを修正してからZIPアーカイブに戻したい、なんて場合は、再圧縮する際に、フォルダの中を全選択して圧縮する、という点にだけ気をつけていただければと思います。教材の内容を書き換えることは難しくても、Flashプレイヤーのサイズを変更したり、プレイヤーの下に注意書きを付けたりといった変更なら、簡単にしていただけると思います。

※ZIPファイルの改編は著作権を所有しているコンテンツに対してのみ行ってください。なお、弊社が販売しているオーサリングツールで書き出した教材の著作権は、教材を作成者のものです。
※改編したZIPファイルがLMSに登録できない・・・といった質問は、原則として受け付けておりません。この記事の間違いや、この記事に対する疑問点などは、コメント欄に残していただければと思います。スパムが増えておりますので、弊社で確認するまでコメントは非表示になっておりますのでご了承ください。

imsmanifest.xmlの書き方

CATEGORIES eラーニング, SCORMby.a.takeuchi7 Comments2009.11.15

SCORMのマニフェストファイルって、めちゃくちゃ難しそーな感じしますよね。実際、すべての要素を完璧に理解しようとすると、非常に大変なのですが、必要最低限の要素だけならとっても簡単です。

弊社(というかこのブログに)、こんなお問い合わせが来ていたので、早速回答してみたいと思います。他社製品とオープンソースなLMSの組み合わせですが、気にしちゃ負けです。

moodleにSCORM2004(またはSCORM1.2でも可)の教材をZIP形式で登録したいのですが、
マニフェストファイル(imsmanifest.xml)の記述のしかたがわかりません。

教材を作成するのに使っているのは、SATT社の『インタラクションメーカーPro』です。
(QuizCreaterならmoodle用のマニフェストファイルも自動で作成されるので楽なのですが…)。

インタラクションメーカーProからLMS登録用に出力されるのは次のファイルです。

まずファイルが3つあり、
impro.html、IMakerPro.swf、bg.jpeg という3つのファイルがあります。

この他にフォルダがあり、
(1)configフォルダがあり、その中身はcategory.xml、config.xml question.xml です。
(2)imageフォルダがあり、その中身は、q2.jpg、q7.jpgなど、いくつかの画像ファイルです。
(3)jsフォルダがあり、中身はcreateFlash.js、debug.js、scorm1.2.js、scorm2004.js です。

このファイル構成の場合、moodleへ教材を登録するためのマニフェストファイル(imsmanifest.xml)は
どのように記述すればいいのでしょうか?

1からマニフェストを書くのは骨が折れるので、QuizCreatorで出力したマニフェストを書き替えて、所望のマニフェストを作成してみます。まず、QuizCreatorで適当な問題をパブリッシュします。中身は問いません。1問だけ正誤問題でも作って、お望みのSCORM規格で出力してください。この場合だと、SCORM2004+Moodleがお勧めです。すると以下のようなマニフェストファイルが出力されます。
<?xml version=”1.0″ encoding=”utf-8″ ?>

<manifest identifier=”Quiz version=”1.3 xmlns=”http://www.imsglobal.org/xsd/imscp_v1p1 xmlns:adlcp=”http://www.adlnet.org/xsd/adlcp_v1p3 xmlns:adlseq=”http://www.adlnet.org/xsd/adlseq_v1p3 xmlns:adlnav=”http://www.adlnet.org/xsd/adlnav_v1p3 xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance xmlns:imsss=”http://www.imsglobal.org/xsd/imsss xsi:schemaLocation=”http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd>
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>CAM 1.3</schemaversion>
</metadata>
<organizations default=”WS_QUIZ_ORG>
<organization identifier=”WS_QUIZ_ORG>
<title>新規プロジェクト</title>
<item identifier=”WS_QUIZ_SCO identifierref=”WS_QUIZ_RES>
<title>新規プロジェクト</title>
<imsss:sequencing>
<imsss:objectives>
<imsss:primaryObjective>
<imsss:minNormalizedMeasure>0.80</imsss:minNormalizedMeasure>
</imsss:primaryObjective>
</imsss:objectives>
<imsss:deliveryControls completionSetByContent=”true objectiveSetByContent=”true />
</imsss:sequencing>
</item>
</organization>
</organizations>
<resources>
<resource identifier=”WS_QUIZ_RES type=”webcontent href=”Quiz.html adlcp:scormType=”sco>
<file href=”Quiz.html />
<file href=”Quiz.swf />
<file href=”Quiz.xml />
<file href=”swf.js />
<file href=”scorm.js />
</resource>
</resources>
</manifest>
このマニフェストファイルは、QuizCreatorの教材向けのマニフェストなので、このままでは使えません。では、早速、目的の教材に合わせて書き換えてみましょう。

1. resource の href値を書き替える。

⇒この値が、起動ファイルを示しています。Quiz.htmlとなっているので、impro.htmlに書き換えるとよいでしょう。

以上で、最低限の書き換えは終わりです。LMSによっては、Asset(resourceタグの中のfileタグ)を確認している可能性があるので、file内も書き換える方がよいと思いますが、必須ではありません。

以上の内容を反映すると、マニフェストファイルは次のようになります。

<?xml version=”1.0″ encoding=”utf-8″ ?>
<manifest identifier=”Quiz version=”1.3 xmlns=”http://www.imsglobal.org/xsd/imscp_v1p1 xmlns:adlcp=”http://www.adlnet.org/xsd/adlcp_v1p3 xmlns:adlseq=”http://www.adlnet.org/xsd/adlseq_v1p3 xmlns:adlnav=”http://www.adlnet.org/xsd/adlnav_v1p3 xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance xmlns:imsss=”http://www.imsglobal.org/xsd/imsss xsi:schemaLocation=”http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd>
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>CAM 1.3</schemaversion>
</metadata>
<organizations default=”WS_QUIZ_ORG>
<organization identifier=”WS_QUIZ_ORG>
<title>新規プロジェクト</title>
<item identifier=”WS_QUIZ_SCO identifierref=”WS_QUIZ_RES>
<title>新規プロジェクト</title>
<imsss:sequencing>
<imsss:objectives>
<imsss:primaryObjective>
<imsss:minNormalizedMeasure>0.80</imsss:minNormalizedMeasure>
</imsss:primaryObjective>
</imsss:objectives>
<imsss:deliveryControls completionSetByContent=”true objectiveSetByContent=”true />
</imsss:sequencing>
</item>
</organization>
</organizations>
<resources>
<resource identifier=”WS_QUIZ_RES type=”webcontent href=”impro.html adlcp:scormType=”sco>
<file href=”impro.html />
</resource>
</resources>
</manifest>
新規プロジェクトっていうのがカッコ悪い気もしますが、LMS上でコース名やSCO名を編集できるのであれば、これでもよいでしょう。そうでない場合は、適宜書き換えてしまってください。

PPT2FlashQuizCreatorなどを使えば、SCORMを意識せずにSCORM対応教材を作れますが、中には、一からSCORM対応教材を作ってみたいという奇特な方もいらっしゃると思います。

SCORM対応教材を作る手順は以下の3つだけ。誰でも簡単につくれちゃいますね!

1. SCORMのRTE仕様に従ってLMSとの通信を実装
2. マニフェストを作成
3. ZIPに固める

では、さっそくつくってみましょう!!!

今回は、普及の進んでるSCORM1.2を例に進めるよー。

SCORM1.2仕様書(原著)を参考にするのがお勧めだけど、翻訳版「SCORM1.2仕様書(日本語訳)もあるので、英語が苦手でも大丈夫ですね。

1. SCORMのRTE仕様に従ってLMSとの通信を実装

といっても、何も難しいことはありません。仕様に従ってAPIアダプタを発見、Initializeし、適当にメッセージを送信したあと、Finishするだけです。APIアダプタは必ず親のウィンドウについてるので見つかるまで探索してみましょう。見つからなかった場合は打ち切りするようにしないと、無限ループするので要注意!

<script type=”text/javascript”>
var API;
for(win = window;win.API==null && win.parent!=null && win.parent!=win; win = win.parent);
API = win.API;
</script>

よくわからない場合は、↑のソースコードでうごくはず。

これで変数APIに、APIアダプタがセットされるので、あとは必要なメッセージを送りましょう。
SCORM1.2を最低限満たすためには、InitializeとFinishを送ればよいので、

<script type=”text/javascript”>
var API;
for(win = window;win.API==null && win.parent!=null && win.parent!=win; win = win.parent);
API = win.API;
API.LMSInitialize(“”);
API.LMSFinish(“”);
</script>

と書けば、SCORM1.2に準拠したことになりますね。これだけだと、何も成績は残りませんが、受講したことは最低限記録されますよ。より詳細な通信内容は次回以降に紹介する予定です。

2. マニフェストを作成
マニフェストはXMLでかくよー。
仕様書みるとややこしいけど、使う部分は一部だけ。

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<manifest identifier=”course” version=”1.0″ xmlns=”http://www.imsproject.org/xsd/imscp_rootv1p1p2″ xmlns:adlcp=”http://www.adlnet.org/xsd/adlcp_rootv1p2″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd”>
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>1.2</schemaversion>
</metadata><!—ここまでおまじない—>
<organizations default=”sco1″><!—開始SCOはSCO1だよというおまじない—>
<organization>
<title>コースタイトル</title> <!—コースのタイトル—>
<item identifier=”sco1″ isvisible=”true” identifierref=”r1″>
<title>SCOタイトル</title> <!—SCOのタイトル—>
</item>
</organization>
</organizations>
<resources><!—実ファイルの保存場所についての記述—>
<resource identifier=”r1″ type=”webcontent” href=”index.html” adlcp:scormtype=”sco”>
</resource>
</resources>
</manifest>

必要な部分だけ書き換えてつかってね。SCOが1つだけで、そのSCOの起動ファイルがindex.htmlなら、このファイルをimsmanifest.xmlという名前で保存しておくだけで動きます。QuizCreatorから出力されたimsmanifest.xmlをみると、合格点の設定方法が、PPT2Flash複数SCOに書き出すと複数SCOを扱う方法がわかりますよ。30日間は無料で体験できるのでぜひダウンロードしてご利用ください。

3.ZIPにまとめる

2で作ったimsmanifest.xmlがZIPアーカイブのルートディレクトリにできるように気をつけて、すべてのファイルをZIP形式で圧縮します。Windowsだと、必要なファイルを全部選択した状態で、右クリック>圧縮>zip。これだけです。

ファイルが入ったフォルダを圧縮すると、アーカイブのルートにそのフォルダができて、imsmanifest.xmlが2階層目になってしまうので要注意!

この記事で作成したサンプル⇒sample.zip

次回は、Finishのタイミングの調整、session_timeの送信、lesson_statusの送信について紹介する予定です。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ