web関連業務に役立つノウハウ blog

WEB、IT関係のTipsを紹介しています。

【Moodle】SCORMコンテンツの作り方

SCORMとは、Sharable Content Object Reference Model(共有可能なコンテンツオブジェクト参照モデル)のことで、eラーニングシステムの普及における共通化のための標準規格であり、Moodleをはじめとする eラーニングシステムにおいては学習コンテンツの作成のために理解が必須となる概念です。 本記事ではSCORMコンテンツの基本的な構成や作り方について解説します。

 

SCORMには大きな4つの目的があります。
これらの4つの目的は「異なる学習管理システムに導入した場合を想定」することが前提です。

〇学習コンテンツの再利用性(reusability)
〇アクセス可能性(accessibility)
〇耐用性(durability)
〇相互互換性(interoperability)

平たく解読すると「異なる学習管理システムに導入したとしても、同様に動作し、利用できる」ということかと思います。

では、SCORMが学習管理システムとどのように情報のやり取りをするのでしょうか。
詳細を完全に理解することは難しいですが、下記の通り、ざっくりと説明をします。

 

〇学習コンテンツの情報交換方式

学習管理システムと学習コンテンツの間にはAPIアダプタが用意されており、情報交換が実現できています。あらかじめ共通化規格として取り決められた枠組みがあるため、その枠内であればどのような学習コンテンツであっても、学習管理システムとの情報交換が可能となります。

 

〇学習コンテンツのプロパティ情報管理

どのような学習コンテンツにもタイトルや格納されるべき章節、シラバスに沿って設定されるべき項目等があるかと思います。学習管理システムでは、実際の学習コンテンツ部分に加え、このようなプロパティについても定義、利用性を担保する必要があります。これらを可能としているのが、SCORMで規定されているコンテンツアグリゲーションという仕組みです。SCORMではXMLフォーマットに学習コンテンツのプロパティを記載し、ZIPファイルとしてパッケージングすることで、コンテンツアグリゲーションを実現しています。

 

上記の2つのプロトコル、システムによってSCORMコンテンツが成り立ちます。次に疑問となるのは、実際にSCORMコンテンツを作り上げているファイルについてです。

SCORMコンテンツは大きく分けて2つのファイルから成り、それぞれの中身については下記のとおりです

 

マニフェストファイル(コンテンツアグリゲーションのためのXMLファイル)
 ・メタデータ:構成要素を記述
 ・オーガニゼーション:コンテンツの階層構造を記述
 ・リソース:学習コンテンツのリソースを指定(外部ファイルの場合もあり)

 

〇学習コンテンツファイル(実際の学習内容が記述されたファイル:htmlファイルなど)

上記からわかるように、階層構造を必要としない学習コンテンツなどについては、マニフェストファイルがシンプルに構成され、学習コンテンツは自由に記述することができます。仮に、SCORMに準拠しない形式での学習コンテンツが準備されていたとしても、マニフェストファイルを構成することでSCORMに準拠したコンテンツを作成することができます。

最後に、最も単純化したマニフェストファイルのサンプルを下記の通りお示しします。

 

<?xml version="1.0" encoding="UTF-8"?>

<manifest identifier="jp.wark.icontentsroid" version="1.0" 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" 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">
  
 <metadata/>
 <organizations default="a0000">
    
  <organization identifier="a0000" structure="hierarchical">
      
   <title>タイトル</title>
      
   <item identifier="b0000" identifierref="r0000">
        
   <title>タイトル</title>
      </item>
    
  </organization>
  
 </organizations>
  

 <resources>
    
  <resource identifier="r0000" type="webcontent" href="index.html" adlcp:scormtype="sco">
      
   <file href="index.html"/>
    
  </resource>
  
 </resources>

</manifest>