ニュースフォーラムのグループ機能

ニュースフォーラムのグループ機能

- Tatsuya Shirai の投稿
返信数: 2

鈴鹿高専の白井です.

 これはまだ再現実験を行っていませんので私の勘違いかも知れません.

 あるコースに学生と私以外の教員(複数名)の登録されているグループがあります.
 ニュースフォーラム(アナウンスメント)はグループ有りに設定してありませんでした.

 先日,学生向けの少し強めの説教を投稿しました.他の先生方に聞かれると恥ずかしいので,投稿前にニュースフォーラムをグループ有り(可視グループ)に変更し,投稿先は「学生」グループを選択しました.翌日,同コースに登録されている教員から「白井さんからの”レポート締め切り厳守”のお説教が心に刺さった」と爆笑されました.明らかなブーメラン発言なのでグループ設定にしたのに…

 ニュースフォーラムはグループで分離しても「教師」ロールにはメール送信されてしまう,それは仕様なのでしょうか...?

Tatsuya Shirai への返信

Re: ニュースフォーラムのグループ機能

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

Moodle 3.6.2+ (Build: 20190215)でしたら、mod/forum/lib.phpの730行目あたりでグループに属せずにケイパビリティ「すべてのグループにアクセスする (moodle/site:accessallgroups)」が割り当てられていないユーザにはメールを送信しないことになっているようです。

// Make sure groups allow this user to see this email.
if ($discussion->groupid > 0 and $groupmode = groups_get_activity_groupmode($cm, $course)) {
    // Groups are being used.
    if (!groups_group_exists($discussion->groupid)) {
        // Can't find group - be safe and don't this message.
        continue;
    }

    if (!groups_is_member($discussion->groupid) and !has_capability('moodle/site:accessallgroups', $modcontext)) {
        // Do not send posts from other groups when in SEPARATEGROUPS or VISIBLEGROUPS.
        continue;
    }
}
Mitsuhiro Yoshida への返信

Re: ニュースフォーラムのグループ機能

- Tatsuya Shirai の投稿

 ありがとうございます.

 ソースを見ると一発ですね.分離/可視グループに関わらずグループに属していなければメール送信はされない.それに加えて site:accessallgroups が設定されていないこと.学生はそうですね.しかし,”編集権限のない教師”(コースで変更可),”教師”,”マネージャー”は権限を持っています.したがってグループに属していない教師もこの if文の条件を満たさないのでメール送信されてしまう,ということですね.

 かといって教師に全グループへのアクセス権を与えない訳には行きません.確かに通常の使用方法ではグループごとへどのようなフォーラム投稿を行ったかコースに属する教師は把握しておきたいので,このコードは正しいですね.ううむ,では10グループ中の8グループに同じ内容の投稿を行った場合,教師には同じ内容のメールが8通,届いてしまう訳ですね…(同じ内容とは限らないのですから).

 投稿先の選択に「教師を除く(全学生対象)」を追加してここに if文を追加するか,投稿先の選択には手を加えず新たに「教師を除く」のチェックボックスを設けてif文を追加するなどの方法で強引に回避できますが,あまり需要はなさそうですね.機能ばかり増えると利用者を混乱させるだけですので.