https://github.com/cotag/condo_example
An example Condo app
https://github.com/cotag/condo_example
Last synced: about 1 year ago
JSON representation
An example Condo app
- Host: GitHub
- URL: https://github.com/cotag/condo_example
- Owner: cotag
- Created: 2012-09-25T02:18:14.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2016-03-02T12:53:38.000Z (over 10 years ago)
- Last Synced: 2025-04-11T22:12:51.346Z (about 1 year ago)
- Language: Ruby
- Size: 222 KB
- Stars: 14
- Watchers: 6
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.textile
Awesome Lists containing this project
README
h1. Condo Example App
A basic implementation of "Condo":https://github.com/cotag/Condominios to demonstrate uploading files directly from the browser to "Amazon S3":http://aws.amazon.com/s3/ or "Google Cloud Storage":https://cloud.google.com/products/cloud-storage
* Supports drag and drop (with folders)
* Multiple uploads (can easily handle 1000's of files)
* Pause / Resume functionality (Resumable and chunked uploads are available on Amazon for files over 5MB.)
!https://raw.github.com/cotag/condo_example/master/doc/upload_screenshot.png!
h2. Usage
# Clone repository onto your system
# Edit @config/initializers/condo_providers.rb@
# Edit @app/controllers/uploads_controller.rb@
#* @set_callback :bucket_name@ should be set to an existing bucket
#* configuring your provider (see below)
# Set the required environmental variables with your providers security keys
#* As defined in condo_providers.rb
# @bundle install@
# @rake db:migrate@
# @rails server@
# Browse to: http://localhost:3000/
h3. Configuring your provider
h4. Amazon
# "Enable CORS":http://aws.typepad.com/aws/2012/08/amazon-s3-cross-origin-resource-sharing.html at the bucket level
http://localhost:3000
PUT
POST
*
*
GET
You may want to apply similar configurations programmatically in production, especially if you have a bucket per-user.
h4. Google
# Enable 'Interoperable Storage Access' on your application
# Enable CORS at the bucket level - "Googles documentation":https://developers.google.com/storage/docs/cross-origin
http://localhost:3000
GET
HEAD
POST
PUT
origin
content-md5
authorization
x-goog-date
x-goog-acl
content-type
accept
x-goog-api-version
x-goog-resumable
ETag
1800
I wrote a helper function in Condo for applying this using "Fog":http://fog.io/
h4. Rackspace
If you do want to use it you'll have to enable "temporary URLs":http://docs.rackspace.com/files/api/v1/cf-devguide/content/Create_TempURL-d1a444.html you need to set a "metadata header":http://docs.rackspace.com/files/api/v1/cf-devguide/content/Set_Account_Metadata-d1a4460.html on your account.
There is also a helper function in Condo that achieves this using Fog.
You'll also need to enable CORS: http://docs.rackspace.com/files/api/v1/cf-devguide/content/CORS_Container_Header-d1e1300.html