年度末は様々な移動(異動)の時期ですね。
人や物がいつも以上に動いているのではないでしょうか。
今回はLMSのお引越しのお話です。

現行Moodleサイトから新しいMoodleサイトへ運用を移行したい。
Moodle内の学習履歴を新しいMoodleサイトへそのまま持っていきたい
というご要望をいただきました。
一番確実な引っ越し手法は「サーバ内のデータごと移行」です。
これは現行MoodleサーバからdatabaseやMoodledata等の必要なディレクトリをご用意いただける場合、最も手軽で確実なお引越し手法になります。
ですが、現行Moodleのサーバ管理権限を有していない場合、ディレクトリを取り出すことは難しいです。
その場合、サイト管理メニューの範囲内での手作業のお引越ししかできません。
今回は手作業でお引越しできるのか?について検証をしてみました。
手法はバックアップ&レストア方式です。
参考)https://edu.e-learning.co.jp/2023/11/13/course_backup_and_restore/
※公式な手法ではなくあくまでも検証した結果となります。
※Moodleバージョンや環境依存もございますので、必ずしも100%の保証ではありませんこと、ご了承ください。
【パターン1】新Moodleサイトにアカウントを登録していない場合
1.旧サイトから「受講履歴を保持した」コースバックアップを取得
2.新サイトへリストア
コースに受講履歴(エンロール)が保持されていますが、新Moodleサイトには該当アカウントが登録されていません。
そのため、新サイトでは同時に新規アカウント登録処理が行われます。
アカウント登録処理時は最低限の情報で登録される と思っておくほうが無難です。
※パスワードはシステムのセキュリティ上、リセットされ、旧サイトのパスワードは引き継がれません
ユーザは、新サイトへ初回ログインを試みる際に、「新しいパスワードの再設定」を要求されますので、
メールによるパスワード再設定を行いましょう。

【パターン2】新Moodleサイトに事前にアカウントを登録しておく場合
1.旧サイトからバルクユーザ処理やカスタムレポート(LMS4.0以降)を用いてユーザを抽出します
2.抽出したデータに「手を加えずに」そのままCSVに形に変えて新サイトへアップロードします
※パスワードはシステムのセキュリティ上、抽出できません。CSVで任意に指定するか、パスワードを自動生成して通知を使いましょう。
3.旧サイトから「受講履歴を保持した」コースバックアップを取得
4.新サイトへリストア
ユーザが新サイトへログインすると、旧サイトで受講したコースおよび受講履歴が保持されていることが確認できます
マッピング処理について
※少しマニアックなネタになります。
この検証結果により、おそらく「username」でマッピング処理がされていると推測されます。
Moodleにお詳しい方だと、「え?userIDじゃないの?」と思われるかもしれません。
実は私も「userID」マッピングだと思っていたので、目からうろこでした。
(ちなみに、新旧サイトのusernameとuserIDを調べましたが、一致はしていませんでした)
参考)UserIDとは
Moodleシステム内で各ユーザーを一意に識別するための番号のこと
アカウント生成時にシステムが内部で自動的に付与し、システム内で行う操作やデータの関連付けに使用される
人間側から、任意にuserIDを指定することはできない
このことから、usernameの取り扱いには、十分お気を付けください。
少なくとも、お引越し最中の編集はNGです。
これでお引越しに希望が見えるのではないでしょうか。
梱包(バックアップ)荷解き(レストア)、大変ですが頑張ってくださいね。