|
|
# Index
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
# mod_lticontainer
|
|
|
|
|
|
## 概要
|
|
|
|
|
|
# 概要
|
|
|
- **mod_ltids** は正式リリースに伴い,名称が [**mod_lticontainer**](https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer) に変更になった.
|
|
|
- [**mod_lticontainer**](https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer) はMoodle のLTIカスタムパラメータの設定をサポートするモジュールである.
|
|
|
- v1.2.0 (2022/07/10) 複数 Moodle Host のサポート
|
... | ... | @@ -14,27 +10,20 @@ |
|
|
- [**LTIContainerSpawner**](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner) との組み合わせで使用する.
|
|
|
- LTIContainerSpawner との組み合わせで使用しなければ意味は無い.
|
|
|
|
|
|
|
|
|
* 追加参照 Wiki
|
|
|
* [**Moodle + JupyterHub**](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner/-/wikis/Moodle-+-JupyterHub-(J))
|
|
|
* [**LTIContainerSpawner**](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner/-/wikis/md/LTIContainerSpawner(J))
|
|
|
|
|
|
![](uploads/ba29433830c9066e84ae8c52a2265358/LTICTR.png){width="65%"}
|
|
|
|
|
|
## 機能
|
|
|
|
|
|
# 機能
|
|
|
- **[LTIContainerSpawner](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner/-/wikis/md/LTIContainerSpawner(J))** 用の **LTIカスタムパラメータ** の設定サポートを行う.
|
|
|
- Docker/Podmanホストとの通信機能を有する.(container_rsock.sh)
|
|
|
- コンテナイメージの名称を取得する.
|
|
|
- Volume のリモート作成(デフォルトではこの機能はOFF),リモート削除を行う.
|
|
|
|
|
|
## 前提条件
|
|
|
- **[LTIContainerSpawner](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner/-/wikis/md/LTIContainerSpawner(J))** が導入された JupyterHub システムが動作済みであること.
|
|
|
|
|
|
## インストール
|
|
|
|
|
|
# インストール
|
|
|
- Moodle ホストにログインし,root で作業.
|
|
|
|
|
|
```plaintext
|
|
|
# cd [Moodle Path]/mod
|
|
|
# git clone https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer.git
|
... | ... | @@ -43,8 +32,7 @@ |
|
|
adminユーザで Moodleにログインする
|
|
|
```
|
|
|
|
|
|
## 設定
|
|
|
|
|
|
# 設定
|
|
|
### モジュールの設定(**"Over View"** Tab -> **Edit settings** )
|
|
|
#### Settings of Container and LTI
|
|
|
- **JupyterHub (container host) URL**
|
... | ... | @@ -77,8 +65,8 @@ adminユーザで Moodleにログインする |
|
|
- **Max users in Bar chart**
|
|
|
- **Max code cells in Bar chart**
|
|
|
- **Max users in Line chart**
|
|
|
### Moodle(LMS) ホスト側
|
|
|
|
|
|
### Moodle(LMS) ホスト側
|
|
|
- WWWサーバの実効ユーザは,そのホームディレクトリについて書き込み可能でなければならない.(ssh の設定データを書き込む必要があるため)
|
|
|
- 書き込可能でない場合は,"The web server process does not have write access to its own home directory. Please check the permissions" のエラーメッセージが表示される.
|
|
|
- 例)Apache の場合,ユーザ apache は /var/www に書き込み権限がなければならない.
|
... | ... | @@ -93,7 +81,6 @@ adminユーザで Moodleにログインする |
|
|
- リモートコントロール用ユーザのログインシェルは不要.
|
|
|
|
|
|
### sh/container_rsock.sh
|
|
|
|
|
|
- Docker/Podman のリモートコントロール用シェルスクリプト.
|
|
|
- Moodleホストから ssh のポートフォワーディングを使って,Docker/Podman ホストに UNIXのソケットファイルを繋げる.
|
|
|
- Docker/Podman ホスト側に,sshでログイン可能な(ログイン)ユーザが必要.
|
... | ... | @@ -101,7 +88,7 @@ adminユーザで Moodleにログインする |
|
|
- 最も簡単な手法としては UNIXソケットファイルのグループに対して読み書きのパーミッションを与え,ユーザをそのグループに入れる.またはUNIXソケットファイルのオーナをユーザにしてしまう.
|
|
|
- 接続確認用のスクリプト **check_rsock.sh** も用意している.
|
|
|
- 例) ./check_rsock.sh docker jupyterhub.hogebar.jp docker pass_of_docker images
|
|
|
- **トラブルシューティング**
|
|
|
- **トラブルシューティング (Podman)**
|
|
|
- CentOS, Rocky Linuxでは一度設定しても元(root.root)に戻ってしまう.
|
|
|
- `chown -R podman /var/run/podman/` ユーザがpodmanの場合.
|
|
|
|
... | ... | @@ -121,27 +108,21 @@ adminユーザで Moodleにログインする |
|
|
7. 設定が終わったら,LTI Editで一度保存を行うこと.**保存を行わないと設定が LTIに反映されない.**
|
|
|
|
|
|
## 未サポート
|
|
|
|
|
|
#### Moodle with CentOS7
|
|
|
|
|
|
- **openssh-askpass** パッケージが必要.
|
|
|
- podman-remote で --url オプションが使用できないので,docker をインストールする.
|
|
|
|
|
|
#### Moodle 3.9.0 以下
|
|
|
|
|
|
- Moodle 3.9.0 以下では lti プラグインのカスタムパラメータを保存するカラムが VARCHAR(255) であるため,カスタムパラメータが255バイトを超えると,データベースへの書き込みに失敗する.
|
|
|
- どうしても3.9.0 以下で動かしたい場合は,以下のコマンドで **instructorcustomparameters** カラムを **longtext** に変換する.
|
|
|
- **`alter table mdl_lti modify column instructorcustomparameters longtext;`**
|
|
|
|
|
|
## 操作(Tab)
|
|
|
|
|
|
### Over View
|
|
|
|
|
|
- 現在の設定を表示
|
|
|
- **Edit settings** から設定画面に移動可能.
|
|
|
|
|
|
-
|
|
|
### Dashboard
|
|
|
|
|
|
- Dashboard 機能を使用するには [**Ltictr_Proxy**](https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner/-/wikis/md/Ltictr_Proxy(J)) を動かさないといけない.
|
|
|
|
|
|
![](uploads/71461918d61f7f5976847e66412d8525/dashboard.png){width="70%"}
|
... | ... | |