New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Plugin definition #2074
New Plugin definition #2074
Conversation
@SchrodingersGat @eeintech the PoC / basics for the 'new' plugin system are laid. There is a lot still missing for a full ecosystem but this should be a good base to start on. |
@matmair Nice work! How can we test this? |
@eeintech there are multiple (simple) samples included. If you access the settings you will discover a plugin section after the server stuff. You can click through the different plugins and see what they define. I am currently finishing a basic Shopify 'integration' that will be a better example. |
Very excited to check this out @matmair I should have some more time after the imminent |
We all do this as a hobby, no worries. If you get to it in half a year it should still work😇. |
@SchrodingersGat @eeintech any idea what is stoping this test? Can not reproduce locally with docker. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@matmair see comment here regarding workflow failure
@SchrodingersGat this is ready for merge now! |
@eeintech @SchrodingersGat docs are now done inventree/inventree-docs#192 |
@SchrodingersGat had time to look at this? Already have lined up a few improvements lined up to start building a small ecosystem around the plugins and like 4 more mixin-types but gonna wait till you/@eeintech have had a look and it is clear the direction fits the project. |
@matmair not yet, but very soon. I want to close out the following PRs first and then I'll have some clear air. I do want to get to this ASAP so it does not drag on! |
@SchrodingersGat @eeintech plugins can now be installed as pip packages: Also the migrations are slowly colliding |
@matmair wow, this is huge! i'm starting to read through the code, can you give me some pointers on where to start to look at the functionality? |
It grew a lot due to all the refactoring for 0.6.0
I would recommend reading the docs first. They give a good overview of what all the components do in the end. |
@SchrodingersGat I think this should be ready for its final round of reviews. I will try to add a few more tests but coverage is at +94%. I refactored a lot from the last time you took a look - Nearly all plugin code is now in |
@SchrodingersGat there seem to be problems with the images for mysql / postgres checks. Maybe it will run later again |
Generally looking pretty good though. Once the workflows are fixed I'm happy to merge this in so we can continue with the other plugin-related issues :) |
using c instead of k does not make it Englisch
@matmair keen to get this one merged if you can take a look at the conflict and the logout / login screen issues :) |
@SchrodingersGat still trying to understand why the templates do not load. Will try to get this done today. |
@SchrodingersGat figured it out, it was the ordering of the template loaders |
Ok, looks good now :) Thanks for the huge effort on this @matmair ! Let's get the other linked PRs sorted now |
This is a heavy PR for #2037.
It adds a new plugin system with database controlled plugins, wide integration into InvenTree, a pluggable mixin system so that integrations are easily made, live-reloading of apps so no server admin is needed for plugin changes, a maintenance mode while plugins reload (errors out to 503), ...
Plugins can be loaded from a directory or from the 'inventree_plugins' entry_point. Metadata about the latest git commit or metadata in the plugin class are used to inform admins about the different plugins.
Initial integrations are:
Includes #2049 as that is needed for a few showcase mixins.
Closes #2037
Closes #2218
Closes #2295
Closes #2294
Closes #2293
Closes #2292
Closes #2305
Closes #2318
Closes #2308