vsivsi:orion-file-collection

MongoDB gridFS support for orionjs:filesystem


License
MIT
Install
meteor add vsivsi:orion-file-collection@=0.2.4

Documentation

file-collection Storage Provider for Orion Filesystem

Installation

Install the package

meteor add vsivsi:orion-file-collection

Details

This package uses the Meteor vsivsi:file-collection package to provide file upload and storage for the Orion CMS in the mongoDB instance using gridFS.

Built-in Chunked upload support is provided using the stable and popular resumable.js library.

In this initial version, there are no rules limiting the type or size of files, or restricting the roles of users to upload and remove files.

Why file-collection?

This package was inspired by another Orion filesystem gridFS package orion-gridFS, but differs significantly in implementation, as that package uses CollectionFS instead of file-collection.

file-collection differs from CollectionFS in that it exclusively and directly supports MongoDB gridFS, whereas CollectionFS supports a variety of backing stores as well as many other powerful features.

This difference is significant in that file-collection is a much lighter weight package, and is able to be more efficient by eliminating the generality and indirection that CollectionFS requires to support multiple storage technologies. For example, CollectionFS maintains six MongoDB collections to support gridFS, but file-collection only uses three: one for file locking (which CollectionFS doesn't support), and the other two to implement gridFS itself. Likewise, CollectionFS always needs to copy file data after it is uploaded, where file-collection does not because it is streamed directly into the form that gridFS expects.

This is not to bash on CollectionFS, it is a great and feature filled package that is justifiably very popular, but given that Orion's filesystem package already provides a general abstraction for files within the CMS, the additional generality provided by CollectionFS is largely wasted in this application. And that generality doesn't come cheaply... Below is the list of packages that are added to your application when orion-gridFS + CollectionFS are added!

brightbind:orion-gridfs  added, version 0.1.0
cfs:access-point         added, version 0.1.49
cfs:base-package         added, version 0.0.30
cfs:collection           added, version 0.5.5
cfs:collection-filters   added, version 0.2.4
cfs:data-man             added, version 0.0.6
cfs:file                 added, version 0.1.17
cfs:gridfs               added, version 0.0.33
cfs:http-methods         added, version 0.0.29
cfs:http-publish         added, version 0.0.13
cfs:power-queue          added, version 0.9.11
cfs:reactive-list        added, version 0.0.9
cfs:reactive-property    added, version 0.0.4
cfs:standard-packages    added, version 0.5.9
cfs:storage-adapter      added, version 0.2.2
cfs:tempstore            added, version 0.1.5
cfs:upload-http          added, version 0.0.20
cfs:worker               added, version 0.1.4
mongo-livedata           added, version 1.0.8
raix:eventemitter        added, version 0.1.2

This orion-file-collection package adds only the necessary two:

vsivsi:file-collection        added, version 1.1.1
vsivsi:orion-file-collection  added, version 0.1.0