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

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

【Moodle】GIFTフォーマットの扱い方

GIFTフォーマットはMoodle独自のテキストフォーマットで、様々な問題形式に対応しています。筆者はこちらのフォーマットをお勧めしています。しかしながら、テキストの文法 がややこしい部分があり、小テストの問題企画段階のフォーマットとの整合性が取れないケースが散見されているようです 。

GIFTフォーマットでは以下のようなルールで記述されます。

〇各問題の間に1行以上の空白行を配置
UTF-8エンコードされている
〇問題分および正答の記述はGIFTシンボルを使用して表現される

GIFTシンボルならびに基本的な記述用の記号には下記のようなものがあります。

 

シンボル 意味、記述方法
文章(シンボルなし) 問題のテキスト等
//文章 行末までコメントアウト
::title:: タイトル
[フォーマット] フォーマットには[moodle]、[plain]、[markdown]があり、
デフォルトは[moodle]
{ 解答の開始
{# 数値解答の開始
} 解答の終了
{T} または {F} 正誤問題における正答。{T}はTRUE、{F}はFALSEのステータスを表現
= 複数選択問題における正答
~ 多肢選択または複数選択問題における誤答
# 直前の解答に対するフィードバック文章の開始
#### 全般的なフィードバック文章の開始
%数字% 正答の得点割合
\文字 ~, =, #, {, }, :,のエスケープ用
\n 問題テキストへ改行を追加

 

上記以外にもいくつかシンボルがありますが、割愛します。

問題文の作成例については、よく活用されている「正誤問題」、「択一問題」、「複数選択問題」を下記の通り紹介します。

 

<正誤問題の例>

//正誤問題
::問題タイトル:: 問題文 {T}
::Q2:: 漢字の「一」の画数は1である {T}
::Q3:: ムードルのアルファベット綴りは「moudle」である {F#「moodle」である}

 

<択一問題の例>

//択一問題(4択の場合)
::問題タイトル:: 問題文 {
=正答
~誤答1
#誤答1に対するフィードバック
~誤答2
#誤答2に対するフィードバック
~誤答3
#誤答3に対するフィードバック
}

//択一問題 タイトル、記述方法省略版
問題文{=正答 ~誤答1 #誤答1に対するフィードバック ~誤答2 #誤答2に対するフィードバック ~誤答3 #誤答3に対するフィードバック}

 

<複数選択問題の例>

//複数選択問題(3択、正答2つ)
問題文A{
=正答1
=正答2
~誤答
#誤答に対するフィードバック
}

//複数選択問題(3択、正答2つ、各々部分点設定)
問題文B{
=%25%正答1
=%75%正答2
~誤答
#誤答に対するフィードバック
}

上記のルールに基づき、テキストファイルを作成し、moodle問題バンクにアップロードすることで小テストととして動作します。