プラグインタイプ (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]+$/ を使って行います。特に、マイナス(-)文字は有効とはみなされず、名前が有効でない場合、プラグインは黙って無視されます。

ただし、レガシーな理由により、名前にアンダースコアを付けることができない活動モジュールは例外とします。

関連項目