-
Notifications
You must be signed in to change notification settings - Fork 2
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
Austenem/CAT-983 MVP Bulk File Download #3604
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Some minor notes to begin; I will pull the branch down to test more thoroughly tomorrow.
context/app/static/js/components/bulkDownload/bulkDownloadFormFields.ts
Outdated
Show resolved
Hide resolved
const datasetQuery = { | ||
query: getIDsQuery([...uuids]), | ||
_source: ['hubmap_id', 'processing', 'uuid', 'files', 'processing_type'], | ||
size: 1000, | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems potentially worthwhile to put this into a useMemo
to avoid recalculating it unless the uuids change.
This raised some other questions for me:
- Is there an upper bound to how many datasets can be selected for bulk download at once?
- If so, are we communicating this to users?
- If the limit is higher than 1,000, could we increase the size to
10_000
to handle selections of >1,000 datasets? We could also usesize: uuids.size()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good point and I like the suggestion of using size: uuids.size()
- in regard to an upper bound, we haven't discussed this as far as I know. The load time for the dialog is definitely noticeable after a few hundred datasets, so it seems like some additional messaging should be provided to users who have selected a large number of datasets (maybe an alert similar to the one used in the workspaces dialog) letting them know about the wait time. @tsliaw what do you think?
One minor issue I noticed while testing: the "download" button as soon as the page loads shows a "files are not available" view: Screen.Recording.2024-11-14.134655.mp4Perhaps we could disable the "download" button and show a loading message on hover if
|
Summary
First iteration of the Bulk Download dialog, which adds a dialog to the Search, Publication, and Collection pages that generates a download manifest for files from selected datasets. An option to download the corresponding dataset metadata is also included.
In this iteration, all files from selected datasets must be downloaded; in an upcoming iteration, the dialog will include an "Advanced Selection" accordion that will allow users to select specific file types from centrally processed datasets.
Design Documentation/Original Tickets
CAT-983 Jira ticket
Figma mockups
Testing
Tested the following cases:
General
Search page
Collection pages
Publication pages
Screenshots/Video
Search
Screen.Recording.2024-11-13.at.3.22.05.PM.mov
Collections
Publications
Error cases
No available files:
Protected datasets selected:
Download failure:
Checklist
CHANGELOG-your-feature-name-here.md
is present in the root directory, describing the change(s) in full sentences.