プラグインタイプ (Dev docs)
提供:MoodleDocs
重要:
このページの内容は更新され、新しいMoodle Developer Resourcesに移行されました。このページに含まれる情報は、もはや最新であるとみなされるべきではありません。 このページを新サイトで閲覧する そして より多くのコンテンツを新サイトに移行するために協力する というのはいかがでしょうか! |
(このページは現在翻訳中です。)
Moodle の M はモジュラーを意味します。Moodle に新しい機能を追加する最も簡単でメンテナンスしやすい方法は、これらのタイプのプラグインの1つを書くことです。
Moodleプラグインタイプの一覧
プラグインタイプ | コンポーネント名 (Frankenstyle) | Moodleのパス | 説明 | Moodleのバージョン |
---|---|---|---|---|
活動モジュール | mod | /mod | 活動モジュールは、コースに活動を提供するため、Moodle の必須プラグインです。例えば、フォーラム、小テストおよび課題です。 | 1.0+ |
アンチウイルスプラグイン | antivirus | /lib/antivirus | アンチウイルススキャナプラグインは、サードパーティのウイルススキャンツールを使って、ユーザがアップロードしたファイルを Moodle でウイルススキャンする機能を提供します。例えば、ClamAV です。 | 3.1+ |
課題提出プラグイン | assignsubmission | /mod/assign/submission | 課題提出のさまざまな形式です。 | 2.3+ |
課題フィードバックプラグイン | assignfeedback | /mod/assign/feedback | 課題フィードバックの様々な形式です。 | 2.3+ |
ブックツール | booktool | /mod/book/tool | ページ移動が可能な小型の情報表示装置やツールです。 | 2.1+ |
コースカスタムフィールド | customfield | /customfield/field | カスタムフィールドタイプ 例: カスタムコースフィールドなどで使用されます。 | 3.7+ |
データベースフィールド | datafield | /mod/data/field | データベース活動モジュールに追加される可能性のあるさまざまな種類のデータです。 | 1.6+ |
データベースプリセット | datapreset | /mod/data/preset | データベース活動モジュールにあらかじめ用意されたテンプレートです。 | 1.6+ |
LTIソース | ltisource | /mod/lti/source | LTI プロバイダは、外部ツールインターフェースを通じて、外部ツールに簡単に追加することができます。外部ツールに関するドキュメントを参照してください。このタイプのプラグインは、LTI メッセージを処理するためのカスタムハンドラを登録できるプラグインを必要とする LTI プロバイダに特有です。 | 2.7+ |
ファイルコンバータ | fileconverter | /files/converter | ユーザが提出した異なる種類のファイル間で変換できるようにします。例えば、.doc から PDF へ。 | 3.2+ |
LTIサービス | ltiservice | /mod/lti/service | IMS LTI 仕様で記述された LTI サービスの実装を可能にします。 | 2.8+ |
機械学習バックエンド | mlbackend | /lib/mlbackend | アナリティクス API 用予測プロセッサです。 | 3.4+ |
フォーラムレポート | forumreport | /mod/forum/report | フォーラムの活動に各種レポートを表示します。 | 3.8+ |
小テストレポート | quiz | /mod/quiz/report | 小テストの結果を表示・分析したり、小テストモジュールに雑多な動作を差し込んだりすることができます。 | 1.1+ |
小テストアクセスルール | quizaccess | /mod/quiz/accessrule | 一部のIPアドレスからしか受験できない、最初にパスワードを入力する必要があるなど、小テストを受験できる時間や場所に条件を追加することができます。 | 2.2+ |
SCORMレポート | scormreport | /mod/scorm/report | SCORMの試みの分析です。 | 2.2+ |
ワークショップ評定方略 | workshopform | /mod/workshop/form | 評定フォームの種類を定義し、ワークショップモジュールで提出するための評定値の計算を実装します。 | 2.0+ |
ワークショップ提出割り当て方法 | workshopallocation | /mod/workshop/allocation | ワークショップモジュールで、提出物を評定のために割り当てる方法を定義します。 | 2.0+ |
ワークショップ成績評価方法 | workshopeval | /mod/workshop/eval | ワークショップモジュールで、評定のための評点(評定値)の計算を実装します。 | 2.0+ |
ブロック | block | /blocks | ページ内で移動可能な小型の情報ディスプレイやツールです。 | 2.0+ |
問題タイプ | qtype | /question/type | 小テストなどで使えるさまざまなタイプの問題(多肢選択、ドラッグ&ドロップなど)を用意します。 | 1.6+ |
問題動作 | qbehaviour | /question/behaviour | 受験中に学生がどのように問題に答えるかをコントロールします。 | 2.1+ |
問題インポート/エクスポートフォーマット | qformat | /question/format | 問題バンクとの間で小テスト定義のインポート/エクスポートが可能です。 | 1.6+ |
テキストフィルタ | filter | /filter | Moodleに投稿されたテキストを自動的に変換し、ハイライトし、変換することができます。 | 1.4+ |
エディタ | editor | /lib/editor | コンテンツ編集のための代替テキストエディタです。 | 2.0+ |
Attoエディタプラグイン | atto | /lib/editor/atto/plugins | Atto テキストエディタの追加機能です。 | 2.7+ |
TinyMCEエディタプラグイン | tinymce | /lib/editor/tinymce/plugins | TinyMCE テキストエディタ用の追加機能です。 | 2.4+ |
登録プラグイン | enrol | /enrol | 登録者を管理する方法です。 | 2.0+ |
認証プラグイン | auth | /auth | 外部認証ソースへの接続を許可します。 | 2.0+ |
管理ツール | tool | /admin/tool | さまざまなサイト管理、保守作業に役立つユーティリティスクリプトを提供します。 | 2.2+ |
ログストア | logstore | /admin/tool/log/store | イベントログの保存バックエンドです。 | 2.7+ |
利用制限 | availability | /availability/condition | 活動やセクションに対するユーザのアクセスを制限するための条件です。 | 2.7+ |
カレンダータイプ | calendartype | /calendar/type | Moodle 全体における日付の表示方法を定義します。 | 2.6+ |
メッセージングコンシューマ | message | /message/output | メッセージや通知を送ることができる様々なターゲット(Eメール、SMS、jabber、...)を表現します。 | 2.0+ |
コースフォーマット | format | /course/format | コース内の活動やブロックをレイアウトするさまざまな方法です。 | 1.3+ |
データフォーマット | dataformat | /dataformat | データの書き出しやダウンロードのためのフォーマットです。 | 3.1+ |
ユーザプロファイルフィールド | profilefield | /user/profile/field | ユーザプロファイルに新しいタイプのデータを追加します。 | 1.9+ |
レポート | report | /report | Moodleサイト内のデータを管理者、教師向けに有用なビューで表示します。 | 2.2+ |
コースレポート | coursereport | /course/report | コース内の活動報告です。 | Up to 2.1 (for 2.2+ see レポート) |
評定エクスポート | gradeexport | /grade/export | 様々なフォーマットで評定をエクスポートします。 | 1.9+ |
評定インポート | gradeimport | /grade/import | 様々なフォーマットで評定をインポートします。 | 1.9+ |
評定表レポート | gradereport | /grade/report | 様々なレイアウトやレポートでの評定の表示/編集 | 1.9+ |
高度な評定方法 | gradingform | /grade/grading/form | 活動モジュールで実際に評定するためのインターフェース(ルーブリックなど)です。 | 2.2+ |
MNetサービス | mnetservice | /mnet/service | MNet 環境のリモートサービスを実装できるようにします(非推奨、代わりにWebサービスを使用)。 | 2.0+ |
ウェブサービスプロトコル | webservice | /webservice | ウェブサービス通信のための新しいプロトコルを定義します(SOAP、XML-RPC、JSON、REST など)。 | 2.0+ |
リポジトリプラグイン | repository | /repository | Moodleで使用するファイルの外部ソースに接続します。 | 2.0+ |
ポートフォリオプラグイン | portfolio | /portfolio | ユーザが Moodle のコンテンツを保存する先として、外部のポートフォリオサービスを接続します。 | 1.9+ |
サーチエンジン | search | /search/engine | Moodle のコンテンツをインデックスするための検索エンジンのバックエンドです。 | 3.1+ |
メディアプレイヤ | media | /media/player | プラグイン式のメディアプレイヤです。 | 3.2+ |
盗作プラグイン | plagiarism | /plagiarism | 投稿されたファイルやコンテンツを処理するための外部サービスを定義します。 | 2.0+ |
キャッシュストア | cachestore | /cache/stores | キャッシュストレージのバックエンドです。 | 2.4+ |
キャッシュロック | cachelock | /cache/locks | キャッシュロックの実装です。 | 2.4+ |
テーマ | theme | /theme | HTMLとCSSを変更することで、Moodleの外観を変更することができます。 | 2.0+ |
ローカルプラグイン | local | /local | ローカルカスタマイズのための汎用プラグインです。 | 2.0+ |
レガシー課題タイプ | assignment | /mod/assignment/type | 教師が評定するさまざまな形式の課題です。 | 1.x - 2.2 |
レガシー管理レポート | report | /admin/report | 管理者のみ、Moodleサイト内のデータの有用なビューを提供します。 | Up to 2.1 (for 2.2+ see レポート) |
コンテンツバンクコンテンツタイプ | contenttype | /contentbank/contenttype | コンテンツバンクにアップロード、作成または編集し、Moodleサイト全体で使用するコンテンツタイプです。 | 3.9+ |
H5Pライブラリ | h5plib | /h5p/h5plib | H5P統合ライブラリの特定バージョン用のプラグインタイプです。 | 3.9+ |
問題バンクプラグイン | qbank | /question/bank | 問題バンクの機能を拡張するためのプラグインタイプです。 | 4.0+ |
あなたのMoodleで知られているプラグインタイプのリストを取得する
あなたのMoodleのバージョンで最も正確なタイプのリストを得るには、以下のスクリプトを使用してください。あなたのMoodleインストールのルートディレクトリにファイルを置き、コマンドラインから実行してください。
<?php
define('CLI_SCRIPT', true);
require('config.php');
$pluginman = core_plugin_manager::instance();
foreach ($pluginman->get_plugin_types() as $type => $dir) {
$dir = substr($dir, strlen($CFG->dirroot));
printf("%-20s %-50s %s".PHP_EOL, $type, $pluginman->plugintype_name_plural($type), $dir);
}
すべてのプラグインに共通していること
プラグインには様々な種類がありますが、どのプラグインの種類でも同じように動作するものがあります。プラグインファイルのページでは、すべてのプラグインタイプで同じ働きをするものについて説明していますので、ご覧ください。
命名規則
プラグイン(ディレクトリ)名を選択する必要がある場合に警告します。名前の検証は、lib/classes/component.php::is_valid_plugin_name()というメソッドで、正規表現: /^[a-z](?:[a-z0-9_](?!__))*[a-z0-9]+$/ を使って行います。特に、マイナス(-)文字は有効とはみなされず、名前が有効でない場合、プラグインは黙って無視されます。
ただし、レガシーな理由により、名前にアンダースコアを付けることができない活動モジュールは例外とします。
関連項目
- 寄稿コードに関するガイドライン
- コアAPI
- Frankenstyle
- Moodle プラグインディレクトリ
- チュートリアル は、Moodle用のプラグインの書き方を最初から最後まで学ぶことができ、その過程で最も重要な開発者向けドキュメントをナビゲートする方法を紹介します。