NOTE: This document is the first cut at a status document
to track outstanding issues for the ongoing development of
Tomcat. Nothing in this document should be considered
authoritative until it has been discussed and initially
approved on the TOMCAT-DEV mailing list, at which point
this note will be removed.
Action Items List for Jakarta Tomcat
This document is a living list of the action items related to the
current and future development of the Tomcat servlet container. As such,
it focuses primarily on enhancements to existing features, as well as the
addition of new features. Bugs in the implementation of existing features
should be reported to
http://jakarta.apache.org/bugs
so that they can be tracked and fixed. The columns in this report contain
the following information:
- Priority - A sense of how important the Tomcat development
community feels it is to address this issue in the short term.
- Release - The interim or final release (such as
3.2m2
)
for which this action item is scheduled to be completed.
- Action Item - Concise description of the action item
to be completed.
- Volunteers - Names and EMAIL addresses of those developers who
have volunteered to assist in the design, implementation, testing, and
documentation of this action item's changes to Tomcat.
Additions to, subtractions from, and changes to the action items listed
here should be discussed and approved on the TOMCAT-DEV mailing list, as
described on the
Decision
Making page on the Jakarta Project web site. Developers can nominate
themselves to work on particular action items by asking a Committer to add
their name and EMAIL address to those items. The developers working on each
item should discuss and agree upon the approach to be used for implementing
the item's changes to the project source code and documentation, prior to
completing those changes. Such discussions should take place on the
TOMCAT-DEV mailing list so that everyone can stay apprised of what is going
on, or chime in if they want to contribute ideas and suggestions.
At various points in time, particular action items will be selected
and assigned to a particular interim release of Tomcat (based on lazy consensus
on the TOMCAT-DEV mailing list). At that time, the assigned release will be
recorded in this document, and the item will be listed under that release in
the current RELEASE-PLAN schedule.
For convenience, the action items have been organized into general
categories, which are presented in alphabetical order. The following
categories of actions are currently identified:
NOTE: In addition to this list of action items related to the main CVS
source branch for the jakarta-tomcat
subproject, a number of
people have expressed interest in working on the Catalina architecture.
To facilitate tracking of these efforts, a
separate STATUS document
is maintained in the proposals/catalina
subdirectory.
Architecture
Priority |
Release |
Action Item |
Volunteers |
High |
--- |
Define a Tomcat-specific Service Provider Interface (SPI)
that defines a stable API which application server and development
tool providers can use to integrate Tomcat within their products. |
Craig McClanahan |
Medium |
---- |
Discuss and agree upon the outlines of the architecture for the
core servlet container components of the next major release (4.0)
of Tomcat, which will correspond to the next versions of the Servlet
and JSP APIs. |
Craig McClanahan |
Medium |
--- |
Discuss and agree upon the outlines of the architecture for the
JSP page compiler and execution environment for the next major
release (4.0) of Tomcat, which will correspond to the next versions
of the Servlet and JSP APIs. |
Anil Vijendran |
Low |
--- |
Discuss and agree upon Tomcat distribution strategies so that users
can select a minimal "reference implementation" version of Tomcat to
validate their own containers against, or a full featured release
with all currently included functionality. |
--- and Costin Manolache |
Administration
Priority |
Release |
Action Item |
Volunteers |
High |
--- |
Add out-of-the-box functionality to install Tomcat as a
"service" under Microsoft NT. |
--- |
High |
--- |
Improve the ease of installation of Tomcat, especially on
Windows platforms by integrating it with an installation program. |
--- |
Medium |
--- |
Define functional and user interface requirements for the interactive
(servlet/JSP based) administration tool for managing running Tomcat
instances. |
--- |
Medium |
--- |
Implement interactive administration tool that fulfills the
requirements described above. |
--- |
Low |
--- |
Design an implement a tool for creating and customizing web application
deployment descriptors (i.e. web.xml files) in a
user friendly manner. |
--- |
Connectors
Priority |
Release |
Action Item |
Volunteers |
High |
--- |
Improve the performance and thread utilization of the
current HTTP/1.0 connector used by Tomcat stand-alone. |
--- |
Medium |
--- |
Design, implement, and test an HTTP/1.1 connector to be
used by Tomcat stand-alone. |
--- |
Medium |
--- |
Implement a two-way communications protocol in the Apache
connector, such that getRealPath() can respect Apache virtual
mappings, getMimeType() can respect Apache MIME type mappings,
and so on. |
--- |
Medium |
--- |
Implement a new Apache/2.0 connector whereby Tomcat can be
run "in process" instead of "out of process". |
--- and Costin Manolache |
Medium |
--- |
Ensure that all web server connectors pass sufficient information to
properly set the value returned by
ServletRequest.isSecure() and to populate the SSL
information attributes described in ... |
--- |
Containers
Priority |
Release |
Action Item |
Volunteers |
High |
--- |
Define and implement full virtual host support, including:
single-JVM configuration option, support for per-virtual-host
interceptors, and so on. |
--- and Costin Manolache |
High |
--- |
Finish the implementation and testing of FORM-based authentication
and access control. |
--- |
Medium |
--- |
Design and implement DIGEST based authentication and access
control. |
--- |
Medium |
--- |
Design and implement SSL based authentication and access
control, in a manner that minimizes installation hassles and
does not cause problems with US export controls. |
--- |
Medium |
--- |
Design and implement "single sign on" support for cross application
access with a single login, as described in Section 11 of the
Servlet API Specification Version 2.2. |
--- |
Medium |
--- |
Design and implement support for serving web applications
directly from WAR files, and/or from a URL-based document
root. Probably requires pluggable implementation of the
getResource() family of calls. |
--- |
Medium |
--- |
Refactor the implementation of RequestSecurityProvider and
SecurityCheck so that a Tomcat deployer can integrate with
their own security realm by implementing a single class,
rather than having to duplicate the code in SecurityCheck. |
--- and Costin Manolache |
Medium |
--- |
Add support for pluggable session management components, with
support for file-based, JDBC-based, JNDI-based, and possibly
other persistence mechanisms. |
--- |
Medium |
--- |
Improve the internationalization support provided in Tomcat by
factoring remaining hard-coded English message strings into
resource files, and providing translated resource files for
other languages. |
--- |
Medium |
--- |
Implement the optional web application environment support
described in Section 9.9 of the Servlet API Specification Version 2.2,
and Chapter 5 of the Java2 Platform Enterprise Edition Version 1.2
Specification. |
--- |
Medium |
--- |
More generalized implementation of logging, that allows plugins
for choosing log formatting styles. |
--- |
Medium |
--- |
Design and implement better mechanisms for Tomcat to "sandbox"
multiple web applications running in the same container, to avoid
having them interfere with each other. |
--- and Costin Manolache |
Low |
--- |
Implement instance pooling for servlets that implement the
SingleThreadModel interface. |
--- |
Low |
--- |
Fully support "absolute" document root paths on Windows that
start with a '/' or '\' character, instead of a drive letter
plus a colon. Currently, File.isAbsolute() on
Windows JVMS considers such a path to be relative. |
--- |
JSP Functionality
Priority |
Release |
Action Item |
Volunteers |
Medium |
--- |
Incorporate support for pluggable JSP page parsers. |
--- |
Medium |
--- |
Incorporate support for scripting languages other than Java,
as outlined in the JSP specification. |
--- |
Medium |
--- |
Review and optimize the performance of the servlet classes
generated by the JSP page compiler. |
--- |
Medium |
--- |
Make dependency checking a stand-alone module, and extend it to
allow complex dependency checking. Make it useable from outside
jsp, and add a "shortcut" for tocmat that will allow fast invocation
|
Anil Vijendran
Costin Manolache |
Servlet Functionality
Priority |
Release |
Action Item |
Volunteers |
High |
--- |
Add full support for WebDAV, either as servlets included in the
full-featured distribution of Tomcat, or as a separate sub-project
under Jakarta. |
--- |
Medium |
--- |
Default file-serving servlet has problems dealing with directory and
file names that contain spaces or other special characters.
[Bug ID#10, 101]. |
--- |
Low |
--- |
Integrate the Apache JSSI
project's support for embedded <servlet> tags in
.jhtml pages into the full-featured distribution of
Tomcat (assuming the Apache JSSI project group agrees), bringing it
up to date with respect to servlet API 2.2 as required. |
--- |
Low |
--- |
Add a default servlet that can serve CGI scripts and applications,
for use in Tomcat deployments not connected to a web server, or
to enable RequestDispatcher-based access to CGI scripts and
applications. |
--- |
$Id$