Moodle で Microsoft OneDrive をレポジトリとして使うのに成功/失敗

概要

個人用 Microsoft One Drive をMoodleレポジトリとして使うのは簡単だが, 調子に乗って Microsoft One Drive for Business を安易に使おうとしたら, 設定を誤ってファイルアップロード以外の場所でもエラーが出る状態になったけどリカバーした話.

Moodle 2.8 で検証.

Moodleレポジトリとは

Moodleオープンソースのコース管理システム(LMS).

Moodleにおけるレポジトリとは, LMSにローカルファイルシステムからファイルをアップロードするかわりに, Dropbox のようなストレージから(いったんダウンロードすることなしに) ファイルを直接送ったりリンクしたりする仕組み. 操作としては, File Picker に様々なレポジトリが並んでいるのを目にするだろう. ローカルストレージのない(または扱いにくい)タブレットなどからの利用では特に有用.

(個人向け) Microsoft OneDrive の使用

Microsoft OneDriveは, Windows Live アカウントで使用できる無料のオンラインストレージ(旧SkyDrive).

この個人向け Microsoft OneDrive をMoodleレポジトリとして使うには, Moodle, OneDrive どちらも一般ユーザ権限だけあればよい. 手順 OneDrive repository - MoodleDocs にしたがえば簡単に設定できる.

Microsoft OneDrive for Business の使用

Microsoft OneDrive for Businessは, Microsoft SharePoint をバックエンドとするチーム用ストレージで, 有料のOffice365の一部として提供される.

安易な試みと遭難

組織でOffice365が利用可能であり, Microsoft OneDrive for Business のほうが容量が大きいので, これもレポジトリに追加しよう, という安易なのりで, 試みた. プラグインMoodle plugins directory: OneDrive for Businessが必要なので, Moodle側では管理者権限が必要であることがわかる. さらに, 依存性から, Microsoft の提供するOffice365プラグインセットに含まれる, プラグイン auth_oidc, local_office365, local_o365 も要求される.

よく見ると Microsoft Azure Subscription が必要と書いてあるのを見落としてこれらのプラグインのインストールを進めたところ, 途中で進めなくなった*1. インストール過程をアボートしたところ, フォーラム投稿で,

まずアプリケーション証明書をauth_oidcで設定してください。
Please set application credentials in auth_oidc first.

erroracpauthoidcnotconfig

と言われるようになった. repository_office365 をアンインストールするが, このエラーメッセージは local_o365 が出している. local_o365 プラグインをアンインストールしようとするが, local_o365 は auth_oidc が設定されていないとアンインストールできない, auth_oidc は local_o365 が依存しているのでアンインストールできない, というデッドロックに陥った.

リカバリーミッション

プラグインのソースを手で編集して, 一方の依存性チェックを一時的に無効化して, 1個ずつアンインストールした.

Moodle と Office365 の深い統合

本来, Office365プラグインセットはOffice365とMoodleの深い統合をめざすもの. これについて, 大学での利用の報告として, MoodleとOffice 365の連携における学習支援環境がある.

*1:auth_oidcは本来はMoodleの認証をOffice365で行うためのもの. これらのインストールを完了するには, Moodleの認証方式の変更とOffce365側の管理者権限が必要なのではないかと疑っているが確認できていない.