コースツールプラグイン
コースツールプラグインは、ドキュメント、演習、フォーラムなどの組み込みツールと並んで、コースホームページに新しいツールを追加します。
コースツールプラグインの仕組み
プラグインがコースツールとして自身を登録すると、次のようになります。
コースホームページのツールグリッドに表示される
教師は他のツールと同様に表示/非表示を切り替えられる
ツールをクリックすると、コースコンテキスト内でプラグインのインターフェースが開く
コースツールとしての登録
プラグインクラスで $isCoursePlugin = true を設定します。コースホームページにツールアイコンを自動追加するには、あわせて $addCourseTool = true も設定します。
class MyToolPlugin extends Plugin
{
protected function __construct()
{
parent::__construct('1.0', 'Author');
$this->isCoursePlugin = true;
$this->addCourseTool = true;
}
}コース単位の設定
$course_settings プロパティでコースレベルの設定フィールドを定義します。
これらはコース設定パネルに表示され、validateCourseSetting(string $variable) をオーバーライドして検証できます(値を拒否する場合は false を返す)。または course_settings_updated(array $values) で処理できます。
インストールとアンインストール
インストール時に既存のすべてのコースへプラグインフィールドを登録するには:
単一のコースへインストールする場合(例: 新しいコースが作成されたとき):
特定のコースからフィールドを削除するには:
統合ポイント
コースツールプラグインは次を通じて統合されます。
LegacyPluginCourseTool(src/CoreBundle/Tool/LegacyPluginCourseTool.php) — プラグインをコース内のツールとして登録するCToolStateProvider(src/CoreBundle/State/CToolStateProvider.php) — コースホームページに表示されるツール(プラグインツールを含む)を解決するツールはコースの
CToolコレクションに現れる
コースコンテキスト
学習者がプラグインのツールをクリックすると、プラグインコードはコースコンテキスト内で実行されます。次にアクセスできます。
現在のコース(
api_get_course_id()または CID リクエストストア経由)現在のセッション(該当する場合)
現在のユーザー
コースレベルのプラグイン設定
例
組み込みのコースツールプラグイン:
BigBlueButton (
Bbb/) — コース内でのビデオ会議Zoom (
Zoom/) — コース内での Zoom ミーティングOnlyOffice (
Onlyoffice/) — コース内での文書編集
最終更新
役に立ちましたか?