NCEAS / metacatui

MetacatUI: A client-side web interface for DataONE data repositories
https://nceas.github.io/metacatui
Apache License 2.0
42 stars 28 forks source link

Enable scripted downloads for large packages with many files #79

Open csjx opened 7 years ago

csjx commented 7 years ago

We currently have a Download All button that allows a user to download all files in a package a a zip archive. This works, but has limitations on the server side constructing large packages (see https://projects.ecoinformatics.org/ecoinfo/issues/7178). A second option would be to assemble a script for the scientist to run on their local machine. The script would need to embed the JWT token and call MN.get() for all of the package files, and save them to a folder. We could consider bash, DOS, python, R, and Matlab versions. To get the script, we might make the Download All button a dropdown, with:

Needs some design thought on how to deliver the script. Copy to clipboard automatically? Provide a temporary link?

amoeba commented 7 years ago

I envision a large modal dialog with tabs for different delivery formats (sh/wget/py/R) with click-to-copy. And should the script ask the CN for the objects via resolve instead of asking the MN?

csjx commented 7 years ago

Yeah, I like the modal dialog idea - we're going to need some room to explain running scripts. And I'd expect we'd be calling CN.resolve(), although that brings up the question of token forwarding in the redirect. Maybe it Just Works™.