It would be really useful if one could select a remote folder (and therefore it's sub-folders) and then download it's entire content.
This is one for Bryan. It's been requested before, the MeshAgent would "tar" the selected files/folders and send that over as a single file. It's not really possible with browsers to download many files/folders, but using tar seems like the best way.
zip would be better, at least for us Windows users. ;-)
That is a good point. I wonder if a store-only zip would be simple for the agent to generate? One point here, the file must be generated "on-the-fly" (streaming) as the agent will read the files/folders one-by-one and send then to the browser as it goes.
I remember looking into this before. I couldn't find anything built in. The closest I found was that if the machine had 7-zip installed, it supports pipe redirection, among other things, so that you could compress on the fly.
Have you looked at the node-7z-forall package on NPM? It downloads 7-Zip binaries that don't need to be 'installed' for whatever platform (win/mac/linux) you're on, which might be useful if you do decide to use 7-Zip's streaming archive creation.
the download button in "file transfer" is also missing.
@callimmak: That's because (currently) the way to download a file is to click on its name.
I'm writing a streaming tar encoder on the agent, so we can dynamically tar and stream stuff from the agent to the server/browser.
As PathfinderNetworks says above. .zip would be nice for Windows users, as Windows doesn't have a way to open .tar files built in.
Also, if you were to use 7-Zip, it would be just as easy to add streaming .zip and .7z as .tar, and optionally compress the contents too.
@krayon007: You say you're writing a streaming tar encoder. What language are you writing it in? i.e. Will it be included as part of the MeshAgent binary? or part of the 'core' which is written in JavaScript? If JS, you might want to look at www.archiverjs.com to see if you can use it directly, or how much, if any of it could be useful in helping you write your own.
I already finished it. It's written in JS. It was pretty simple. Ylian has the bigger task of integrating it into the webux, lol. But integrating it into the core is super easy, as it exposes a readable stream, that you can than pipe to any writable stream, like a websocket stream, file stream, etc.
At some point Ylian can look into writing a module server side to transcode tar to zip, as I'm trying to avoid 3rd party dependencies on the agent side that aren't installed by default.
UZIP.js demonstrates that creating a zip can be a very small, simple bit of JavaScript too. Perhaps you could use it, or do something similar?
Most helpful comment
I already finished it. It's written in JS. It was pretty simple. Ylian has the bigger task of integrating it into the webux, lol. But integrating it into the core is super easy, as it exposes a readable stream, that you can than pipe to any writable stream, like a websocket stream, file stream, etc.