InvenTree icon indicating copy to clipboard operation
InvenTree copied to clipboard

Machine registry

Open wolflu05 opened this issue 1 year ago • 8 comments

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

wolflu05 avatar Feb 14 '24 14:02 wolflu05