和田@NTTデータエンジニアリングシステムズです。
Moodle 1.6 で SCORM コンテンツの評定が正しく実施されない
不具合を発見しましたのでご報告します。
(1) 現象
評定方法に「学習オブジェクト」を設定済み SCORM コンテンツの
ユーザー毎の完了済み SCO(学習オブジェクト)数が
評定の「評定の表示」で評点として算出されず、0 と表示されます。
(2) 実行環境
Moodle 1.6
(3) 原因
mod/scorm/locallib.php ファイル、scorm_grade_user 関数内の
switch 文で使用している定数名に誤りがあるためと考えられます。
scorm_grade_user 関数では、
VALUE で始まる定数名(例 VALUESCOES)の代わりに
GRADE で始まる定数名(例 GRADESCOES)を使用するのが正解だと思います。
(そもそも VALUESCOES や VALUESUM という定数宣言が見当たりません)
(4) 解決策
下記のように mod/scorm/locallib.php ファイル、scorm_grade_user 関数内で、
"VALUE" で始まる全ての定数名の "VALUE" 部分を "GRADE" に置換すれば解決します。
[変更前(mod/scorm/locallib.php 368行目付近)]
case VALUEHIGHEST:
・・・
case VALUEAVERAGE:
・・・
case VALUESUM:
・・・
case VALUESCOES:
・・・
[変更後]
case GRADEHIGHEST:
・・・
case GRADEAVERAGE:
・・・
case GRADESUM:
・・・
case GRADESCOES:
・・・