The File Portlet was long overdue for a rehaul. Now that full Portlet API 2.0 support is in place, we can make use of 2.0 features in the implementation. Slimmed down the impl to support the most important cases from users over time such as language support, configurable storing of content in webapp or file system, and file server pipeline. The file server pipeline has been decoupled from jetspeed so that a standard portlet request attribute passed on from the portal can be used to locate a file. This is useful for file server pipelines (like in Jetspeed) but is not limited to Jetspeed portal or coupled to Jetspeed in any way.