On Sat, Jan 12, 2013 at 5:57 PM, Howard Lewis Ship <[email protected]> wrote:

> I'm part of the way through CSS aggregation and I've got the code that
> handles URL rewriting inside CSS files.
> At this point, I can see changing the version number incorporated into
> /asset URLs to be per-asset, rather than the application version number;
> the version number would be a MD5 or SHA1 hash of the (uncompressed)
> content of the file.
>

Presumably you'd calculate the hash on first access to the asset? Would you
keep the hash memory for subsequent request? That's potentially a lot of
small items to be kept in memory. I still think that the easiest option
would be to use a module specific version - if module supplies one, you use
that (and only that), otherwise the application version.

Kalle



> This would be great, as it means that an upgrade of the application to a
> new deployment, with a proper new application version number, would NOT
> invalidate the vast majority of assets: those assets that have not changed
> will maintain a consistent URL, and likely be already cached in end-user's
> browsers.
>
> Unfortunately, I have yet to come up with a reasonable way to accomplish
> the same thing for AMD modules ... but I'm working on it.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>

Reply via email to