You could consider the approach that I believe Shale is taking, and base the filter on Commons Chain. This lets people (a) configure only the commands they need for a given application, and (b) write additional commands to be plugged into the filter very easily.
For the issue of JavaScript files mentioned below, there are a couple of things that can be done. First off is to ensure that the browser caches the JavaScript once it has it. Secondly, a very nice trick that Isomorphic SmartClient uses is that a filter sits there waiting for requests for .js files, and looks for a corresponding .js.gz file, returning that instead if the browser supports gzip encoding. These two techniques, taken together, resulted in massive performance gains in one of our applications.
My 2 cents...
-- Martin Cooper
On Mon, 14 Mar 2005, Oliver Rossmueller wrote:
I'm no longer willing to pay the runtime penalty ExtensionFilter adds to an application (javascript files loaded over and over again, in-memory buffering of the complete response) just for the benefit of 10 minutes of saved developer time for adding the javascript stuff to the header of any jsf page.
So my plan is to split up ExtensionFilter to MultipartFilter (in the form it was before ExtensionFilter was introduced) and ExtensionFilter (just dealing with extensions stuff). Actually I would like to drop the extensions stuff completely as I don't see any benefit in having this kind of filter at hand. We could create a myfaces-resources.jar instead where we place all the image and javascript resources so it's easy to add all the resources to your war file by just adding a zipfileset tag to your build file.
Comments? Objections?
Oliver
-- Oliver Rossmueller Software Engineer and IT-Consultant Hamburg, Germany http://www.rossmueller.com
