先ほど,最新版のMoodle1.9.3+ (2008/11/26)にアップグレードしましたら,添付ファイルのような”チェック”項目が表示されました.色が黄色なのでOKでは無いがNGでも無いということなのでしょうか.
「このテストに不適合の場合...」をクリックしても該当するMoodleDocsのページが存在しないので,この警告が何を意味しているのか,現状ではまだ分かりません.他にもこの警告が出た方,います?
上記”その他のチェック”はMoodleのアップグレード時のデータベースの更新のタイミングで出力されました.これを無視してデータベースを更新し,[サイト管理]-[サーバ」-[動作環境]でチェックしても,もう”その他のチェック”という項目は表示されません.無気味です.
"check_required_entries_fields"をgrepしてみたところ,現れたのは,
の2箇所です.mod/data/lib.phpはfunction check_required_entries_fields()という関数です.コメントを見るとMDL-16999に関わりがあるらしい.
読んでみましたが...頭がパンクしました.
function required_entries_fields()
* This function is declared into environment.xml
* Check if both of database required entries fields have been set for a version anterior to 2007101532
* This check has been required by the bug MDL-16999
について少しだけ調べてみました.
まずこの関数が何らかのエラーをreturnするには,$CFG->version < 2007101532 であること.これはMoodleのバージョンではなくdatabaseモジュールのバージョンだと思いますので調べてみると(mdl_modules),2007101513ですので合致しますね.(Moodle2.0ではdataモジュールがアップグレードされているのでしょうか)
次にデータベース(mdl_dataとmdl_course)からデータを読み出して,($database->requiredentries != 0 || $database->requiredentriestoview != 0)ならば,
$result->setStatus(false);//fail test
エラー(?)をセットしてリターンしていますね.
でも,mdl_dataを見ても,requiredentriesとrequiredentriestoviewは全て0です.確かにdataモジュールをいくつかコースに配置していますが,ほとんど使用されていません.
まだ最新版のMoodle1.8.7+にアップグレードしていないMoodleがあったので,そちらを試しにアップグレードして管理者でログインしたら同じ”チェック”が出ました.データベースの更新を行わないで,データベースの中を除いて見たのですが,やはりこちらもrequiredentriesとrequiredentriestoviewは全て0です.
ということは,このcheck_required_entries_fields($result)のテスト結果がNGという意味では無いようです.引数で受け取った$resultをそのままreturnしているだけのようですので.
では,この$resultを見てやろう,と思ってvar_dump($result)を埋め込んで,もう一度画面をリロードしたら,二度と”その他の動作確認”が表示されなくなってしまいました...データベースの更新は行っていないのに.おかしいなと思って,mdl_dataを見るといつの間にかmdl_dataのversionが更新されているようです.むむ.
もうこれは...アップグレードで潜在的な問題は解消された,という意味だと受け取るしかなさそうですね.