http://docs.moodle.org/en/Moodle_for_Mobiles
こちらの英語による説明文を読んで,こちらの説明文どおりに設定を行いました。
studentユーザが携帯電話(docomoのso905i)で
http://hogehoge.com/moodle/login/index.php
にアクセスしましたら,無事に
------------------------------------------
アカウントをお持ちの方ですか?ユーザ名と
パスワードを入力してください:
ユーザ名:
パスワード:
ログイン
------------------------------------------
という「ログイン画面」が現れました。
ここで,ユーザ名とパスワードを入力し
ログインボタンをクリックすると
「コース一覧」が表示されましたので,あらかじめ
このstudentユーザがPCのブラウザで登録した
コースをクリックしました。
すると,また,
上記とまったく同じ「ログイン画面」が現れました。
もう一度,まったく同じようにログインをすると
次は,PC画面でteacher権限で携帯で利用可能にした
小テスト一覧が表示されていました。
その小テストの一つをクリックすると・・・
また,
上記とまったく同じ「ログイン画面」が現れました。
しょうがないので,またもや
まったく同じようにログインすると,
「問題を受験する」というボタンが表示されたので
「問題を受験する」をクリックすると,
今度は,「ログイン画面」になることなく,
問題が表示されました!!
でもここまでくるのに,3回も同じログインを
しなければなりません。
そして,問題を実施して,
「すべてを送信して終了する」をクリックした後も
ログイン画面にはなりませんでした。・・・
しかし,
このあと,違う小テストをやるために,
画面の一番下の「○○コース」をクリックすると
またもや「ログイン画面」が出てきてしまいました。
この「ログイン画面」でひたすら同じIDとパスを
入れ続ければ,使えない事はないのですが,
1回入力すれば,一定時間使わなくなるまでは
何度もログインせずに快適に使えるように
プログラムを書き換えたいです。
どこを書き換えたら,この現象が回避されるのかを
どなたか教えていただけないでしょうか?
http://docs.moodle.org/en/Moodle_for_Mobiles
こちらの英語による説明文の通りの作業を行いましたが、英語だったので、だいぶ解読に時間がかかりました。
日本語で書いてあったほうが、わかりやすい方もいらっしゃるかと思います。
間違っているかもしれませんが、私のやった手順を下記に示しますので、英語の苦手な方など、下記の通りにやれば、私と同じ現象にまでは、moodle for mobileを使えるようになると思います。
1.moodleのバージョン
1.9を使った例とします。
2.日本語化
日本語の言語パックをまだ使っていない人は、
moodleの日本語化をしてください。
私はすでに日本語化していました。
やり方は、白井先生が
http://moodle.org/mod/forum/discuss.php?d=89606&parent=395624
こちらのURLにて教えてくださっております。
3.テーマを元に戻す
テーマを変更されていますか?
もしされているなら、standardwhite か standard
のどちらかにしましょう。
4.ダウンロードと展開
http://moodle.org/mod/data/view.php?d=13&mode=single&filter=1&page=1
こちらのURLから、
Download for Moodle 1.9
というzipファイルをダウンロードします。
つまり
http://download.moodle.org/patches/mobile.zip
↑このURLからダウンロードするわけです。
このファイルを展開したらmobileというディレクトリが生成されます。
5.展開したものを置く場所
あなたがmoodleをインストールしているディレクトリの直下に、さきほど展開したmobileというディレクトリを置いてください。
私は、public_htmlディレクトリの中に
moodleというディレクトリを作っていまして、
ここに、moodleが入っています。ですから、
このmoodleというディレクトリの中に、
さらに、mobileというディレクトリを置いただけです
以下、このmoodleというディレクトリを基準にして説明します。
6.moodleディレクトリ/course/lib.php 2行目
このファイルの2行目に
include_once($CFG->mfm_dirroot.'/course/mfmbuttons.php');
この1行を追記しました。
7.moodleディレクトリ/course/lib.php 1389行目付近
このファイルの1389行目付近に
echo make_editing_buttons($mod, $absolute, true, $mod->indent, $section->section);
この文字列があります。
この文字列の下に1行空けた後、
echo make_mobile_enable_button($mod, $absolute, $section->section);
この一行を追記しました。
8.moodleディレクトリ/config.php の書き換え箇所
require_once("$CFG->dirroot/lib/setup.php");
この一行があるので、これを下記の一行に書き換えます
require_once($CFG->dirroot.'/mobile/customscripts/lib/setup.php');
9.携帯電話でアクセスする(最初1回だけ管理者で)。
http://hogehoge.com/moodle/admin/
に携帯電話でアクセスして、管理者IDとパスワードを
入力すると、データベースの生成等が行われる。
10.PCでアクセスして小テストを利用可能にする
利用するコースのトップページに事前に作っておいた
小テストを携帯電話でも使えるようにします。
画面右上の「編集モードの開始」をクリックしたあと
添付ファイルの画像(英語の説明のところにあった画像です)のように、各小テストの右側に携帯電話のマークが出てきます。
この携帯電話のマークをクリックして、赤い×マークを消してください。
11.携帯電話でアクセスする。
今度は、student権限でログインしてみますと、
さきほど、赤い×マークを消した小テストが利用可能となっています。
このような流れで、設定をしました。
こちらの英語による説明文の通りの作業を行いましたが、英語だったので、だいぶ解読に時間がかかりました。
日本語で書いてあったほうが、わかりやすい方もいらっしゃるかと思います。
間違っているかもしれませんが、私のやった手順を下記に示しますので、英語の苦手な方など、下記の通りにやれば、私と同じ現象にまでは、moodle for mobileを使えるようになると思います。
1.moodleのバージョン
1.9を使った例とします。
2.日本語化
日本語の言語パックをまだ使っていない人は、
moodleの日本語化をしてください。
私はすでに日本語化していました。
やり方は、白井先生が
http://moodle.org/mod/forum/discuss.php?d=89606&parent=395624
こちらのURLにて教えてくださっております。
3.テーマを元に戻す
テーマを変更されていますか?
もしされているなら、standardwhite か standard
のどちらかにしましょう。
4.ダウンロードと展開
http://moodle.org/mod/data/view.php?d=13&mode=single&filter=1&page=1
こちらのURLから、
Download for Moodle 1.9
というzipファイルをダウンロードします。
つまり
http://download.moodle.org/patches/mobile.zip
↑このURLからダウンロードするわけです。
このファイルを展開したらmobileというディレクトリが生成されます。
5.展開したものを置く場所
あなたがmoodleをインストールしているディレクトリの直下に、さきほど展開したmobileというディレクトリを置いてください。
私は、public_htmlディレクトリの中に
moodleというディレクトリを作っていまして、
ここに、moodleが入っています。ですから、
このmoodleというディレクトリの中に、
さらに、mobileというディレクトリを置いただけです
以下、このmoodleというディレクトリを基準にして説明します。
6.moodleディレクトリ/course/lib.php 2行目
このファイルの2行目に
include_once($CFG->mfm_dirroot.'/course/mfmbuttons.php');
この1行を追記しました。
7.moodleディレクトリ/course/lib.php 1389行目付近
このファイルの1389行目付近に
echo make_editing_buttons($mod, $absolute, true, $mod->indent, $section->section);
この文字列があります。
この文字列の下に1行空けた後、
echo make_mobile_enable_button($mod, $absolute, $section->section);
この一行を追記しました。
8.moodleディレクトリ/config.php の書き換え箇所
require_once("$CFG->dirroot/lib/setup.php");
この一行があるので、これを下記の一行に書き換えます
require_once($CFG->dirroot.'/mobile/customscripts/lib/setup.php');
9.携帯電話でアクセスする(最初1回だけ管理者で)。
http://hogehoge.com/moodle/admin/
に携帯電話でアクセスして、管理者IDとパスワードを
入力すると、データベースの生成等が行われる。
10.PCでアクセスして小テストを利用可能にする
利用するコースのトップページに事前に作っておいた
小テストを携帯電話でも使えるようにします。
画面右上の「編集モードの開始」をクリックしたあと
添付ファイルの画像(英語の説明のところにあった画像です)のように、各小テストの右側に携帯電話のマークが出てきます。
この携帯電話のマークをクリックして、赤い×マークを消してください。
11.携帯電話でアクセスする。
今度は、student権限でログインしてみますと、
さきほど、赤い×マークを消した小テストが利用可能となっています。
このような流れで、設定をしました。
私も先日知ったばかりですが,Mobile Moodle Project (MOMO) というものもあるようですね.http://www.mobilemoodle.org/momo18/
どうやら携帯電話のクライアントソフトウェア(Java)を各社向けに用意しているようですので,Moodle本体への修正+クライアント利用というアプローチのようです.
白井先生ありがとうございます。MOMOという名前がかわいいですね。ひとまず,もう少しでMFMが使えそうなので,がんばってみようと思います。
下記の実験を行い,下記の法則を発見しました。
ログイン画面になってしまう画面遷移と
ログイン画面になってしまわない画面遷移について,一つ一つの画面のURLを調べてみました。
http://hoge.com/moodle/login/index.php
このログイン画面でログインすると
http://hoge.com/moodle/?MoodleSession=e7dk1o0ml065jqu1q7dvli8t67
こちらのURLへ遷移し,画面にはコース一覧が表示されます。
あるコースに入るためにコース名をクリックすると
「ログイン画面」が出てきてしまいます。
ログイン2回目が完了すると,小テスト一覧が表示され
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=08es6sh1i7rrmtjr08s54rgbq1
このURLへ遷移した。
ある小テストをクリックすると「ログイン画面」が出てきてしまいます。ログイン3回目が完了すると,
「もう一度受験する」ボタンが出てきた
http://hoge.com/moodle/mod/quiz/view.php?id=4&MoodleSession=hd7b0s46u87vdqoefnfjq6lp65
このURLへ遷移した
「もう一度受験する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php?MoodleSession=hd7b0s46u87vdqoefnfjq6lp65&id=8
このURLでした。
「次へ」のボタンをクリックすると「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
さらに「次へ」のボタンをクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
最後に「すべてを送信して終了する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/review.php?attempt=242&MoodleSession=hd7b0s46u87vdqoefnfjq6lp65
上記URLの受験レビューの画面の一番下の「コース名」をクリックすると「ログイン画面」が出てきてしまいました。ログイン4回目が完了すると
このときのURLは
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=cq03tr4pkrugak7h3bd11hep83
このようなURLの変化が見られました。
これらのことからわかったことは,
1.URLの後ろについてくるMoodleSessionが同じ値の時にはログイン画面が再度出てくることはないこと
2./mod/quiz/内の.phpファイルであれば,クリックすることによって,attempt.phpやview.phpやreview.phpなど読み込むphpファイルが変わったとしても,MoodleSessionは保持されているということ
3./course/内のphpファイルから,/mod/quiz/内のphpファイルや,/login/内のファイルなど,ディレクトリの違う場所へ遷移する場合にMoodleSessionが保持されないため,再度「ログイン画面」になってしまうこと。
このMoodleSessionが,違うディレクトリに遷移するときも保持されるようにしたいのですが,どのファイルを書き換えればよろしいでしょうか?
わかる方,教えていただけないでしょうか?
よろしくお願いいたします。
下記の実験を行い,下記の法則を発見しました。
ログイン画面になってしまう画面遷移と
ログイン画面になってしまわない画面遷移について,一つ一つの画面のURLを調べてみました。
http://hoge.com/moodle/login/index.php
このログイン画面でログインすると
http://hoge.com/moodle/?MoodleSession=e7dk1o0ml065jqu1q7dvli8t67
こちらのURLへ遷移し,画面にはコース一覧が表示されます。
あるコースに入るためにコース名をクリックすると
「ログイン画面」が出てきてしまいます。
ログイン2回目が完了すると,小テスト一覧が表示され
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=08es6sh1i7rrmtjr08s54rgbq1
このURLへ遷移した。
ある小テストをクリックすると「ログイン画面」が出てきてしまいます。ログイン3回目が完了すると,
「もう一度受験する」ボタンが出てきた
http://hoge.com/moodle/mod/quiz/view.php?id=4&MoodleSession=hd7b0s46u87vdqoefnfjq6lp65
このURLへ遷移した
「もう一度受験する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php?MoodleSession=hd7b0s46u87vdqoefnfjq6lp65&id=8
このURLでした。
「次へ」のボタンをクリックすると「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
さらに「次へ」のボタンをクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
最後に「すべてを送信して終了する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/review.php?attempt=242&MoodleSession=hd7b0s46u87vdqoefnfjq6lp65
上記URLの受験レビューの画面の一番下の「コース名」をクリックすると「ログイン画面」が出てきてしまいました。ログイン4回目が完了すると
このときのURLは
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=cq03tr4pkrugak7h3bd11hep83
このようなURLの変化が見られました。
これらのことからわかったことは,
1.URLの後ろについてくるMoodleSessionが同じ値の時にはログイン画面が再度出てくることはないこと
2./mod/quiz/内の.phpファイルであれば,クリックすることによって,attempt.phpやview.phpやreview.phpなど読み込むphpファイルが変わったとしても,MoodleSessionは保持されているということ
3./course/内のphpファイルから,/mod/quiz/内のphpファイルや,/login/内のファイルなど,ディレクトリの違う場所へ遷移する場合にMoodleSessionが保持されないため,再度「ログイン画面」になってしまうこと。
このMoodleSessionが,違うディレクトリに遷移するときも保持されるようにしたいのですが,どのファイルを書き換えればよろしいでしょうか?
わかる方,教えていただけないでしょうか?
よろしくお願いいたします。
どうやら,下記の記事で,同様の話題があがっていたようです。
Moodle for Mobiles でのセッション引継ぎ
http://moodle.org/mod/forum/discuss.php?d=86860
ですが,こちらの記事を読みましても,セッション引継ぎができていないまま,話が止まっておりました。
どこを書き換えたら,セッションが引き継がれるのかを,また探してみたいと思います。
Moodle for Mobiles でのセッション引継ぎ
http://moodle.org/mod/forum/discuss.php?d=86860
ですが,こちらの記事を読みましても,セッション引継ぎができていないまま,話が止まっておりました。
どこを書き換えたら,セッションが引き継がれるのかを,また探してみたいと思います。
NTT docomoが公開している
iモードHTMLシミュレータII
http://www.nttdocomo.co.jp/service/imode/make/content/browser/html/tool2/download/index.html
を用いてみましたが、問題となっている画面繊維のたびに、ログイン画面が出てくることはありませんでした。
まだ、改修方法が見つかっておりません。
がんばってみます。
ご助言いただけましたら、非常に助かります!!
iモードHTMLシミュレータII
http://www.nttdocomo.co.jp/service/imode/make/content/browser/html/tool2/download/index.html
を用いてみましたが、問題となっている画面繊維のたびに、ログイン画面が出てくることはありませんでした。
まだ、改修方法が見つかっておりません。
がんばってみます。
ご助言いただけましたら、非常に助かります!!
Yuuichi Yamaguchi への返信
このフォーラム投稿は削除されました。
このフォーラム投稿のコンテンツは削除されたため現在アクセスすることはできません。
井伊先生
i-modeシミュレータを用いた場合の
ログイン画面になってしまう画面遷移と
ログイン画面になってしまわない画面遷移について,一つ一つの画面のURLを調べてみました。
このi-modeシミュレータには
「シミュレートモード」という機能があるようでして、
デフォルトでは、「8」になっていました。「8」の場合は、
問題なく、すべての画面に遷移できましたが・・・
ここを「7」にすると、下記のように、SO905iと同様のエラーとなりました。
この「シミュレートモード」が「7」の場合の画面遷移のURLを下記に示します。
http://hoge.com/moodle/login/index.php
このログイン画面でログインすると
http://hoge.com/moodle/?MoodleSession=vggktv8kqo24tl97kr0pj6c743
こちらのURLへ遷移し,画面にはコース一覧が表示されます。
あるコースに入るためにコース名をクリックすると
「ログイン画面」が出てきてしまいます。
http://hoge.com/moodle/login/index.php?MoodleSession=m3vt6iguen9v321agabeh8tmi2
ログイン画面のURLは上記の通り
ログイン2回目が完了すると,小テスト一覧が表示され
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=m3vt6iguen9v321agabeh8tmi2
このURLへ遷移した。
ある小テストをクリックすると「ログイン画面」が出てきてしまいます。
http://hoge.com/moodle/login/index.php?MoodleSession=mminurlgj5rjaqjo6e74fq29s4
ログイン画面のURLが上記の通り
ログイン3回目が完了すると,
「もう一度受験する」ボタンが出てきた
http://hoge.com/moodle/mod/quiz/view.php?id=4&MoodleSession=mminurlgj5rjaqjo6e74fq29s4
このURLへ遷移した
「もう一度受験する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php?MoodleSession=mminurlgj5rjaqjo6e74fq29s4&MoodleSession=mminurlgj5rjaqjo6e74fq29s4&id=4
このURLでした。
「次へ」のボタンをクリックすると「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
さらに「次へ」のボタンをクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
最後に「すべてを送信して終了する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/review.php?attempt=280&MoodleSession=mminurlgj5rjaqjo6e74fq29s4
上記URLの受験レビューの画面の一番下の「コース名」をクリックすると「ログイン画面」が出てきてしまいました。
このときのURLは
http://hoge.com/moodle/login/index.php?MoodleSession=8loh9ro5bg0ecdt0fdjb842t06
このようなURLの変化が見られました。
これらのことからわかったことは,i-modeシミュレータでも、SO905iを用いても、
以下の同様な結果になったということです。
1.URLの後ろについてくるMoodleSessionが同じ値の時にはログイン画面が再度出てくることはないこと
2./mod/quiz/内の.phpファイルであれば,クリックすることによって,attempt.phpやview.phpやreview.phpなど読み込むphpファイルが変わったとしても,MoodleSessionは保持されているということ
3./course/内のphpファイルから,/mod/quiz/内のphpファイルや,/login/内のファイルなど,ディレクトリの違う場所へ遷移する場合にMoodleSessionが保持されないため,再度「ログイン画面」になってしまうこと。
そのあと、いろいろ調べましたら、
http://mai-u.x0.com/tako/archives/computer_and_internet/mobile/
こちらのページに次のような情報が載っていました。
--------------------------------------------------------------------
ユーザーエージェントは、シミュレートモード1~7の場合
DoCoMo/2.0 ISIM080x(c100;TB;W24H16) [xはシミュレートモードの数字]
シミュレートモード8の場合
DoCoMo/2.0 ISIM0808(c500;TB;W12H08)
--------------------------------------------------------------------
どうやら、シミュレートモードの値が小さければ、
古い携帯電話のブラウザとなるようです。
それにたいして、値が8という最大値であれば、
1(iHTML 5.0/FOMA 900i~901i世代)
3(iHTML 6.0/FOMA 902i世代)
4(iHTML 7.0/FOMA 903i~904i世代)
8(i-mode browser 2.0/2009年春モデル以降)
ということだそうです。
ということは、私のSO905iは、7以下の世代のブラウザなのだと思われます。
まだまだ8しか対応できていないのは、利用する人が限定されすぎてしまうので
1~7にも対応できるようにしたいと考えています。
少し糸口が見えたように思います。
Toshiharu IIさんありがとうございます。
i-modeシミュレータを用いた場合の
ログイン画面になってしまう画面遷移と
ログイン画面になってしまわない画面遷移について,一つ一つの画面のURLを調べてみました。
このi-modeシミュレータには
「シミュレートモード」という機能があるようでして、
デフォルトでは、「8」になっていました。「8」の場合は、
問題なく、すべての画面に遷移できましたが・・・
ここを「7」にすると、下記のように、SO905iと同様のエラーとなりました。
この「シミュレートモード」が「7」の場合の画面遷移のURLを下記に示します。
http://hoge.com/moodle/login/index.php
このログイン画面でログインすると
http://hoge.com/moodle/?MoodleSession=vggktv8kqo24tl97kr0pj6c743
こちらのURLへ遷移し,画面にはコース一覧が表示されます。
あるコースに入るためにコース名をクリックすると
「ログイン画面」が出てきてしまいます。
http://hoge.com/moodle/login/index.php?MoodleSession=m3vt6iguen9v321agabeh8tmi2
ログイン画面のURLは上記の通り
ログイン2回目が完了すると,小テスト一覧が表示され
http://hoge.com/moodle/course/view.php?id=3&MoodleSession=m3vt6iguen9v321agabeh8tmi2
このURLへ遷移した。
ある小テストをクリックすると「ログイン画面」が出てきてしまいます。
http://hoge.com/moodle/login/index.php?MoodleSession=mminurlgj5rjaqjo6e74fq29s4
ログイン画面のURLが上記の通り
ログイン3回目が完了すると,
「もう一度受験する」ボタンが出てきた
http://hoge.com/moodle/mod/quiz/view.php?id=4&MoodleSession=mminurlgj5rjaqjo6e74fq29s4
このURLへ遷移した
「もう一度受験する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php?MoodleSession=mminurlgj5rjaqjo6e74fq29s4&MoodleSession=mminurlgj5rjaqjo6e74fq29s4&id=4
このURLでした。
「次へ」のボタンをクリックすると「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
さらに「次へ」のボタンをクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/attempt.php
最後に「すべてを送信して終了する」をクリックすると,「ログイン画面」は出てきませんでした。
このときのURLは
http://hoge.com/moodle/mod/quiz/review.php?attempt=280&MoodleSession=mminurlgj5rjaqjo6e74fq29s4
上記URLの受験レビューの画面の一番下の「コース名」をクリックすると「ログイン画面」が出てきてしまいました。
このときのURLは
http://hoge.com/moodle/login/index.php?MoodleSession=8loh9ro5bg0ecdt0fdjb842t06
このようなURLの変化が見られました。
これらのことからわかったことは,i-modeシミュレータでも、SO905iを用いても、
以下の同様な結果になったということです。
1.URLの後ろについてくるMoodleSessionが同じ値の時にはログイン画面が再度出てくることはないこと
2./mod/quiz/内の.phpファイルであれば,クリックすることによって,attempt.phpやview.phpやreview.phpなど読み込むphpファイルが変わったとしても,MoodleSessionは保持されているということ
3./course/内のphpファイルから,/mod/quiz/内のphpファイルや,/login/内のファイルなど,ディレクトリの違う場所へ遷移する場合にMoodleSessionが保持されないため,再度「ログイン画面」になってしまうこと。
そのあと、いろいろ調べましたら、
http://mai-u.x0.com/tako/archives/computer_and_internet/mobile/
こちらのページに次のような情報が載っていました。
--------------------------------------------------------------------
ユーザーエージェントは、シミュレートモード1~7の場合
DoCoMo/2.0 ISIM080x(c100;TB;W24H16) [xはシミュレートモードの数字]
シミュレートモード8の場合
DoCoMo/2.0 ISIM0808(c500;TB;W12H08)
--------------------------------------------------------------------
どうやら、シミュレートモードの値が小さければ、
古い携帯電話のブラウザとなるようです。
それにたいして、値が8という最大値であれば、
1(iHTML 5.0/FOMA 900i~901i世代)
3(iHTML 6.0/FOMA 902i世代)
4(iHTML 7.0/FOMA 903i~904i世代)
8(i-mode browser 2.0/2009年春モデル以降)
ということだそうです。
ということは、私のSO905iは、7以下の世代のブラウザなのだと思われます。
まだまだ8しか対応できていないのは、利用する人が限定されすぎてしまうので
1~7にも対応できるようにしたいと考えています。
少し糸口が見えたように思います。
Toshiharu IIさんありがとうございます。
Yuuichi Yamaguchi への返信
このフォーラム投稿は削除されました。
このフォーラム投稿のコンテンツは削除されたため現在アクセスすることはできません。
井伊先生ありがとうございます。
早速、シミュレートモード8で確認してみましたところ、
URLに一度もMoodleSessionは付いていませんでした。
PCのIEやgoogle chromeなどのブラウザからアクセスしているときのURLとまったく同じURLでした。
ただし、表示されている画面は、PCと同じではなく、MFMの携帯用画面でした。しかし、フォントサイズがなぜか、大きく表示されていました。
i-modeシミュレータ側のフォントサイズ設定は小のままでしたが、なぜかシミュレートモードが8の場合だけフォントサイズは大きかったです。
これがHTTPヘッダなのかわかりませんが、「表示」メニューから「ログ画面」に出力されたものを以下に転記いたします。
これを見た感じでは、ログイン直後には、MoodleSessionを取得しているけれど、「コース名」をクリックしたときにまた、違うMoodleSessionを取得しているような気がしました。
=========シミュレートモード7の場合===========
1.ログイン画面でログインしたら、下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6]
[MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6]
[username=hogeuser]
[password=hogepasse]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle?MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6
Status code: 301
Content-Type: text/html; charset=iso-8859-1
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/?MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 947
--- --- ---
Data size: 1250
====
<strong>タグは使用できないため無視されました。
<strong>タグは使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
====
タグチェックエラーが発生しました。
読込みサイズ: 2197
読込み完了。
============================================================
2.次にある「コース名」をクリックすると、このログが出力されたとともに、また画面がログイン画面になってしまいました。
============================================================
URL: http://hoge.com/moodle/course/view.php?id=3
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/course/view.php?id=3
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/login/index.php?MoodleSession=d9ni292c4htvcgtcpvlns9e2k6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
Data size: 1297
====
====
エラーはありませんでした。
読込みサイズ: 1297
読込み完了。
============================================================
3.その「ログイン画面」でもう一度ログインしたら、下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=d9ni292c4htvcgtcpvlns9e2k6]
[MoodleSession=d9ni292c4htvcgtcpvlns9e2k6]
[username=hogeuser]
[password=hogepasse]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/course/view.php?id=3&MoodleSession=d9ni292c4htvcgtcpvlns9e2k6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 101
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 173
--- --- ---
Data size: 1880
====
<strong>タグは使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
====
タグチェックエラーが発生しました。
読込みサイズ: 2154
読込み完了。
============================================================
=========シミュレートモード8の場合===========
1.ログイン画面からログインすると下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : i-mode Browser2.0/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=m8n5emrvct458ghctp2v00j3c1]
[MoodleSession=m8n5emrvct458ghctp2v00j3c1]
[username=hogeuser]
[password=hogepass]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle
Status code: 301
Content-Type: text/html; charset=iso-8859-1
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 947
--- --- ---
Data size: 1003
====
====
エラーはありませんでした。
読込みサイズ: 1950
読込み完了。
============================================================
2.このあと、ある「コース名」をクリックすると、「ログイン画面」に遷移することなく、コースの中身が表示されました。
============================================================
URL: http://hoge.com/moodle/course/view.php?id=3
シミュレートモード : i-mode Browser2.0/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/course/view.php?id=3
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 101
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 173
--- --- ---
Data size: 1790
====
====
エラーはありませんでした。
読込みサイズ: 2064
読込み完了。
============================================================
早速、シミュレートモード8で確認してみましたところ、
URLに一度もMoodleSessionは付いていませんでした。
PCのIEやgoogle chromeなどのブラウザからアクセスしているときのURLとまったく同じURLでした。
ただし、表示されている画面は、PCと同じではなく、MFMの携帯用画面でした。しかし、フォントサイズがなぜか、大きく表示されていました。
i-modeシミュレータ側のフォントサイズ設定は小のままでしたが、なぜかシミュレートモードが8の場合だけフォントサイズは大きかったです。
これがHTTPヘッダなのかわかりませんが、「表示」メニューから「ログ画面」に出力されたものを以下に転記いたします。
これを見た感じでは、ログイン直後には、MoodleSessionを取得しているけれど、「コース名」をクリックしたときにまた、違うMoodleSessionを取得しているような気がしました。
=========シミュレートモード7の場合===========
1.ログイン画面でログインしたら、下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6]
[MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6]
[username=hogeuser]
[password=hogepasse]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle?MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6
Status code: 301
Content-Type: text/html; charset=iso-8859-1
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/?MoodleSession=m2h4n1b1dasdsvfi3c8t0mv2e6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 947
--- --- ---
Data size: 1250
====
<strong>タグは使用できないため無視されました。
<strong>タグは使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
====
タグチェックエラーが発生しました。
読込みサイズ: 2197
読込み完了。
============================================================
2.次にある「コース名」をクリックすると、このログが出力されたとともに、また画面がログイン画面になってしまいました。
============================================================
URL: http://hoge.com/moodle/course/view.php?id=3
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/course/view.php?id=3
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/login/index.php?MoodleSession=d9ni292c4htvcgtcpvlns9e2k6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
Data size: 1297
====
====
エラーはありませんでした。
読込みサイズ: 1297
読込み完了。
============================================================
3.その「ログイン画面」でもう一度ログインしたら、下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=d9ni292c4htvcgtcpvlns9e2k6]
[MoodleSession=d9ni292c4htvcgtcpvlns9e2k6]
[username=hogeuser]
[password=hogepasse]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/course/view.php?id=3&MoodleSession=d9ni292c4htvcgtcpvlns9e2k6
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 101
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 173
--- --- ---
Data size: 1880
====
<strong>タグは使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
属性"border"は<img>タグの要素として使用できないため無視されました。
====
タグチェックエラーが発生しました。
読込みサイズ: 2154
読込み完了。
============================================================
=========シミュレートモード8の場合===========
1.ログイン画面からログインすると下記のログが出力されました。
============================================================
URL: http://hoge.com/moodle/login/index.php
シミュレートモード : i-mode Browser2.0/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/login/index.php
POST parameter:
[MoodleSession=m8n5emrvct458ghctp2v00j3c1]
[MoodleSession=m8n5emrvct458ghctp2v00j3c1]
[username=hogeuser]
[password=hogepass]
Status code: 302
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle
Status code: 301
Content-Type: text/html; charset=iso-8859-1
Content-Length: -
--- --- ---
URL: http://hoge.com/moodle/
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 947
--- --- ---
Data size: 1003
====
====
エラーはありませんでした。
読込みサイズ: 1950
読込み完了。
============================================================
2.このあと、ある「コース名」をクリックすると、「ログイン画面」に遷移することなく、コースの中身が表示されました。
============================================================
URL: http://hoge.com/moodle/course/view.php?id=3
シミュレートモード : i-mode Browser2.0/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
通信ログ出力モード: シンプルモード
------------------------------------------------------------
URL: http://hoge.com/moodle/course/view.php?id=3
Status code: 200
Content-Type: text/html; charset=Shift_JIS
Content-Length: -
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 101
--- --- ---
URL:
Status code: 200
Content-Type: image/gif
Content-Length: 173
--- --- ---
Data size: 1790
====
====
エラーはありませんでした。
読込みサイズ: 2064
読込み完了。
============================================================
Yuuichi Yamaguchi への返信
このフォーラム投稿は削除されました。
このフォーラム投稿のコンテンツは削除されたため現在アクセスすることはできません。
ここまで本格的にPHPのソースを読むのは初めてです。
けっこう難しくて苦戦しております。
mobile/customscripts/login/index_form.html
の5行目からに,$CFG->usesidというものの内容を下記の通りに書き換えて,確認しました。
<?php mfm_print_string("loginusing") ?>:
<?php
}
var_dump($CFG->usesid);
echo $CFG->usesid;
if (empty($CFG->usesid))
{
ログインする前のlogin/index.phpには
bool(true) 1
と出力されました。
このあと,正常にログインできた画面に遷移しますが,
この状態からURLを手入力でlogin/index.phpにアクセスするとまた,ログイン画面になってしまい,
ログイン前と同様に
bool(true) 1
と出力されていました。
つまり,入力したユーザIDがPHP?に保存?されていないのかなぁと考えました。
また,ソースを見て,いろいろ考えて見ます。
けっこう難しくて苦戦しております。
mobile/customscripts/login/index_form.html
の5行目からに,$CFG->usesidというものの内容を下記の通りに書き換えて,確認しました。
<?php mfm_print_string("loginusing") ?>:
<?php
}
var_dump($CFG->usesid);
echo $CFG->usesid;
if (empty($CFG->usesid))
{
ログインする前のlogin/index.phpには
bool(true) 1
と出力されました。
このあと,正常にログインできた画面に遷移しますが,
この状態からURLを手入力でlogin/index.phpにアクセスするとまた,ログイン画面になってしまい,
ログイン前と同様に
bool(true) 1
と出力されていました。
つまり,入力したユーザIDがPHP?に保存?されていないのかなぁと考えました。
また,ソースを見て,いろいろ考えて見ます。
現在ソースを見てきて,わかったことを書き込んでおきます。
mobile/customscripts/lib/moodlelib.php
このファイルにおいて,
24行目あたりに
global $CFG, $COURSE, $SESSION, $USER, $FULLME, $MoodleSession;
MoodleSessionが定義されていました。
しかしここ以外に,MoodleSessionが見つかっていません
この定義はfunction mfm_require_loginの中で定義されています。
58行目あたりに
// Make sure current IP matches the one for this session (if required)
if (!empty($CFG->tracksessionip)) {
if ($USER->sessionIP != md5(getremoteaddr())) {
mfm_error(mfm_get_string('sessionipnomatch', 'error'));
}
}
// Make sure the USER has a sesskey set up. Used for checking script parameters.
sesskey();
という記述がありmd5()という関数が利用されており,この辺がMoodleSessionの生成と関係あるのかなぁと見ていますが,まだよくわかっておりません。
MoodleSessionが生成されている場所をお分かりの方がいらっしゃったら教えていただけないでしょうか?
mobile/customscripts/lib/moodlelib.php
このファイルにおいて,
24行目あたりに
global $CFG, $COURSE, $SESSION, $USER, $FULLME, $MoodleSession;
MoodleSessionが定義されていました。
しかしここ以外に,MoodleSessionが見つかっていません
この定義はfunction mfm_require_loginの中で定義されています。
58行目あたりに
// Make sure current IP matches the one for this session (if required)
if (!empty($CFG->tracksessionip)) {
if ($USER->sessionIP != md5(getremoteaddr())) {
mfm_error(mfm_get_string('sessionipnomatch', 'error'));
}
}
// Make sure the USER has a sesskey set up. Used for checking script parameters.
sesskey();
という記述がありmd5()という関数が利用されており,この辺がMoodleSessionの生成と関係あるのかなぁと見ていますが,まだよくわかっておりません。
MoodleSessionが生成されている場所をお分かりの方がいらっしゃったら教えていただけないでしょうか?
以前のドコモ機種はクッキーが使えないので、セッションURLで引継ぎをしないとだめです。
最近の機種(905あたり?)はクッキーが使えます。
http://ke-tai.org/blog/2009/07/31/kantansample/
最近の機種(905あたり?)はクッキーが使えます。
http://ke-tai.org/blog/2009/07/31/kantansample/