カスタムグループのプロバイダ¶
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));