Dear COOKS,
Background
I've long used JoomlArt's S3/Cloudfront component to
synchronise certain
file types and
directories from my
webserver to
specific amazon S3 buckets & CloudFront distributions. There's nothing wrong with this approach at all, and in fact, it can be a very effective way of managing the automatic switching of http requests for such assets dynamically. However, the drawback of this mechanism is that;
- It relies on a 3-rd party piece of software and I would like to integrate it directly into my component
- It relies on first, storing your assets on your local webserver then synchronising them - either through a cron job or manually by sync'ing in a profile. This isn't desirable as it means you have to;
- Use unnecessary bandwidth to upload to your host first
- Use unnecessary disk space on your server - space you may not have - to upload to your web host in the first instance. Example, In a relatively small media-orientated site, I had to increase disk space from 1GB to 5GB to reduce how often I could flush my webserver's media directories not to have to a reasonable amount of time. For a component that is centred around constant upload of user-generated video/audio content, this would be an administrative nightmare and far too expensive
[/olI briefly read through some of their docs concerning remote uploading and storage of files and images (with thumbnail generation) earlier and on a positive note, it is CLEARLY POSSIBLE However, the process of integrating this functionality into a joomla component obviously adds another dimension of complexity.
Proposed Use in component
- A config table to store to store;
S3 bucket/Cloudfront Credentials to access
- CNames - allow access to the buckets my.alias.domain.com type addresses instead of d1xxxxxxxx.cloudfront.net
- Time - the length of time in mins to set the expiration time of links - securty
- + various others as required
All of which combine to allow admins to create multiple profiles with which to store/retrieve files with individual bucket policies to protect direct access to the files outside of the component
- I would also want the size of thumbnails for component specific image directories to be inherited from the component's params
I therefore wonder, does anyone have any experience of this - either straight file upload and/or images with processing - to any degree whatsoever?
Any ideas, pointers, do's & don't's greatly appreciated!
many thanks,
Gez