From 3dee271fa2c4ad3aaafccf8b0b126197588ced8e Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 26 Mar 2022 11:44:09 +1100 Subject: [PATCH 1/4] General improvements for plugin documentation --- docs/extend/plugins.md | 33 ++++++++++++++++++++++++--------- docs/extend/plugins/label.md | 12 ++++++++++++ mkdocs.yml | 4 ++-- 3 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 docs/extend/plugins/label.md diff --git a/docs/extend/plugins.md b/docs/extend/plugins.md index 1cdcd23..72f181d 100644 --- a/docs/extend/plugins.md +++ b/docs/extend/plugins.md @@ -7,15 +7,19 @@ title: Plugins The InvenTree server code supports an extensible plugin architecture, allowing custom plugins to be integrated directly into the database server. This allows development of complex behaviours which are decoupled from core InvenTree code. Plugins can be added from multiple sources: -- InvenTree built-in plugins are located in the directory `./InvenTree/plugin/builtin`. -- Custom plugins should be placed in the directory `./InvenTree/plugins`. -- Plugins can be installed via PIP (python package manager) -Plugins are discovered and loaded when the server is started. +- Plugins can be installed via PIP (python package manager) +- 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. + ### Plugin Base Class Custom plugins must inherit from the [IntegrationPluginBase class](https://github.com/inventree/InvenTree/blob/master/InvenTree/plugin/integration.py). Any plugins installed via the methods outlined above will be "discovered" when the InvenTree server launches. @@ -43,11 +47,11 @@ A *PluginConfig* database entry will be created for each plugin "discovered" whe The configuration entries must be enabled via the [InvenTree admin interface](../settings/admin.md). !!! warning "Disabled by Default" - Newly discovered plugins are disabled by default, and must be manually enabled by an admin user + Newly discovered plugins are disabled by default, and must be manually enabled (in the admin interface) by a user with staff privileges. ### Plugin Mixins -Common use cases are covered by pre-supplied modules in the form of mixins (similar to how [django](https://docs.djangoproject.com/en/stable/topics/class-based-views/mixins/) does it). Each mixin enables the integration into a specific area of InvenTree. Sometimes it also enhances the plugin with helper functions to supply often used functions out-of-the-box. +Common use cases are covered by pre-supplied modules in the form of *mixins* (similar to how [django](https://docs.djangoproject.com/en/stable/topics/class-based-views/mixins/) does it). Each mixin enables the integration into a specific area of InvenTree. Sometimes it also enhances the plugin with helper functions to supply often used functions out-of-the-box. Supported mixin classes are: @@ -56,6 +60,7 @@ Supported mixin classes are: - [AppMixin](./plugins/app.md) - [BarcodeMixin](./plugins/barcode.md) - [EventMixin](./plugins/event.md) +- [LabelPrintingMixin](./plugins.label.md) - [NavigationMixin](./plugins/navigation.md) - [ScheduleMixin](./plugins/schedule.md) - [SettingsMixin](./plugins/settings.md) @@ -65,10 +70,20 @@ Supported mixin classes are: 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. -For development new plugins can be placed ina a subdirectory in `src/InvenTree/plugins`. 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`. These are not loaded in production mode. +### Builtin Plugins -### Plugin Installation File +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`. These are not loaded in production mode. + +### 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). + +### 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. -Plugins can be installed from this file by simply running the command `invoke plugins`. +Plugins can be then installed from this file by simply running the command `invoke plugins`. + +!!! 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. + diff --git a/docs/extend/plugins/label.md b/docs/extend/plugins/label.md new file mode 100644 index 0000000..d840396 --- /dev/null +++ b/docs/extend/plugins/label.md @@ -0,0 +1,12 @@ +--- +title: Label Mixin +--- + +## LabelPrintingMixin + +The `LabelPrintingMixin` class enables plugins to print labels directly to a connected printer. + +An example of this is the [inventree-brother-plugin](https://github.com/inventree/inventree-brother-plugin) which provides native support for the Brother QL and PT series of networked label printers. + +If label printing plugins are enabled, they are able to be used directly from the InvenTree web interface: + diff --git a/mkdocs.yml b/mkdocs.yml index e63dd91..e4a816e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -109,8 +109,6 @@ nav: - Email: settings/email.md - Background Tasks: settings/tasks.md - Extend: - - API: extend/api.md - - Python Interface: extend/python.md - Plugins: - Overview: extend/plugins.md - How to plugin: extend/how_to_plugin.md @@ -123,6 +121,8 @@ nav: - Schedule Mixin: extend/plugins/schedule.md - Settings Mixin: extend/plugins/settings.md - URL Mixin: extend/plugins/urls.md + - API: extend/api.md + - Python Interface: extend/python.md - Themes: extend/themes.md - Third-Party: extend/integrate.md - App: From a44756a6a2a8767659b68fb658948d0d74c76820 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 26 Mar 2022 11:48:48 +1100 Subject: [PATCH 2/4] Add an image --- .../images/plugin/print_label_select_plugin.png | Bin 0 -> 65028 bytes docs/extend/plugins.md | 2 +- docs/extend/plugins/label.md | 3 +++ mkdocs.yml | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 docs/assets/images/plugin/print_label_select_plugin.png diff --git a/docs/assets/images/plugin/print_label_select_plugin.png b/docs/assets/images/plugin/print_label_select_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..f09fd8b5c963b805a00c6db3f78966530f9a222d GIT binary patch literal 65028 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≤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 literal 0 HcmV?d00001 diff --git a/docs/extend/plugins.md b/docs/extend/plugins.md index 72f181d..6d87df8 100644 --- a/docs/extend/plugins.md +++ b/docs/extend/plugins.md @@ -60,7 +60,7 @@ Supported mixin classes are: - [AppMixin](./plugins/app.md) - [BarcodeMixin](./plugins/barcode.md) - [EventMixin](./plugins/event.md) -- [LabelPrintingMixin](./plugins.label.md) +- [LabelPrintingMixin](./plugins/label.md) - [NavigationMixin](./plugins/navigation.md) - [ScheduleMixin](./plugins/schedule.md) - [SettingsMixin](./plugins/settings.md) diff --git a/docs/extend/plugins/label.md b/docs/extend/plugins/label.md index d840396..c5f86a0 100644 --- a/docs/extend/plugins/label.md +++ b/docs/extend/plugins/label.md @@ -10,3 +10,6 @@ An example of this is the [inventree-brother-plugin](https://github.com/inventre If label printing plugins are enabled, they are able to be used directly from the InvenTree web interface: +{% with id="label_print", url="plugin/print_label_select_plugin.png", description="Print label via plugin" %} +{% include 'img.html' %} +{% endwith %} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index e4a816e..50cc885 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -111,12 +111,13 @@ nav: - Extend: - Plugins: - Overview: extend/plugins.md - - How to plugin: extend/how_to_plugin.md + - How To: extend/how_to_plugin.md - Action Mixin: extend/plugins/action.md - API Mixin: extend/plugins/api.md - App Mixin: extend/plugins/app.md - Barcode Mixin: extend/plugins/barcode.md - Event Mixin: extend/plugins/event.md + - Label Printing Mixin: extend/plugins/label.md - Navigation Mixin: extend/plugins/navigation.md - Schedule Mixin: extend/plugins/schedule.md - Settings Mixin: extend/plugins/settings.md From a7e078278e38649a34e471662b8cefca6d8c0a3f Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 26 Mar 2022 11:55:31 +1100 Subject: [PATCH 3/4] Add screenshots for printing labels via the app --- docs/app/stock.md | 12 ++++++++++++ docs/assets/images/app/stock_print_label_1.png | Bin 0 -> 43066 bytes docs/assets/images/app/stock_print_label_2.png | Bin 0 -> 23633 bytes 3 files changed, 12 insertions(+) create mode 100644 docs/assets/images/app/stock_print_label_1.png create mode 100644 docs/assets/images/app/stock_print_label_2.png diff --git a/docs/app/stock.md b/docs/app/stock.md index 77c5791..67738e3 100644 --- a/docs/app/stock.md +++ b/docs/app/stock.md @@ -150,6 +150,18 @@ Select the *assign barcode* action to scan this third-party barcode and assign i This barcode can then be used to track the stock item. +#### Print Label + +If the server supports [label printing plugins](../extend/plugins/label.md), then an option to print a label for the selected stock item: + +{% with id="label_print_1", url="app/stock_print_label_1.png", description="Print label via plugin" %} +{% include 'app_img.html' %} +{% endwith %} + +{% with id="label_print_2", url="app/stock_print_label_2", description="Print label via plugin" %} +{% include 'app_img.html' %} +{% endwith %} + ### Edit Stock Item To edit the stock item details, select the *Edit* button in the top right corner of the screen: diff --git a/docs/assets/images/app/stock_print_label_1.png b/docs/assets/images/app/stock_print_label_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7e9ae17d680e0c132b4ca892f8647a316debd3 GIT binary patch literal 43066 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 literal 0 HcmV?d00001 From 3ba8c2efa7adee07cec804f238b108bb131b7e24 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 26 Mar 2022 12:09:47 +1100 Subject: [PATCH 4/4] Adds a simple example of a LabelPrintingMixin plugin --- docs/extend/plugins/label.md | 41 ++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/docs/extend/plugins/label.md b/docs/extend/plugins/label.md index c5f86a0..e5453c0 100644 --- a/docs/extend/plugins/label.md +++ b/docs/extend/plugins/label.md @@ -4,12 +4,49 @@ title: Label Mixin ## LabelPrintingMixin -The `LabelPrintingMixin` class enables plugins to print labels directly to a connected printer. +The `LabelPrintingMixin` class enables plugins to print labels directly to a connected printer. Custom plugins can be written to support any printer backend. An example of this is the [inventree-brother-plugin](https://github.com/inventree/inventree-brother-plugin) which provides native support for the Brother QL and PT series of networked label printers. +### Web Integration + If label printing plugins are enabled, they are able to be used directly from the InvenTree web interface: {% with id="label_print", url="plugin/print_label_select_plugin.png", description="Print label via plugin" %} {% include 'img.html' %} -{% endwith %} \ No newline at end of file +{% endwith %} + +### App Integration + +Label printing plugins also allow direct printing of labels via the [mobile app](../../app/stock.md#print-label) + +## Implementation + +Plugins which implement the `LabelPrintingMixin` mixin class must provide a `print_label` function: + +```python +from dummy_printer import printer_backend + +class MyLabelPrinter(LabelPrintingMixin, IntegrationPluginBase): + """ + A simple example plugin which provides support for a dummy printer. + + A more complex plugin would communicate with an actual printer! + """ + + PLUGIN_NAME = "MyLabelPrinter" + PLUGIN_SLUG = "mylabel" + PLUGIN_TITLE = "A dummy printer" + + def print_label(self, label): + """ + Send the label to the printer + + Arguments: + label: A PIL (pillow) Image file + """ + + printer_backend.print(label) +``` + +