フォーマット概要

下記は、IMSエンタープライズデータファイルの基本的な構造に関するシンプルなガイドです。詳細は、 IMS Enterprise official website をご覧ください。

このプラグインが処理できるIMSデータ要素に関して説明した conformance summary をご覧ください。

IMSエンタープライズファイルフォーマット基本ガイド

すべてのIMSスタイルのユーザ登録では、コースを定義する <group> タグ、ユーザアカウントを定義する <member> タグ、コースでの役割りを定義する <member> タグを含む <membership> タグが必要です。

Moodleデータベースで使用される数値キーは、共有できるデータでは無いことに注意してください。学生データシステムは、前もってJoeが20番目にMoodleデータベースに追加されたユーザだと判断できません。ですから、このタイプのデータで、これらは交換されるキーではありません。

一般的に、コースは名称とともに参照コードを持ちます。参照コードが、MOODLE101 だと仮定しましょう。あなたのコースを下記のように定義できます。

  <group>
    <sourcedid>
      <source>MyDataSystem</source>
      <id>MOODLE101</id>
    </sourcedid>
    <description>
      <short>Moodle 101</short>
    </description>
  </group>

ユーザ登録スクリプトは、コード MOODLE101 のコースを探し、見つからない場合 (任意で) そのコースを作成します。同様に、「jmoodle」というユーザアカウントを考えてみましょう。

  <person>
    <sourcedid>
      <source>MyDataSystem</source>
      <id>jmoodle</id>
    </sourcedid>
    <userid>jmoodle</userid>
    <name>
      <fn>Joe Moodle</fn>
      <n>
        <family>MOODLE</family>
        <given>JOE</given>
      </n>
    </name>
  </person>

Joeがアカウントを持っていない場合、スクリプトは (任意で) アカウントを作成することができます。

それでは、ユーザをコースに追加する membership を見てみましょう。

  <membership>
    <sourcedid>
      <source>MyDataSystem</source>
      <id>MOODLE101</id>
    </sourcedid>
    <member>
      <sourcedid>
        <source>MyDataSystem</source>
        <id>jmoodle</id>
      </sourcedid>
      <role roletype="01">
        <status>1</status>
        <extension><cohort>unit 2</cohort></extension>
      </role>
    </member>
  </membership>

IMSエンタープライズ仕様は、ユーザ登録の開始/終了日を指定する機能を提供しません。必要な場合、<timeframe> タグを使用して指定することができます。

すでにユーザがコース内のグループに登録されている場合、スクリプトは実際にはそのユーザを変更しません。しかし、ユーザがグループに属していない場合、指定されたグループが適用されます。