Moodle1.9.3+ (2008/11/26) で check_required_entries_fields

Moodle1.9.3+ (2008/11/26) で check_required_entries_fields

- Tatsuya Shirai の投稿
返信数: 5

 先ほど,最新版のMoodle1.9.3+ (2008/11/26)にアップグレードしましたら,添付ファイルのような”チェック”項目が表示されました.色が黄色なのでOKでは無いがNGでも無いということなのでしょうか.

 「このテストに不適合の場合...」をクリックしても該当するMoodleDocsのページが存在しないので,この警告が何を意味しているのか,現状ではまだ分かりません.他にもこの警告が出た方,います?

添付 Moodle193_20081127.jpg
Tatsuya Shirai への返信

Re: Moodle1.9.3+ (2008/11/26) で check_required_entries_fields

- Tatsuya Shirai の投稿

 上記”その他のチェック”はMoodleのアップグレード時のデータベースの更新のタイミングで出力されました.これを無視してデータベースを更新し,[サイト管理]-[サーバ」-[動作環境]でチェックしても,もう”その他のチェック”という項目は表示されません.無気味です.

 "check_required_entries_fields"をgrepしてみたところ,現れたのは,

  • admin/environment.xml
  • mod/data/lib.php

の2箇所です.mod/data/lib.phpはfunction check_required_entries_fields()という関数です.コメントを見るとMDL-16999に関わりがあるらしい.


読んでみましたが...頭がパンクしました.

Tatsuya Shirai への返信

Re: Moodle1.9.3+ (2008/11/26) で check_required_entries_fields

- Haruhiko Okumura の投稿
私も昨日最新の1.9.3+をマージした三重大版を一つインストールしました。この画面は覚えていませんが,確かXMLRPCがNGだったけれども気にせずインストールしました。XMLRPCがないとMoodle Networkが作れないのだろうと思います。
Haruhiko Okumura への返信

Re: Moodle1.9.3+ (2008/11/26) で check_required_entries_fields

- Tatsuya Shirai の投稿

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が更新されているようです.むむ.

 もうこれは...アップグレードで潜在的な問題は解消された,という意味だと受け取るしかなさそうですね.

Tatsuya Shirai への返信

Re: Moodle1.9.3+ (2008/11/26) で check_required_entries_fieldsPetr Škoda

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
> もうこれは...アップグレードで潜在的な問題は解消された,という意味だと受け取るしかなさそうですね.

本来は「アップグレード処理中」にやるべきことを「動作環境の確認」でやったみたいですね。
この部分は、恐らく修正されることになると思います。笑顔

[Petr Škoda - 28/Nov/08 07:21 AM - Entries required before viewing data doesn't work]
http://tracker.moodle.org/browse/MDL-16999?focusedCommentId=60498#action_60498

Mitsuhiro Yoshida への返信

Re: Moodle1.9.3+ (2008/11/26) で check_required_entries_fieldsPetr Škoda

- Tatsuya Shirai の投稿

 ありがとうございます.
 最後まで読む前に頭がパンクしたことがバレましたね(笑).