Skip to content

[WIP] Plugin Updates#6400

Merged
SchrodingersGat merged 68 commits intoinventree:masterfrom
SchrodingersGat:plugin-update
Feb 6, 2024
Merged

[WIP] Plugin Updates#6400
SchrodingersGat merged 68 commits intoinventree:masterfrom
SchrodingersGat:plugin-update

Conversation

@SchrodingersGat
Copy link
Member

@SchrodingersGat SchrodingersGat commented Feb 4, 2024

This PR introduces some new plugin enhancements which improve "ease of use" of plugin management:

Features

  • UI updates
  • Extract installed package name for package plugins on registry load
  • Adds ability to update an existing plugin to the latest version (or to a particular version)
  • Improve error logging for plugin installation functions
  • Adds ability to specify version number when installing a plugin
  • Uninstall a deactivated plugin
  • Add ability to also delete PluginConfig when uninstalling a plugin
  • Improve update to plugins.txt
  • Remove entry from plugins.txt when uninstalling a plugin
  • Delete a PluginConfig associated with an uninstalled plugin

Potential Future Updates

  • Periodically check for available updates
  • Delete database tables associated with app plugin

@SchrodingersGat SchrodingersGat added enhancement This is an suggested enhancement or new feature plugin Plugin ecosystem api Relates to the API labels Feb 4, 2024
@SchrodingersGat SchrodingersGat added this to the 0.14.0 milestone Feb 4, 2024
@netlify
Copy link

netlify bot commented Feb 4, 2024

Deploy Preview for inventree-web-pui-preview canceled.

Name Link
🔨 Latest commit dacb85a
🔍 Latest deploy log https://app.netlify.com/sites/inventree-web-pui-preview/deploys/65c2374e84131300088e9184

- When the plugin is loaded, save this name to the PluginConfig model
- Update the admin view
- Add common functions
- Add API endpoints
- Add UI elements
- Just use the "install" function
- Add optional "version" specifier
- UI updates
- get_object() is required
- Instead of registry.plugins.get()
- get_plugin checks registry hash
- performs registry reload if necessary
- Allows the entire model to be validated via plugins
- Called on model.full_clean()
- Called on model.save()
@matmair
Copy link
Contributor

matmair commented Feb 5, 2024

Looks intresting in general, a few things should probably be their own PR

@SchrodingersGat SchrodingersGat merged commit c0c4e9c into inventree:master Feb 6, 2024
@SchrodingersGat SchrodingersGat deleted the plugin-update branch February 6, 2024 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Relates to the API enhancement This is an suggested enhancement or new feature plugin Plugin ecosystem

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants