Skip to content

Conversation

@prakashsvmx
Copy link
Member

@prakashsvmx prakashsvmx commented Jul 27, 2023

Current implementation:
Currently if the user selects multiple files and clicks download, each file is download individually.

This PR enhances the download experience.
When multiple objects/prefixes are selected and download is clicked perform the download as zip.

This PR is inspired by the prefix download as zip

Note:
It would ignore deleted objects if any selected via "Show deleted objects" option

@prakashsvmx prakashsvmx self-assigned this Jul 27, 2023
@prakashsvmx prakashsvmx changed the title download multiple object selection as zip ignoring any prefixes and del markers feat: download multiple object selection as zip ignoring any prefixes and del markers Jul 28, 2023
@cesnietor
Copy link
Collaborator

What issue is this solving @prakashsvmx ?
adding @reivaj05 as a reviewer since he did some work on the download feature.

@cesnietor cesnietor requested a review from reivaj05 July 28, 2023 17:14
@prakashsvmx prakashsvmx force-pushed the multi-sel-dl-zip branch 2 times, most recently from 0ec1897 to 35ba64e Compare July 31, 2023 07:05
@prakashsvmx prakashsvmx changed the title feat: download multiple object selection as zip ignoring any prefixes and del markers feat: download multiple object selection as zip and each prefix as zip ignoring any deleted objects selected Jul 31, 2023
@prakashsvmx
Copy link
Member Author

prakashsvmx commented Jul 31, 2023

@cesnietor
the current implementation of download makes multiple files to download individually.

Video of current multi select download implementation
Current_Download_Impl.mp4

With this implementation, if user selects multiple objects/prefixes and clicks download, all selected objects would be download as single zip.

@prakashsvmx prakashsvmx marked this pull request as ready for review July 31, 2023 07:17
@harshavardhana
Copy link
Member

should we not be downloading all files in a single zip?

@prakashsvmx
Copy link
Member Author

prakashsvmx commented Jul 31, 2023

@harshavardhana the prefixes can be large so i have taken this approach to download them individually.

Also it would require listing. as the client ( console ui) does not have the objects list under a prefix.

Currently the prefixes are downloaded as zip.

@harshavardhana
Copy link
Member

@harshavardhana the prefixes can be large so i have taken this approach to download them individually.

Also it would require listing. as the client ( console ui) does not have the objects list under a prefix.

Currently the prefixes are downloaded as zip.

if we are going to do this on client side for prefix, I think doing this on server side is better.

@prakashsvmx
Copy link
Member Author

Thank you for the guidance @harshavardhana .
I will explore this further.

@harshavardhana
Copy link
Member

So basically ask MinIO to give you a zip result "streaming" result @prakashsvmx

@prakashsvmx prakashsvmx marked this pull request as draft August 1, 2023 05:03
@prakashsvmx prakashsvmx changed the title feat: download multiple object selection as zip and each prefix as zip ignoring any deleted objects selected feat: download multiple object selection as zip ignoring any deleted objects selected Aug 1, 2023
@prakashsvmx prakashsvmx force-pushed the multi-sel-dl-zip branch 2 times, most recently from d67ccc6 to b151aaf Compare August 1, 2023 10:41
@prakashsvmx prakashsvmx marked this pull request as ready for review August 1, 2023 12:04
Copy link
Collaborator

@bexsoft bexsoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested, it works fine, It would be nice to display the download progress in the Upload / Download manager as well

@cesnietor
Copy link
Collaborator

Thanks for adding tests

Copy link
Collaborator

@cesnietor cesnietor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bexsoft bexsoft merged commit b968cc2 into minio:master Aug 3, 2023
@djwfyi djwfyi mentioned this pull request Aug 9, 2023
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants