[Catalyst] New plugin Catalyst::Plugin::ExternalURI

Jose Luis Martinez jlmartinez-lists-catalyst at capside.com
Mon Oct 21 17:05:25 GMT 2013


Hi!

	I finally got around to publishing a little plugin that we've had 
running internally for some time now: Catalyst::Plugin::ExternalURI.

	When you're working with CDNs or AWS S3 Buckets where you leave static 
files like videos, css, js, etc (to have them served from S3) and you 
have written all your links with [% c.uri_for('/static/assetX') %], this 
plugin helps you rewrite the output of c.uri_for so that it doesn't 
point back to your app server.

	One benefit is that you can upload static files to /versionX/static/, 
and have the plugin prepend the version of your application to the URIs. 
That way, when deploying a new version you don't have cache problems (as 
the URLs are different), and you don't have to do anything to your 
templates.

	Also we will have "devel mode" (the plugin will not rewrite URLs) and 
production mode, where the offloading to S3 is supposed to happen with 
something like this:

     externaluri => [
         ($ENV{'APP_MODE'} eq 'development')?{ '^/static' => '...' }:()
     ],


Hope it helps somebody. Sure did help us :)

Jose Luis Martinez
jlmartinez at capside.com



More information about the Catalyst mailing list