カスタムグループのプロバイダ¶
Kanboardは外部システムからグループを読み込むことができます。この機能は主にプロジェクトの権限に使用します。
プロジェクトマネージャーはグループに対してプロジェクトへのアクセスを許可することができます。エンドユーザーはグループの検索ボックスでオートコンプリートを使えるようになるでしょう。
グループのクエリが実行される都度、全てのグループプロバイダが実行されます。
グループプロバイダのワークフロー¶
- エンドユーザーがグループ名をオートコンプリートのフィールドに入力を始める
GroupManagerクラスが全てのグループプロバイダに跨ってクエリを実行する- 結果がマージされてユーザーインターフェースに返される
- グループを選択した後は、グループの情報は必要に応じてローカルのデータベースと同期されます。
グループ情報提供インターフェース¶
Kanboard\Core\Group\GroupProviderInterface にインターフェースが実装されています。
このグループ情報を要約するインターフェースに実装されているクラスには、たった3つのメソッドしかありません:
getInternalId(): 内部データベース上のIDを取得、もしくは0を返すgetExternalId(): ユニークな外部IDを取得するgetName(): グループ名を取得する
Kanboard は外部IDをローカルのデータベースと同期するのに使用するでしょう。
グループのバックエンドプロバイダのインターフェース¶
Kanboard\Core\Group\GroupBackendProviderInterface にインターフェースが実装されています。
このインターフェースは find($input) メソッドのみを要求します。引数 $input はユーザーインターフェースから入力されたテキストです。
このメソッドは検索結果を``GroupProviderInterface``のリストで返す必要があります。
プラグインからバックエンドを登録する¶
initialize() メソッドはカスタムバックエンド同様、以下の要領でプラグインを登録します:
$groupManager->register(new MyCustomLdapBackendGroupProvider($this->container));