Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI/Functionality Improvement for the Object Browser Page When Downloading Multiple Objects as a Batch #3269

Open
crazyoptimist opened this issue Mar 18, 2024 · 1 comment
Labels
community enhancement New feature or request

Comments

@crazyoptimist
Copy link

Thank you for this great product. I've been using minio for several years.

Opening this issue because I believe multiple files downloading behavior should be more interactive.

Expected Behavior

On the object browser page, when you check multiple files and click on the download button, it first zips all the selected files and then downloads the zip file. However, there's literally no sign/indicator that lets a user know what's happening while the zipping is happening. So, what happens if there's a large file in the download batch? Zipping takes forever and the user doesn't even know if the files will eventually get downloaded or not. And what if the user want to cancel the current batch download? No way.

Current Behavior

If I try to select multiple objects in large size and download them, the console UI doesn't say what's happening while it's zipping the selected objects. If it would take too long, I usually want to cancel it but there's NO option to do so.

Possible Solution

There're multiple ways of improving this user interaction, and here are my thoughts:

  1. Show the progress of zipping processes in the UI. After finishing the zipping, I believe the browser will handle the downloading part. Add a button that the user can cancel the current batch.
  2. If displaying the exact progress of zipping, at least show an indicator saying zipping is in progress, and add a button that the user can cancel the batch.
  3. Why zip? I guess it's for preventing too many go-routines spawned for download workers which might lead to halt or low performance. So, what if we remove zipping, and add a limitation on the number of objects that can be downloaded concurrently?

Steps to Reproduce (for bugs)

Very simple

  1. Login to console
  2. Create a bucket, upload 2-3 objects that are over 1 GB in size
  3. Select several objects and click on download
  4. How do you know zipping or something else happening? Or the zipping may fail/stuck, how do you know?

Context

This is a very common and simple use case of the console UI.

Regression

This is not a regression.

Your Environment

  • MinIO version used (minio --version): minio.exe version RELEASE.2024-03-15T01-07-19Z (commit-id=93fb7d62d80161480bac611c09a3fcab6f1196c0)
  • Server setup and configuration: ./minio.exe server F: --console-address :8080
  • Operating System and version (uname -a): MINGW64_NT-10.0-22000 HTWOO 3.3.6-341.x86_64 2022-09-05 20:28 UTC x86_64 Msys

This is not specific to the OS and the minio release version, I've been experiencing this since one year ago or more. I barely remember that this was not the same in very early versions of console UI. There was no zipping in those times.

@cesnietor cesnietor added enhancement New feature or request and removed triage labels Apr 1, 2024
@cesnietor
Copy link
Collaborator

thanks for raising @crazyoptimist, we'll take a look.
this might not be high priority for us, but please feel free to send a PR and we'll help testing it.
The second approach seems ok for a short term. but first suggested approach would be better in the long term.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants