ユーザプロフィールについて2点質問があります

ユーザプロフィールについて2点質問があります

- Takuya Kawatani の投稿
返信数: 5

moodle1.8.3+を使用しています。
ユーザプロフィールについて2点質問がありますので、教えていただけると助かります。

1点目は、新規アカウントを作成したユーザが初めてログインする時に、プロフィールの編集画面にジャンプするように設定する方法です。
以前のバージョンではそのような仕様になっていたと思うのですが、moodle1.8.3+でも初回ログイン時のみプロフィール編集画面に自動でジャンプするように設定することは可能でしょうか。

2点目は、ユーザの写真のアップロードサイズを限定する方法です。サイト全体の最大アップロードファイルサイズを20MBに設定すると、写真の最大サイズも20MBになってしまいます。
写真の最大サイズのみを限定する方法があればご教示ください。

よろしくお願いいたします。

Takuya Kawatani への返信

Re: ユーザプロフィールについて2点質問があります

- Tatsuya Shirai の投稿

(1点目)

 御質問のような機能があったということを知りませんでした.確かにそれは便利そうな機能ですね.私も是非,知りたい.

(2点目)

 ヘルプを読みますと,アップロードされた画像は100x100ピクセルにリサイズされるとあります.したがいまして,大きな写真がアップロードされたとしてもHDD内に保存される写真は小さなサイズに圧縮されるのではないでしょうか.moodledata/userフォルダの中を見てみましたが,75KBが最大の写真でした.当方のサイトのアップロードの上限は100MBに設定しています.


回答ついでに便乗で質問です.

 認証方式をPOP3でユーザ登録を行う際に,新しいパスワードの欄が必須入力項目と表示されてユーザの追加ができません.以前にユーザを登録したときはファイルからのユーザ登録だったので気付かなかったのかも知れません.
 なにせPOP3での認証ですので,追加しようとしてるユーザのパスワードを私には知る術がありません.バグなのでしょうか,仕様なのでしょうか?

Tatsuya Shirai への返信

Re: ユーザプロフィールについて2点質問があります

- Tatsuya Shirai の投稿

 別件で,login関係を調べていたところ,

function user_not_fully_set_up($user) {
    return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)));
}

この条件を満たすと,ログイン後に,

$urltogo = $CFG->wwwroot.'/user/edit.php';

このアドレスにリダイレクトされるようですよ.

 つまり,ゲストユーザ以外で,姓か名が入力されていないか,電子メールアドレスが入力されていないか,over_bounce_threshold()を満たす場合です.ちょっとover_bounce_threshold()がよく分からないのですが,ユーザに関するデータベース中のemail_bounce_countとemail_send_countが,ある条件を満たす場合に真となる関数のようです.電子メールが戻ってきてしまう,つまりアドレスにミスがあると思われる場合かな?

 ユーザを登録する場合に,意図的に電子メールアドレスを設定しない(:ファイルからユーザ登録をする場合のみ有効?)などの手段を講じるか.

login/index.phpの175行近辺にある以下のコードでプロフィール編集画面へリダイレクトしているようですので,

            if (user_not_fully_set_up($USER)) {
                $urltogo = $CFG->wwwroot.'/user/edit.php';
                // We don't delete $SESSION->wantsurl yet, so we get there later

            } else if (isset($SESSION->wantsurl) and (strpos($SESSION->wantsurl, $CFG->wwwroot) === 0)) {
                $urltogo = $SESSION->wantsurl;    /// Because it's an address in this site
                unset($SESSION->wantsurl);

            } else {
                // no wantsurl stored or external - go to homepage
                $urltogo = $CFG->wwwroot.'/';
                unset($SESSION->wantsurl);
            }

user_not_fully_set_up()関数に条件を追加するか,上記のif文の条件に(ユーザのログイン回数を調べる方法があるならば)初めてログインした場合,という条件を or で追加するのが一つの手ですね.

Tatsuya Shirai への返信

Re: ユーザプロフィールについて2点質問があります

- Takuya Kawatani の投稿

白井様、ご返信くださりありがとうございます。

(2点目)
画像の件、よくわかりました。アップロードした画像とリサイズ画像とがサーバに共存するものと勝手に思い込んでいました。
自分でも確認しましたが、確かに100×100ピクセルと35×35ピクセルの画像しか保存されていませんでした。

(1点目)
解説ありがとうございます。少々難しそうですが、チャレンジしてみます。

Eメールによる自己登録時には「自己紹介」の入力は求められませんが、ログイン後にプロフィールを編集した場合「自己紹介」が必須項目に指定されているため空白のままだと更新ができません。
このことにはプロフィール編集をした人しか気づきにくいと思うので、登録者全員に「自己紹介」の記入を促すためにも、初回ログイン時にプロフィール編集画面にジャンプするようにしたいと考えました。

user_not_fully_set_up()関数に“自己紹介が空白なら”という条件を加えてみると良いのかもしれませんね。

Takuya Kawatani への返信

Re: ユーザプロフィールについて2点質問があります

- Minoru Akiyama の投稿
秋山@eラーニングサービスです

教員が学生にユーザプロファイルの自己紹介欄を使って自己紹介を書かせると後で問題になることがあります。
サイトポリシーとしてそうすることが問題ないとしている場合は良いのですが、そうでない場合は問題になることがあります。
そういう事例が実際にありましたので、自己紹介はフォーラムなどでされた方がよいと思います。
問題というのは、こうです。
ある教員が担当のクラスで学生全員にユーザプロファイルを使って自己紹介を書かせたのです。
かなりの学生はそのコースの学生にしか自己紹介を読まれないと思って書いたのです。
だけれども、ユーザプロファイルは、他のコースでも読まれます。
何人かの学生は、そんな心算で書いたのではない、教員の説明不足だ、というクレームを言ってきたそうです。
教員もそこまで認識してユーザプロファイルに書かせたのではなく、詫びてユーザプロファイルを消すように指示したそうです。
フォーラムならそんなことにはなりません。
というわけで、個人で管理しているMoodleでない場合は、気をつけた方がよいと思います。
Minoru Akiyama への返信

Re: ユーザプロフィールについて2点質問があります

- Takuya Kawatani の投稿

秋山様

ご助言ありがとうございます。確かに気をつけた方が良さそうですね。

moodleを使って構築したいのは、くまもとインターネット市民塾のように、広く誰もが参加できるサイトです。自己紹介欄に限らず、プロフィール記載事項の何が誰に公開される、または公開されないということは、明確にしたほうが良いですね。

先にも書きましたが、デフォルト設定では自己紹介が必須項目になっているため、プロフィールの編集をすると空欄では更新ができないので、いっそのこと皆に書いてもらうようにすることを考えたのですが、必須項目から外すことも考えてみます。

くまもとインターネット市民塾
http://www.learning-square.jp/