19: 2021-10-01 (金) 11:14:37 iseki |
現: 2022-07-05 (火) 11:43:15 iseki |
- | * mod_ltids [#vc2f0b1e] | + | * mod_lticontainer [#vc2f0b1e] |
- | - サポート対象の MDLDockerSpawner が [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]] に名称を変更したので,このモジュールも mod_mdlds から mod_ltids へ名称を変更.(2021 9/17) | + | - サポート対象の MDLDockerSpawner が [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]] に名称を変更したので,このモジュールも mod_mdlds から mod_lticontainer へ名称を変更.(2021 9/17) |
| + | - さらに変更.[[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]] は [[LTIContainerSpawner>JupyterHub/LTIContainerSpawner]] の一部になる (2021 10/3).迷路は続くよ何処までも. |
| + | -- 当然 [[LTIPodmanSpawner>JupyterHub/LTIPodmanSpawner]] でも使用可能. |
| #br | | #br |
| | | |
| ** [[Moodle]] Module for Moodle & [[JupyterHub]] Integration [#s675b15a] | | ** [[Moodle]] Module for Moodle & [[JupyterHub]] Integration [#s675b15a] |
- | - gitlab: https://gitlab.nsl.tuis.ac.jp/iseki/mod_ltids | + | - gitlab: https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer |
| | | |
| - [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]], [[LTIPodmanSpawner>JupyterHub/LTIPodmanSpawner]] をサポートする,Moodle用モジュール | | - [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]], [[LTIPodmanSpawner>JupyterHub/LTIPodmanSpawner]] をサポートする,Moodle用モジュール |
| - lms_sub_表示名= | | - lms_sub_表示名= |
| - lms_prs_表示名= | | - lms_prs_表示名= |
- | - lms_iframe= | |
| - lms_sessionifo= | | - lms_sessionifo= |
| + | - lms_iframe= |
| | | |
| - カスタムパラメータ名は snake_case で記述 | | - カスタムパラメータ名は snake_case で記述 |
| | | |
| **** Teachers [#zc5de450] | | **** Teachers [#zc5de450] |
- | - LTIのカスタムパラメータの ''lms_teachers'' に対応 | + | - LTIカスタムパラメータの ''lms_teachers'' に対応 |
| - コースの教師を指定する.指定の仕方は,lms_user と同じ.* も使えるが,使う意味がない.(全員教師って何?) | | - コースの教師を指定する.指定の仕方は,lms_user と同じ.* も使えるが,使う意味がない.(全員教師って何?) |
- | - 途中で教師のメンバを変更した場合は,task volume および submit volume のオーナが教師グループから外れる可能性があるので,注意が必要. | + | - 途中で教師のメンバを変更した場合は,Task volume および Submit volume のオーナが教師グループから外れる可能性があるので,注意が必要. |
| -'' 教師の特権'' | | -'' 教師の特権'' |
| -- Task volume に書き込みができる. | | -- Task volume に書き込みができる. |
| -- 140M くらいだと何とかコンテナは起動するが,ほぼ使えない. | | -- 140M くらいだと何とかコンテナは起動するが,ほぼ使えない. |
| -- 180M くらいで何とか使用できるようになる. | | -- 180M くらいで何とか使用できるようになる. |
- | -- mod_ltids では,余裕を考えてきりのいい 200M から表示. | + | -- mod_lticontainer では,余裕を考えてきりのいい 200M から表示. |
| #br | | #br |
| | | |
| - Task volume, Submit volume はユーザが JupyterHubにアクセスしたときに(許可があれば)マウントされる. | | - Task volume, Submit volume はユーザが JupyterHubにアクセスしたときに(許可があれば)マウントされる. |
| -- 許可ユーザの書き方は lms_user(Accessible users) と同じ.ただしデフォルト(空欄)では,全てのユーザが許可される. | | -- 許可ユーザの書き方は lms_user(Accessible users) と同じ.ただしデフォルト(空欄)では,全てのユーザが許可される. |
- | -- md_user(Accessible users)よりも,ここで指定される個々の許可ユーザの方が優先される. | + | -- lms_user(Accessible users)よりも,ここで指定される個々の許可ユーザの方が優先される. |
| -- * も使用できるが意味はない. 空欄にしておけば良いので. | | -- * も使用できるが意味はない. 空欄にしておけば良いので. |
| -- 通常は誰かが jupyterHubにアクセスしてログインした瞬間に(ボリュームが存在しなければ)ボリュームが作成され,マウントされる. | | -- 通常は誰かが jupyterHubにアクセスしてログインした瞬間に(ボリュームが存在しなければ)ボリュームが作成され,マウントされる. |
| - Task volume, Submit volume は Volumes タブで削除可能だが,これは一度作成するとシステムの管理者またはユーザ本人しか削除できない | | - Task volume, Submit volume は Volumes タブで削除可能だが,これは一度作成するとシステムの管理者またはユーザ本人しか削除できない |
| -- このモジュールからの削除は,やってやれないこともないが,現時点ではその機能は実装されていない. | | -- このモジュールからの削除は,やってやれないこともないが,現時点ではその機能は実装されていない. |
- | - ''Task volume と同じ名前(表示名)で作成すると,コンテナ起動時に Task vokume の内容がここにコピーされる.'' | + | - ''Task volume と同じ名前(表示名)で作成すると,コンテナ起動時に Task volume の内容がここにコピーされる.'' |
| -- 課題配布に使用するのが主な目的. | | -- 課題配布に使用するのが主な目的. |
| -- 取り扱いが面倒だが,上手く使えば強力. | | -- 取り扱いが面倒だが,上手く使えば強力. |
| | | |
| - 現時点で(実装しているけど)使用していないカスタムパラメータ. | | - 現時点で(実装しているけど)使用していないカスタムパラメータ. |
- | -- lms_option :コマンドオプション.そのうち使うかも. | + | -- lms_options :コマンドオプション.そのうち使うかも. |
- | -- lms_grname:教師用グループのグループ名.固定名(TEACHERS)で十分な気がする. | + | |
| | | |
| - このモジュールが使用するもの以外の カスタムパラメータには一切影響を及ぼさない. | | - このモジュールが使用するもの以外の カスタムパラメータには一切影響を及ぼさない. |
| - ボリュームのフルネーム(正式名): ''lms_[ vol | sub | prs ]_表示名_コースID_MoodleホストのFQDN'' | | - ボリュームのフルネーム(正式名): ''lms_[ vol | sub | prs ]_表示名_コースID_MoodleホストのFQDN'' |
| -- 例:''lms_vol_xyz_98_el.mml.tuis.ac.jp'' | | -- 例:''lms_vol_xyz_98_el.mml.tuis.ac.jp'' |
| + | #br |
| + | |
| + | ** Trouble Shooting [#cb048806] |
| + | **** Call to undefined function posix_getpwuid() [#hafc01be] |
| + | - php-process をインストールする |
| + | yum -y install php-process |
| + | |
| + | **** The web server process does not have write access to its own home directory. Please check the permissions. [#ja22db7c] |
| + | - Webサーバの実効ユーザのホームディレクトリを調べて,そのディレクトリを実効ユーザの持ち物にする. |
| + | vipw /etc/passwd |
| + | cd /usr/share/httpd/ |
| + | chown apache.apache . |
| #br | | #br |
| | | |
| + JupyterHub にログイン. | | + JupyterHub にログイン. |
| + lms_vol 内で教材を作成.他の適当なディレクトリで作業しても良い. | | + lms_vol 内で教材を作成.他の適当なディレクトリで作業しても良い. |
- | + ipynb_deploy コマンドでファイルを変換. | + | + ipynb_deploy コマンドでファイルを変換・コピー. |
| ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. | | ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. |
| ++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する. | | ++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する. |
| + JupyterHub にログイン. | | + JupyterHub にログイン. |
| + lms_vol 内で教材を作成.以前作成した教材ファイルとファイル名が被らないように注意する.他の適当なディレクトリで作業しても良い. | | + lms_vol 内で教材を作成.以前作成した教材ファイルとファイル名が被らないように注意する.他の適当なディレクトリで作業しても良い. |
- | + ipynb_deploy コマンドで課題ファイルを変換. | + | + ipynb_deploy コマンドで課題ファイルを変換・コピー. |
| ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. | | ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. |
| ++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する. | | ++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する. |
| -- lms_image : 課題で使用するイメージ | | -- lms_image : 課題で使用するイメージ |
| -- lms_vol : 先頭にマイナス(-)を付けたアクセス名,許可ユーザは空欄.学生にはリンク名は表示されない. | | -- lms_vol : 先頭にマイナス(-)を付けたアクセス名,許可ユーザは空欄.学生にはリンク名は表示されない. |
- | -- lms_prs : 適当な名前.許可ユーザは空欄. | + | -- lms_prs : 表示名はlms_vol と同じにする.アクセス名は適当な名前.許可ユーザは空欄. |
| -- lms_sub : 課題収集用ボリューム.適当なアクセス名.許可ユーザは空欄. | | -- lms_sub : 課題収集用ボリューム.適当なアクセス名.許可ユーザは空欄. |
| #br | | #br |
| *** Install [#cb55e0da] | | *** Install [#cb55e0da] |
| # cd {moodle_dir}/mod | | # cd {moodle_dir}/mod |
- | # git clone https://gitlab.nsl.tuis.ac.jp/iseki/mod_ltids.git | + | # git clone https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer.git |
- | # mv mod_ltids ltids | + | # mv mod_lticontainer ltids |
| # chown -R apache.apache ltids | | # chown -R apache.apache ltids |
| access to moodle by admin | | access to moodle by admin |
| | | |
- | *** docker_rsock.sh [#b8408faf] | + | *** container_rsock.sh [#b8408faf] |
- | - docker のリモートコントロール用シェルスクリプト | + | - Docker/Podman のリモートコントロール用シェルスクリプト |
| - ssh のポートフォワーディングを使って,UNIXのソケットファイルを繋げる. | | - ssh のポートフォワーディングを使って,UNIXのソケットファイルを繋げる. |
- | - Dockerホスト側に,sshでログイン可能な(ログイン)ユーザが必要. | + | - Docker/Podman ホスト側に,sshでログイン可能な(ログイン)ユーザが必要. |
| #br | | #br |
| | | |
| #br | | #br |
| | | |
- | **** docker 側のログインユーザについて [#u03a87eb] | + | **** docker/podman 側のログインユーザについて [#u03a87eb] |
| + ユーザのホームディレクトリについて,ユーザが書き込み可能であること. | | + ユーザのホームディレクトリについて,ユーザが書き込み可能であること. |
- | ++ CentOS8 で嵌った.ユーザを dockerにしたんだが,dockerのホームディレクトリなのに,dockerが書き込み可能でなかった. | + | ++ CentOS8 で嵌った.ユーザを dockerにしたんだが,docker/podmanのホームディレクトリなのに,docker/podmanが書き込み可能でなかった. |
- | + ユーザが docker のグループに属していること(UNIXソケットファイルにアクセスするため). | + | + ユーザが docker/podman のグループに属していること(UNIXソケットファイルにアクセスするため). |
| + ユーザのログインシェルは不要 | | + ユーザのログインシェルは不要 |
| | | |
| #br | | #br |
| + | |
| *** ipynb_deploy [#r5db573e] | | *** ipynb_deploy [#r5db573e] |
| - ipynb ファイル内のコードセルに通し番号を付ける. | | - ipynb ファイル内のコードセルに通し番号を付ける. |
| | | |
| *** [[DB>./DB]] [#df5455f9] | | *** [[DB>./DB]] [#df5455f9] |
- | | + | - [[mdl_lticontainer>./DB/mdl_lticontainer]] |
- | **** [[mdl_ltids>./DB/mdl_ltids]] [#q6c18d6f] | + | - [[mdl_lticontainer_client_data>./DB/mdl_lticontainer_client_data]] |
- | **** [[mdl_ltids_websock_data>./DB/mdl_ltids_websock_data]] [#tcb471ae] | + | - [[mdl_lticontainer_server_data>./DB/mdl_lticontainer_server_data]] |
- | **** [[mdl_ltids_websock_session>./DB/mdl_ltids_websock_session]] [#r217fd43] | + | - [[mdl_lticontainer_session >./DB/mdl_lticontainer_session]] |
- | **** [[mdl_ltids_websock_tags>./DB/mdl_ltids_websock_tags]] [#y6a5decf] | + | - [[mdl_lticontainer_tags>./DB/mdl_lticontainer_tags]] |
| #br | | #br |