社員ブログ<カワウソ#43>Moodleのプラグイン開発

ご挨拶

こんにちは!すっかり夏も本番になりましたね🌞
地域によってはインフルエンザの時に出る熱ぐらいの気温になっているかと思います。
私は15年ぶりに海で泳ぐなど例年よりも夏を満喫しています🌊

プラグイン開発

Moodleは非常に多機能でやりたいと思ったことがすぐできることが特徴ではありますが、時折標準機能や既存のプラグインではできないことが出てくるケースがあります。

というのも、Moodleは世界中の教育者が使用しているため、世界的によく使われる機能はほぼコンプリートされていますが、国や業界ごとの文化・制度、もっと細かい粒度で組織や企業ごとの業務フローなど、独自性の高い要件については標準機能だけでは難しい場合があるからです。
Moodleは200か国以上で使用されている性質上、機能については世界中で必要とされているものから順に取り入れられるため納得です。

そのような場合、弊社では該当機能を追加するプラグインを作成し、お客様のサイトに実装しています。

▼これまでに開発したプラグインの一例

  • 入力・表示画面の追加
  • 利用者ごとの学習プラン設計
  • ユーザ管理作業の自動化

何故プラグインなのか?

MoodleはOSSのためソースコードが公開されており、そのまま追加機能を書き込んでしまうこともできるんです。
実際にそのような対応をしている組織さんもいらっしゃるかと思います。

しかし、意外な落とし穴でコアコードに追記してしまうとバージョンアップの時にすべて上書き=消えてしまいます。
そのため、なかなかバージョンアップに踏み切れないというお声を聞くことも…

弊社では何よりもMoodleを使い続けられる「保守性」を重視しているために、弊社はMoodle本体のコアコードには手を加えず、プラグインで機能を追加することを原則としています。

もちろん、プラグインについてもバージョンアップに際して修正が必要ですが、検証機を構築したうえで対応しています。

まとめ

Moodleは自由度が高いため機能拡張もいろんな選択肢があります。
弊社では保守性を重視してプラグインを作成していますが、組織ごとにいろんな事情があり、最適解は違うはずです。

もし開発と保守性の兼ね合いに悩んでいる方がいらっしゃれば、本ブログに記載した公式プレミアムパートナーの考え方がお役に立てると嬉しいです!