InvenTree
InvenTree copied to clipboard
Machine registry
This issue is a summary of possible ideas to improve the machine registry introduced with #4824.
🎰 Machine type improvements
- [ ] ❗ send notification on error status change or machines capture errors
- [ ] machine permissions with custom permission levels per machine type (e.g. so that only specific roles/users can print labels with a specific printer - e.g. for label printers there are the following permission levels: "print")
- [ ] Define icons for each machine type and show them along the UI
🚚 Driver improvements
- [x] ❗ machine status polling function on driver (with option to disable status polling for all printers/for an individual printer) #10381
- [ ] Termination hook for machines, (already tried at 6bb0ba719bef6f61f4395823f2ff8ee8f7097a3e but not that easy when run in gunicorn), then the machine restart could be a simple terminate + re init
- [ ] let driver auto discover physical machines in the network/computer and show them so that they can be added quickly (like homeassistant has it)
- [ ] machine actions (buttons on machine page that can trigger certain function on the driver)
🖨️ Label printer improvements
- [ ] ❗Show the printer status badge in the machine selection dropdown (maybe by extending the ChoiceField with an optional status code property)
- [ ] integrated label printing queue for each machine
- [ ] label printer dialog sort machines based on priorities provided as tuple with
get_printers(not sure if that makes sense or if last used is just enough, we have to see)
🎰 Ideas for other machine types
- [ ] PnP machine type (#4164)
- [ ] 3d printer machine type (#5191)
📝 Other things
- [ ] ❗ Settings only required if conditions are met (e.g. for a usb/network printer select the host, port, user, password only makes sense for network printers, for usb printer a single select is enough. => Dependent settings)
- [ ] Live Autocomplete Settings type key (Client posts current values to API and API responds with suggestion)
- [ ] add metadata to machine models
- [x] How does scaling of the machine registry work if InvenTree runs on multiple nodes (maybe Kubernetes)
- [ ] Issue plugin events on machine load/finish load (ref: https://github.com/inventree/InvenTree/pull/4824#issuecomment-1574104681) (Already tried, but: enqueues to much offloaded events that are unnecessary on simple setups on startup => the event system first needs a fix)
- [x] #6772