myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jakob Korherr <jakob.korh...@gmail.com>
Subject Advanced JSF 2 ResourceHandler for MyFaces commons
Date Wed, 23 Feb 2011 12:16:29 GMT
Hi guys,

I developed a custom JSF 2 ResourceHandler for one of my current
projects and I want to "donate" it to MyFaces commons (JSF 2 branch).

The features of this ResourceHandler include the following:
  - relative paths between resources (css files referencing images
without using #resource['..'])
  - caching resources in the client (disabled if ProjectStage == Development)
  - GZIP compression and local cache in tmp dir (disabled if
ProjectStage == Development)
  - i18n (supporting country code and language).

In addition, it does NOT support ValueExpressions in resource files
for performance reasons.

The most important feature, in my opinion, is how the resource URL is
built, e.g. /faces/javax.faces.resource/de_AT/$/some/library/$/my/resource.css

... because it permits resources referencing other resources without
#{resource['...']} (e.g. css files referencing images or other css
files). With the standard ResourceHandler this is 1) annoying if you
have to change the files you get from your designer and 2) a
performance bottleneck, because resources with ValueExpressions are
not cached and also regenerated for each request.

Furthermore, the resource URL contains the locale and thus you have no
problems with cached resources if a users changes the locale, because
he/she will get a new URL and thus a new resource (the right one).

I'd like to commit the code as a new module on the JSF 2 branch of
MyFaces commons. Are there any objections?

Regards,
Jakob

-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at

Mime
View raw message