外部リンクのプロバイダ¶
この関数はタスクと別のシステムに保存されているアイテムのリンクの追加を許容します。
例えば、タスクとこれらをリンクできます:
- (古典的な)webページ
- 添付ファイル (web上に保存されているPDF文書、アーカイブ…)
- 他のチケットシステム (バグトラッカー, カスタマーサポート用チケット…)
個々のアイテムはURL、依存タイプ、そしてタイトルの型を持ちます。
デフォルトでは、Kanboard は2つのタイプのプロバイダを含んでいます:
- Web リンク: リンクをコピー・ペーストするとKanboardはページのタイトルを自動的に取得します
- 添付: webページ以外の全てのものとリンク
ワークフロー¶
- エンドユーザーはURLをフォームにコピー・ペーストして投稿します
- リンクのタイプが “auto” ならば、Kanboardは見合うものがあるまで全ての登録済みプロバイダを順繰りに当たります。
- その後リンクのプロバイダは ``ExternalLinkInterface``として実装されるオブジェクトを返します
- リンクを保存する前の、全てのデータが埋められたフォームがユーザーに表示されます。
インターフェース¶
プラグインから新しいリンクのプロバイダを実装するには、これらのインターフェースの実装から2つのクラスを作成しなければなりません。
Kanboard\Core\ExternalLink\ExternalLinkProviderInterface
Kanboard\Core\ExternalLink\ExternalLinkInterface
ExternalLinkProviderInterface¶
Method | Usage |
---|---|
getName() |
プロバイダ名 (label) を取得 |
getType() |
リンクのタイプを取得 (して、データベースに保存) |
getDependencies() |
プロバイダによってサポートされている 依存タイプの連想配列を取得 |
setUserTextInput($input) |
ユーザーによって入力されたテキストをセットする |
match() |
ユーザーの入力をプロバイダが正しくパースした場合に trueを返す |
getLink() |
プロパティからリンクを見つけて取得 |
ExternalLinkInterface¶
Method | Usage |
---|---|
getTitle() |
リンクのタイトルを取得 |
getUrl() |
リンクのURLを取得 |
setUrl($url) |
リンクのURLをセット |
新しいリンクのプロバイダを登録する¶
Plugin.php
内では、単に ExternalLinkManager
オブジェクトから register()
メソッドを呼び出すだけです:
<?php
namespace Kanboard\Plugin\MyExternalLink;
use Kanboard\Core\Plugin\Base;
class Plugin extends Base
{
public function initialize()
{
$this->externalLinkManager->register(new MyLinkProvider($this->container));
}
}
例¶
- Kanboardに含まれるデフォルトのプロバイダの “WebLink” と “Attachment”