Proposal for Commons Filters Package (hope I did this right!)

Rationale
---------
I frequently see questions asked on the Struts Users and Tomcat Users
lists that result in the answer "write a servlet filter for it".  There
are many functions which it would be nice to have available in a filter in
a flexible, independant way, things that can be reused across many
projects without being tied to a particular framework or server.

With this in mind, I propose a new Commons Filters package. 
Alternatively, this could be a new component under the Commons Servlets
package, but that package would need to move in to the sandbox I believe. 
I am open to either approach, although I prefer the first.


Scope of the package
--------------------
Any function which can be used independant of a given framework or app
server might be eligible.  By way of example, the following are some
filters I have written and which might make good candidates:

* CacheControlFilter - This allows for control of setting cache headers,
similar to the Struts RequestProcessor's cachecontrol setting, but in a
more fine-grained manner.

* AppAvailabilityFilter - This allows a developer to determine if an
application is available to users based on a defined "availability
window".

* InvalidUserRedirectFilter - This allows for redirection to a defined
page when a particular attribute is not found in session.


Interaction with other packages
-------------------------------
Commons Logging would be used for all logging functionality, and Commons
Digester would be used for any configuration file parsing that a filter
might require.

I would be willing to provide at least a few initial filters to get the
codebase going.  I am reasonably sure others will contribute their work
quickly.


Identify the base name for the package
--------------------------------------
org.apache.commons.filters

Perhaps org.apache.commons.servletfilters might be more appropriate, or if
put under the Servlets package then org.apache.commons.servlet.filters
would be the name.


Identify the coding conventions for this package
------------------------------------------------
The code would use the Sun Standard coding conventions (mostly!).


Identify any Jakarta-Commons resources to be created
----------------------------------------------------
* Mailing list - Commons dev/user lists would be used, I do not envision
this ever requiring its own list.  Besides, I agree with the concept that
all Commons projects should probably use the same two lists to achieve
maximum benefit of a "Commons" project philosophy.

* CVS repository - Probably a root branch of the Jakarta-Commons CVS?  I
leave this to those that know more than me to decide!

* Bugzilla - The package should be listed as a component of under the
Jakarta-Commons Bugzilla entry.


Identify the initial set of committers to be listed in the Status File
----------------------------------------------------------------------
Frank W. Zammetti, although I'm not sure I *can* be listed because I have
no present involvement under Apache officially and I don't know what the
rules/requirements are, so again I leave this to those that know more than
me to decide... as long as I am involved in some fashion I'm OK with it.


-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to