diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-04-06 10:54:58 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-04-06 10:54:58 -0700 |
commit | 0b306fa60ad84ea077111e0ff7b59208ba7bc8a3 (patch) | |
tree | 5d8941b5950ede2db8ca3fba0213792db0f07a50 /doc/en_US/plugin-external-tasks.markdown | |
parent | ac11220a1aa7ae30b8827d9bbf221888d3edd0a7 (diff) |
Move documentation to https://docs.kanboard.org/
Diffstat (limited to 'doc/en_US/plugin-external-tasks.markdown')
-rw-r--r-- | doc/en_US/plugin-external-tasks.markdown | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/doc/en_US/plugin-external-tasks.markdown b/doc/en_US/plugin-external-tasks.markdown deleted file mode 100644 index 0701ea38..00000000 --- a/doc/en_US/plugin-external-tasks.markdown +++ /dev/null @@ -1,76 +0,0 @@ -External Task Providers -======================= - -Kanboard can be used to manage tasks stored in another system. -For example, an external system can be a bug tracker or any kind of ticketing software. -In this way, you can use Kanboard to manage external tasks in the same way as native tasks. - -Workflow --------- - -Creation: - -1. The end-user select an alternative task provider during the task creation -2. The external task provider expose a form to the user to be able to fetch the external task -3. The external task is retrieved from the other system -4. A customized form is shown to the user - -Visualization: - -When the task detail page is opened, Kanboard will load asynchronously the remote task. -This information might be cached by the plugin to improve the loading time. - -Modification: - -Optionally, the plugin can offer a custom form to save extra information to the external system. - -Interfaces ----------- - -External task providers must implements at least two interfaces: - -- `Kanboard\Core\ExternalTask\ExternalTaskProviderInterface` -- `Kanboard\Core\ExternalTask\ExternalTaskInterface` - -### ExternalTaskProviderInterface - -| Method | Usage | -|----------------------------------------------------|-----------------------------------------------------------------| -| `getName()` | Get provider name (label) | -| `fetch()` | Retrieve task from external system or cache | -| `save($uri, array $formValues, array &$formErrors)`| Save external task to another system | -| `getImportFormTemplate()` | Get task import template name | -| `getCreationFormTemplate()` | Get creation form template | -| `getModificationFormTemplate()` | Get modification form template | -| `getViewTemplate()` | Get task view template name | -| `buildTaskUri(array $formValues)` | Build external task URI based on import form values | - -### ExternalTaskInterface - -| Method | Usage | -|---------------------------------------------------|-----------------------------------------------------------------| -| `getUri()` | Return Uniform Resource Identifier for the task | -| `getFormValues()` | Return a dict to populate the task form | - - -Exceptions ----------- - -The plugin may raise an exception if something goes wrong: - -- `Kanboard\Core\ExternalTask\ExternalTaskException`: Generic error related to the external system -- `Kanboard\Core\ExternalTask\AccessForbiddenException`: Access not allowed by the external system -- `Kanboard\Core\ExternalTask\NotFoundException`: External task not found - -Provider Registration ---------------------- - -```php -class Plugin extends Base -{ - public function initialize() - { - $this->externalTaskManager->register(new MyExternalTaskProvider()); - } -} -``` |