Take a look at CE Image.
Can implement dynamic resizing based on request (use segment variables or GET variables for the dimension parameters on the CE Image template tag).
Will save manipulated images to Amazon S3.
Can be used in conjunction with Channel Images (just don't bother with the Channel Image's resizing feature and rely completely on CE Image ...
When updating files connected to a CloudFront distribution you can speed up the required waiting period by invalidating the modified files. In many cases this reduces the waiting period to update CloudFront edge locations from days to under an hour.
A good way to do this is to cache the output of the tag. You can use built-in EE tag caching or something like CE cache, either with fragment caching or full page static. This way you're getting the resized URL and CE Image doesn't keep hitting S3.
We've had extremely high traffic sites where we actually create a local redis key/value store to keep track ...
I know this issue has been addressed multiple times in the support forums (and possibly already on EE Stack Exchange), but hopefully answering here too will be helpful to others down the road:
The long URLs are the automatic naming convention that CE image uses to prevent naming conflicts, and to mitigate the possibility of overwriting images. However, you ...
There's no hook for this in Assets, so you'd have to hack the add-on to add it.
Look at line 821 of sources/s3/source.s3.php ... right after this line:
$headers = array();
You can add something like:
$ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION));
if($ext == 'pdf')
$headers['Content-Disposition'] = 'attachment';
Of course, this isn'...
We've been working like maniacs to hit a deadline on this project, and hadn't had time to deploy the updated version of Assets that P&T's support quickly provided; although I did notice yesterday that the file I was testing this issue with had updated... apparently it just took a few days.
I strongly suspect this was a problem for us because we're using ...
Assets recently added support for setting bucket names in config.php, like this:
$config['assets_source_settings'] = array(
1 => array (
'access_key_id' => 'key-id-goes-here',
'secret_access_key' => 'secret-key-goes-here',
'bucket' => 'bucket-name-goes-here'
That by itself should be sufficient to ...
You could mount s3 using s3fs-fuse^ onto your structure, so EE would experience it as a local file-system and the URL could be the s3 bucket URL.
Another way is to use aws s3 sync^^ to synchronise the upload/media folder with s3, that way EE just uses the local file-system and your visitors use s3.