mdziekon / OctoPrint-SpoolManager

Plugin for managing Spools
21 stars 3 forks source link

Feature Request: Printing QR Code Spool Label #47

Open ScottGibb opened 1 year ago

ScottGibb commented 1 year ago

Feature Summary

First off, thank you to @mdziekon for continuing development and bug fixes on the Spool Manager Plugin! Really good plugin and I enjoy using it.

The feature requesting to be added to the plugin is the addition of a print button to the UI when creating a new spool. Ideally being able to customise your own label and be able to print the spool Name along with its QR code.

Why do we want this feature

My current printing setup revolves around buying a spool. Adding the Spool to the database and then copying and pasting the QR code into Word, where I can then print a label using my Dymo LabelWriter printer. I then print the labels and stick them onto the spool. I would like to be able to do this in the browser with a preconfigured label template.

What Needs to be added

As for label specifics, I put some work into creating a docker container that runs on a Raspberry Pi that connects to the Dymo Label Writer 450 which turns it into an IP Printer using CUPS. The repo for this can be found here: Dymo Label Writer 450 Docker Container.

thegreekgeek commented 11 months ago

I would second this request, I also have a dymo labelwriter in my setup and would like to have it better integrated with my printing workflow. Right now I export the database into a CSV and add a custom field called "QR ID" that mirrors the database id which is used as a data source for the dymo software.

mdziekon commented 11 months ago

@ScottGibb as far as I can tell, a very basic "implementation" of this feature already exists - by clicking on the generated QR code, you are being presented with a blank page with just three things: the QR code, spool label & spool database ID. Every browser should be able to print that.

As for providing a template where the user would be able to change what's being presented, I see that this would be useful and makes a lot of sense. However... as I've stated in the main description:

For now, I do not plan to continue any "planned features" work from the original maintainer's backlog (such as remote database support), but focus on bug fixing, code refactoring & minor UX improvements.

Therefore, I'm not planning to implement that myself. However I'm always open to any outside pull requests that would implement this feature. So I'll leave it open and mark as "help wanted".

ScottGibb commented 11 months ago

@mdziekon I can give it a shot and try to develop the feature, how hard could it be... xD

Are you able to give me a bit of information on how you go about developing the plugin? Like devtools, vscode plugins etc? I'm fairly new to Octoprint plugin development, never done it before so any advice would be great :)

mdziekon commented 10 months ago

@ScottGibb to be fair, my "setup" is probably far from being optimal, so for best dev experience you would have to go ask that question somewhere where "actual Octoprint plugins' developers" hang out.

But for a bare minimum - I simply use a test Octoprint instance, running in a docker container (docker compose is your friend, there's also a ready made Octoprint image already available on the Docker hub). No special sauce for vscode or devtools, just some basic Python plugins, vscode should make recommendations automatically or have that already built-in. And as for "building" the plugin - zip it's folder and install via web GUI by providing that zip file. As you can see, nothing fancy, and I'm pretty sure there must be a better, less troublesome way to do it.