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
- [ ] β machine status polling function on driver (with option to disable status polling for all printers/for an individual printer)
- [ ] 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)
- [ ] #6772
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too