Hi Hans,
> for <servlet> tags and NCSA SSI directives, I decided to port Apache
> JSSI to Tomcat. Now it's basically done for TC 3.2, and the question is
> what to do with it ;-)
> 1) Make this a new Jakarta subproject, named jakarta-jssi.
> The reason for this is that it's an optional module and it can
> live its own life outside the container development.
+1 - but I would like more a "generic" name ( jakarta-jsse - java server
side extensions ). JSSI seems a small project and it may not be worth the
overhead of a top level modules.
That will reduce the pressure on tomcat for developing feature-isms and
non-standard extensions, and will keep it more focused on strict
implementation of the servlet API. The extensions could be developed
independent of tomcat, and maybe will be reused in other containers. As an
additional benefit, people will not confuse "extensions" with
"standards" :-)
> 2) Support only for TC 3.2 initially
+1
> 3) Package structure (for TC 3.2 version)
> In order to integrate with Tomcat's Context and ServletWrapper classes
> (for servlet loading and execution), the JSSI classes should be in
> org.apache.tomcat.* packages, and at least one of them must be in the
> org.apache.tomcat.facade package specifically. Keeping basically the
> original internal package structure but adjusted to Tomcat, I suggest
> the following packages:
>
> org.apache.tomcat.facade
> One class (ServletTagHandler)
> org.apache.tomcat.ssi
> Main classes
> org.apache.tomcat.ssi.util
> SGMLTag
> org.apache.tomcat.ssi.io
> PositionReader
My preference would be org.apache.ssi ( no tomcat in package ).
Reason - other containers could use it. Tomcat is an implementation of the
servlet API, we should use the package only for that :-)
The facade class should be in a different directory ( something like
src/share, src/tomcat32_integration, src/jserc, ... ), and we should
help people to create code to integrate with other servlet containers.
One comment about the "facade" class - the plan is ( sometime in 3.3 ) to
"seal" the facade package. There are many security implications, the
facade is a critical component for tomcat's security. This shouldn't be
a big problem, but an oportunity to learn and maybe provide better hooks
for applications like that :-)
Costin