From 94d0bc8e63429be409430c37b383f03aa22488d2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 21 Nov 2022 22:05:26 +1100 Subject: [PATCH] Updated plugin docs (#398) --- .../assets/images/plugin/check_on_startup.png | Bin 0 -> 13282 bytes .../images/plugin/plugin_install_web.png | Bin 0 -> 50799 bytes docs/extend/plugins.md | 8 +-- docs/extend/plugins/install.md | 55 +++++++++++++++--- 4 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 docs/assets/images/plugin/check_on_startup.png create mode 100644 docs/assets/images/plugin/plugin_install_web.png diff --git a/docs/assets/images/plugin/check_on_startup.png b/docs/assets/images/plugin/check_on_startup.png new file mode 100644 index 0000000000000000000000000000000000000000..9d13686fff3e9d55a6d3c4ca5b96e4f070ec7c62 GIT binary patch literal 13282 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®uK=b7oiHNSE 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 A4gdfE literal 0 HcmV?d00001 diff --git a/docs/assets/images/plugin/plugin_install_web.png b/docs/assets/images/plugin/plugin_install_web.png new file mode 100644 index 0000000000000000000000000000000000000000..67ecc3bfd75f835d3405710b1597b707a1e10a02 GIT binary patch literal 50799 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 VylM>k^H-H`h3Bfz3ZBAz{|^`eQC9!} literal 0 HcmV?d00001 diff --git a/docs/extend/plugins.md b/docs/extend/plugins.md index 0faded7..4950eac 100644 --- a/docs/extend/plugins.md +++ b/docs/extend/plugins.md @@ -12,13 +12,7 @@ Plugins can be added from multiple sources: - Custom plugins should be placed in the directory `./InvenTree/plugins`. - InvenTree built-in plugins are located in the directory `./InvenTree/plugin/builtin`. -Note: Plugins are discovered and loaded only when the server is started. - -!!! info "Enable Plugin Support" - To enable custom plugins, plugin support must be activated in the [server configuration](../start/config.md). - -!!! question "Have you tried turning it off and on again?" - When new plugins are installed (and activated), both the web server and background worker must be restarted. +For further information, read more about [installing plugins](./plugins/install.md). ### Plugin Base Class diff --git a/docs/extend/plugins/install.md b/docs/extend/plugins/install.md index c1ead99..e2d5639 100644 --- a/docs/extend/plugins/install.md +++ b/docs/extend/plugins/install.md @@ -7,7 +7,42 @@ title: Installing Plugins Plugins can either be loaded from paths in the InvenTree install directory or as a plugin installed via pip. We recommend installation via pip as this enables hassle-free upgrades. -### Plugin Installation File (PIP) +### Common Issues + +Installing plugins can be complex! Some common issues are outlined below: + +#### Enable Plugin Support + +To enable custom plugins, plugin support must be activated in the [server configuration](../../start/config.md#plugin-options). This step must be performed by a system administrator before the InvenTree server is started. + +#### Restart Server + +Plugins are discovered and loaded only when the server is started. When new plugins are installed (and activated), both the web server and background worker must be restarted. + +#### Container Environments + +In certain container environments (such as docker), plugins are installed into an *ephemeral* virtual environment which persists only for the lifetime of the container. To allow for this, InvenTree provides a configurable setting which can automatically install plugins whenever the container is loaded. + +!!! tip "Check Plugins on Startup" + Ensure the **Check Plugins on Startup** option is enabled, when running InvenTree in a container environment! + +{% with id="check_plugins", url="plugin/check_on_startup.png", description="Check plugins on startup" %} +{% include 'img.html' %} +{% endwith %} + +### Installation Methods + +#### Builtin Plugins + +Builtin plugins ship in `src/InvenTree/plugin/builtin`. To achive full unit-testing for all mixins there are some sample implementations in `src/InvenTree/plugin/samples`. + +!!! success "Builtin Plugins" + Builtin plugins are always enabled, as they are required for core InvenTree functionality + +!!! info "Debug Only" + The sample plugins are not loaded in production mode. + +#### Plugin Installation File (PIP) Plugins installation can be simplified by providing a list of plugins in a plugin configuration file. This file (by default, *plugins.txt* in the same directory as the server configuration file) contains a list of required plugin packages. @@ -23,15 +58,21 @@ Installation via PIP (using the *plugins.txt* file) provides a number of advanta !!! success "Auto Update" When the server installation is updated via the `invoke update` command, the plugins (as specified in *plugins.txt*) will also be updated automatically. +!!! info "Plugin File Location" + The location of your plugin configuration file will depend on your [server configuration](../../start/config.md) -### Builtin Plugins +#### Web Interface -Built-In plugins ship in `src/InvenTree/plugin/builtin`. To achive full unit-testing for all mixins there are some sample implementations in `src/InvenTree/plugin/samples`. +Admin users can install plugins directly from the web interface, via the "Plugin Settings" view: -!!! info "Debug Only" - The sample plugins are not loaded in production mode. +{% with id="plugin_install", url="plugin/plugin_install_web.png", description="Install via web interface" %} +{% include 'img.html' %} +{% endwith %} -### Local Directory +!!! success "Plugin File" + A plugin installed via the web interface is added to the [plugins.txt](#plugin-installation-file-pip) plugin file. + +#### Local Directory Custom plugins can be placed in the `src/InvenTree/plugins/` directory, where they will be automatically discovered. This can be useful for developing and testing plugins, but can prove more difficult in production (e.g. when using Docker). @@ -41,7 +82,7 @@ Custom plugins can be placed in the `src/InvenTree/plugins/` directory, where th !!! warning "Not Recommended For Production" Loading plugins via the local *plugins* directory is not recommended for production. If you cannot use PIP installation (above), specify a custom plugin directory (below) or use a [VCS](https://pip.pypa.io/en/stable/topics/vcs-support/) as a plugin install source. -### Custom Directory +#### Custom Directory If you wish to install plugins from local source, rather than PIP, it is better to place your plugins in a directory outside the InvenTree source directory.