PiSCSI / piscsi

PiSCSI allows a Raspberry Pi to function as emulated SCSI devices (hard disk, CD-ROM, and others) for vintage SCSI-based computers and devices. This is a fork of the RaSCSI project by GIMONS.
https://piscsi.org
BSD 3-Clause "New" or "Revised" License
537 stars 82 forks source link

Allow for "upload to iso" workflow in the Web UI #981

Closed rdmark closed 1 year ago

rdmark commented 1 year ago

As requested by LadyDana on Discord: The ability to upload a file from the local computer and generate an ISO image. Right now we only allow for download remotely and generate ISO.

rdmark commented 1 year ago

As part of this change, I think we should merge the ISO creation form with the general purpose download / upload ones. They're effectively the same workflow up until the file transfer is complete.

The one UX challenge to solve would be to avoid hiding the ISO creation flow away and make it less discoverable. One idea here would be to make it a combo list with the multiple attribute.

rdmark commented 1 year ago

I did some mental simulations and realized that one major hurdle for an integrated e2e upload->ISO flow is to make the Python code aware of a dropzone.js file transfer completion in a clean way, and then trigger a Flask app transition to flash the result message. I'm not sure how to accomplish this without adding a crap ton of embedded JS code.

So as a more light weight solution, one idea here would be to scrap the integrated "download to ISO" UI altogether, and add a "Create ISO" action for files in the image manager. The user would transfer files using a method of their choosing, and then generate the ISO file on demand from the file manager table.

@akuker @nucleogenic What do you think about this approach? It would add another button to each row of the file manager table which does add to the clutter a bit.

rdmark commented 1 year ago

Actually, since we need the drop down for selecting the ISO format, this idea doesn't work. So perhaps I'll experiment with an entirely separate image manager page that has the ISO creation... Or maybe offer a dropdown with all the existing (non-image?) files in the images dir?

rdmark commented 1 year ago

PR in https://github.com/PiSCSI/piscsi/pull/1046