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

[Do not merge] Idea: Support different client implementations #107

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

yciabaud
Copy link

@yciabaud yciabaud commented May 6, 2016

I was looking for a meteor server implementation for flowjs (fork of resumable) and I found your package.

So I decided to remove all resumable client implementation and add the support for flowjs properties in the server side and I ended with a server only package compatible with both resumable and flowjs clients.

I am posting my changes here to discuss to possibility to make your package compatible with flowjs either by splitting it in server and client packages or some better way you can think about.

Any thoughts?

@vsivsi
Copy link
Owner

vsivsi commented May 6, 2016

It's an interesting idea for sure. I'm also interested in supporting the emerging tus upload protocol as well.

I did some work awhile back to make things a lot more pluggable. So now, the server-side resumable.js support is almost completely self-contained, and uses the same hooks as user-provided HTTP routes to integrate itself.

But I didn't separate it entirely because probably 50% of the devs coming to this package are fairly new to this stuff and having a turnkey / low friction / "just works" default setup for upload has been extremely valuable. As soon as you start splitting things out into too many sub-packages with weird dependencies and other interactions the whole thing can quickly become un-fun to work with (witness CollectionFS, which is no longer supported...)

Also, Am I correct in assuming that you wanted the flowjs/resumablejs backend, but not necessarily the dependency on gridFS for storage? That for me is the red-line for this package, it's a MongoDB/gridFS file management package for Meteor. That's it. If you want S3 buckets or native filesystem support, the answer is CollectionFS (or something else new).

Anyway, I'm willing to discuss, but will have very limited time in the next few months for actual implementation. I'll take a look at what you've done here over the weekend and make some more specific comments / suggestions once I've done that.

Thanks!

@yciabaud
Copy link
Author

yciabaud commented May 7, 2016

I understand your point and the consequences of splitting a package. I forked your project and wanted to have your opinion on this.

To answer your question, I want to use gridFS , I was using S3 with evaporateJS previously but now I need to process the files locally before storing it and I am looking for a robust solution to manage my uploads.

My changes on the request parameters are pretty straightforward, but I did not wanted to have the resumable dependency on the client so I removed it.

Maybe you can make your package compatible with other clients without removing resumable dependency.

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

Successfully merging this pull request may close these issues.

2 participants