Google Storage or S3 collection


#1

Are there any packages that abstract remote file systems like Google Storage or S3 into a Collection like API?

Something like this would make it easy to manage remove files and other CRUD management operations, and to integrate with quick and dirty admin systems like meteor-admin.

Thanks


#2

That’s exactly what the CollectionFS package and all related projects (like the S3 add-on cfs:s3) were created to do. Now that the main CFS project has been deprecated however, and Meteor 1.3 supports npm, many are jumping over to use npm packages for file storage. Because of this I think our chances of seeing further development on Meteor specific file storage packages, like CollectionFS, will be quite low.


#3

Well sort of. CollectionFS as I understand it ran all file management through the Meteor (node) server. This has actually caused me trouble in the past as it would use a temp file in whatever backing store you specified, which caused trouble during startup when scaling my apps. (That’s just an implementation detail that could have been fixed in reality)

Slingshot uses auth tokens to allow the client to deliver files directly to the backing store in a secure way, without routing through the server.

What I’m looking for is something like a Collection interface (ideally it wouldn’t need to use any Mongo resources, though I suspect it would be useful to store some cached meta data there) to manage the files once they are whatever file storage service. Currently you just get a URL back after uploading a file through Slingshot. Slingshot itself doesn’t seem to offer any real management API (deleting files, listing files, etc.) unless I’ve missed it.

Ok Grow’s REST2DDP package may actually be useful here. When I get some time I’ll investigate using that. :slight_smile:


#4

Right - I was just referring to it being an abstraction layer for various remote file storage systems.

I hear you; I was hit a little while ago by the same thing, caused by this one (and it was very painful to debug):

I haven’t had a chance to use Slingshot yet, but I’ve heard great things!