Home

This document is a living list of the action items related to the current development of the Catalina servlet container architecture for Tomcat 4.0.

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.
- Action Item - Concise description of the action item to be completed. Where relevant, Java package names of the primary classes involved are listed in [square brackets]
- 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.

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:

- Architecture of the overall server
- Connectors to web servers and HTTP clients
- Core servlet engine functionality
- Server Administration functionality
- Servlet provided functionality
- Session Management functionality
- Utility component functionality
- Valve provided functionality

# Architecture

Priority | Action Item | Volunteers
--- | --- | ---
Medium | Define extensions (if necessary) to the Catalina architecture to support distributed, load-balanced, servlet containers. | Craig McClanahan
Medium | Improve the manageability of Catalina components by adding support classes and interfaces as necessary to meet the requirements of the Java Management Extensions (JMX) specification. | Remy Maucherat
Medium | Improve the manageability of Catalina components by adding support classes and interfaces as necessary to meet the requirements of the Avalon framework. | ---
Low | Define and provide default implementations for logging of server related events and messages, as opposed to the application-level logging provided by `Logger` implementations. [org.apache.catalina.syslog?] | ---

# Connectors

Priority | Action Item | Volunteers
--- | --- | ---
High | Design and implement a high-performance Connector implementation that interoperates with the existing `mod_jk` infrastructure of Tomcat 3.2, to provide either in-process or out-of-process servlet/JSP support for Apache (2.0 required for in-process), Microsoft IIS, Netscape iPlanet, and AOLServer. [org.apache.catalina.connector.modjk] | Pier Fumigalli

# Core Servlet Engine Functionality

Priority | Action Item | Volunteers
--- | --- | ---
High | Implement the Tomcat 3.x feature of being able to configure a security policy for each deployed web application. | Glenn Nielsen
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. | ---

# Server Administration Functionality

Priority | Action Item | Volunteers
--- | --- | ---
Medium | Design and implement a web application providing server management support for a running Catalina installation. [org.apache.catalina.admin] | John Shin
Medium | Improve the ease of installation (and the quality of installation documentation) through the use of installer program technology. | ---
Low | Port out-of-the-box functionality to install Catalina as a "service" under Microsoft NT, based on the existing code used for Tomcat 3.2. [org.apache.catalina.startup] | ---

# Servlet Provided Functionality

Priority | Action Item | Volunteers
--- | --- | ---
Low | Design and implement a servlet that supports interpretation of web-server-like "server side include" directives, typically found in `*.shtml` files. [org.apache.catalina.servlets] | ---
Low | Design and implement a servlet that supports interpretation of `<servlet>` directives, typically found in `*.jhtml` files. [org.apache.catalina.servlets] | ---
Low | Design and implement a CGI emulation servlet for Catalina. [org.apache.catalina.servlets] | Martin T. Dengler

# Session Management Functionality

Priority | Action Item | Volunteers
--- | --- | ---
Medium | Design and implement a `Manager` implementation that supports swapping of active, but idle, sessions to persistent storage via a suitably configured `Store` implementation. [org.apache.catalina.session] | ---
Medium | Finish design and implementation of a filesystem-based `Store` implementation. [org.apache.catalina.session] | ---
Medium | Design and implement a JDBC-based `Store` implementation. [org.apache.catalina.session] | ---
Medium | Design and implement a `Store` implementation based on JavaSpaces and/or IBM's TSpaces frameworks. | Jim Cook

# Utility Component Functionality

Priority | Action Item | Volunteers
--- | --- | ---
Medium | Design and implement a `Realm` implementation that accesses authentication and role information from a JNDI-accessed directory server. [org.apache.catalina.realm] | James W.
Medium | Design and implement a `Resources` implementation that interacts with a web server Connector (such as the one for Apache) to access web server resources through the connection protocol, rather than as disk files. | ---
Low | In `LoggerBase`, add support for optional "decoration" of logged messages with XML elements. [org.apache.catalina.logger] | ---

# Valve Provided Functionality

Priority | Action Item | Volunteers
--- | --- | ---
Medium | Design and implement support for SSL/TLS based authentication. [org.apache.catalina.authenticator] | John Shin
Medium | Extend the authentication implementations to operate at the `Engine` or `Host` level of the `Container` hierarchy, not just the `Context` level, to provide "single sign on" support. | ---
Low | In `AccessLogValve`, implement parsing and pattern matching for more complete emulation of Apache's custom log generation capabilities. | ---
Low | Design and implement a valve that provides functional support corresponding to the Apache server directives `Alias` and `AliasMatch` that support mapping of document trees to be mapped to different locations within the document root. [org.apache.catalina.valves.AliasValve] | ---
Low | Design and implement a valve that provides functional support corresponding to the Apache server directives `Redirect`, `RedirectMatch`, and `RedirectTemp` that support temporary or permanent redirection of matching requests to different locations. [org.apache.catalina.valves.RedirectValve] | ---
Low | Design and implement a valve that provides functional support similar to the Apache server `Rewrite` family of directives that support transformations on the request URI. [org.apache.catalina.valves.RewriteValve] | ---
Low | Improve security of the HTTP DIGEST authentication implementation. [org.apache.catalina.security] | Remy Maucherat

$Id: todo.html,v 1.4 2001/02/19 01:05:52 craigmcc Exp $