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

File uploads with chunking and resumable #67

Closed
PVince81 opened this issue Mar 27, 2018 · 12 comments
Closed

File uploads with chunking and resumable #67

PVince81 opened this issue Mar 27, 2018 · 12 comments
Labels
Milestone

Comments

@PVince81
Copy link
Contributor

We should look into using http://www.resumablejs.com/ for Phoenix.

Don't pick up the old upload code from core as it uses jquery.fileupload and needs to much hacking around to make it work with our chunking.

@DeepDiver1975
Copy link
Member

We need to check if this plays well together with offline capabilities ......

ref https://blog.sicara.com/a-progressive-web-application-with-vue-js-webpack-material-design-part-3-service-workers-offline-ed3184264fd1

@PVince81
Copy link
Contributor Author

Depends if we expect uploading to be an offline capability...

@PVince81 PVince81 mentioned this issue Oct 12, 2018
17 tasks
@PVince81 PVince81 added the Category:Enhancement Add new functionality label Oct 12, 2018
@PVince81 PVince81 changed the title Uploads with resumable JS File uploads with resumable JS Oct 12, 2018
@PVince81
Copy link
Contributor Author

Estimate:

  • web UI add button + styles: 0.5md
  • actual upload without chunking: 3md
  • add chunking (PUT of chunks + final MOVE): 4md
  • simple progress bar: 0.5md
  • acceptance test: 2md ? check with QA

total: 8-10md

@PVince81
Copy link
Contributor Author

From what I see, resumable JS is using POST with multipart, which is not desired and not compatible with Webdav. We'd need to rewrite parts of resumable JS to talk our Webdav chunking protocol.

@PVince81
Copy link
Contributor Author

seems there is a way to set the method to be "PUT".
we also need a way to set headers, maybe need to intercept the XHR object unless there are early callbacks or events for setting them

Also see this old "OC bulk upload" app which was based on resumable.js: https://github.com/fmkaiser/bulkupload

@scramb
Copy link
Contributor

scramb commented Jan 17, 2019

Is this still a thing to discuss since there allready is a working upload method by now?

@michaelstingl
Copy link
Contributor

@scramb How does uploads work now? Chunked? Do they resume after being offline? Otherwise we should keep it open for a future sprint…

@DeepDiver1975
Copy link
Member

Otherwise we should keep it open for a future sprint…

yes - we need to keep this open.

@PVince81 PVince81 added this to the backlog milestone Sep 24, 2019
@PVince81 PVince81 changed the title File uploads with resumable JS File uploads with chunking Dec 17, 2019
@kulmann
Copy link
Member

kulmann commented Feb 3, 2020

Might be interesting to look into TUS protocol for resumable, chunked uploads. Implementations exist in both Golang and Javascript. Saving this here for later. https://tus.io/implementations.html

@DeepDiver1975
Copy link
Member

With the plan in mind to use the msgraph API. Please postpone this issue until WE are Set.

@PVince81
Copy link
Contributor Author

We're going to look into the TUS protocol using https://github.com/tus/tus-js-client

For prototyping, let's put the code into Phoenix directly and dynamically override the this.$client.putFileContents method when OCIS is detected (capability?)

Later on we could decide to move the function to the SDK once it's ready.

Thoughts: since we're going to pass in extra metadata like "mtime", we should pass those as part of the "options" argument and not as part of the headers, because the way of passing metadata with TUS is different than for the OC 10 approach.

@PVince81 PVince81 changed the title File uploads with chunking File uploads with chunking and resumable Apr 15, 2020
@PVince81
Copy link
Contributor Author

PVince81 commented Apr 16, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants