1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563
|
<html>
<head>
<title>Action Items List for Jakarta Tomcat</title>
</head>
<body bgcolor="white">
<div align="center">
NOTE: This document is the current cut at a status document<br>
to track outstanding issues for the ongoing development of<br>
Tomcat. Nothing in this document should be considered<br>
authoritative until it has been discussed and initially<br>
approved on the TOMCAT-DEV mailing list, at which point<br>
this note will be removed.
</div>
<div align="center"><h1>Action Items List for Jakarta Tomcat</h1></div>
<p>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
<a href="http://jakarta.apache.org/bugs">http://jakarta.apache.org/bugs</a>
so that they can be tracked and fixed. The columns in this report contain
the following information:
<ul>
<li><b>Priority</b> - A sense of how important the Tomcat development
community feels it is to address this issue in the short term.</li>
<li><b>Release</b> - The interim or final release (such as <code>3.3m2</code>)
for which this action item is scheduled to be completed.</li>
<li><b>Action Item</b> - Concise description of the action item
to be completed.</li>
<li><b>Volunteers</b> - 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.</li>
</ul>
<p>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
<a href="http://jakarta.apache.org/guidelines/decisions.html">Decision
Making</a> 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.
<p>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 <a href="RELEASE-PLAN-3.3">RELEASE-PLAN</a> schedule.
<p>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:
<ul>
<li><a href="#Architecture">Architecture</a> of major Tomcat components
<li><a href="#Administration">Administration</a> application and tools
<li><a href="#Connectors">Connectors</a> to web servers and HTTP clients
<li><a href="#Containers">Containers</a> in the Tomcat core engine
<li><a href="#JSP">JSP</a> functionality enhancements
<li><a href="#Performance">Performance</a> improvements
<li><a href="#Release">Release</a> preparation items
<li><a href="#Future">Ideas</a> for the future
</ul>
<br><br>
<div align="center"><hr width="75%"</div>
<br>
<a name="Architecture"></a>
<div align="center"><h1>Architecture</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>3.3m1</td>
<td>Refactoring of existing code to improve the flexibility of Tomcat
and minimize the amount of spaghetti code to help readability and
maintainability. Though listed separately, some of the performance
improvements come about as part of this refactoring effort.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>High</td>
<td>3.3m1</td>
<td>Separate the Servlet 2.2/JSP 1.1 API implementation from the Tomcat's core
classes through the use of a facade. If implemented properly, bug fixing
of Servlet 2.2/JSP 1.1 bugs should only affect the facade and not the
core Tomcat classes.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Implement per context interceptors.</td>
<td><a href="mailto:nacho@siapi.es">Ignacio Ortega</a></td>
</tr>
</table>
<a name="Administration"></a>
<div align="center"><h1>Administration</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>3.2</td>
<td>Add out-of-the-box functionality to install Tomcat as a
"service" under Microsoft NT.</td>
<td><a href="mailto:shachor@il.ibm.com">Gal Shachor</a> </td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Separate Tomcat classes into appropriate jar files to facilitate Tomcat's
use in different environments. For example, if used in an embedded
environment, the jar containing the Tomcat startup classes may be
left out of the classpath.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>High</td>
<td>3.3b1</td>
<td>Add usability enhancements. This would include making Tomcat easier to
configure, providing better error messages, and adding more documentation
on module options. Also, try to update /admin to provide better
monitoring of the running Tomcat.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
</table>
<a name="Connectors"></a>
<div align="center"><h1>Connectors</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>3.3m1</td>
<td>Improve the performance and thread utilization of the
current HTTP/1.0 connector used by Tomcat stand-alone.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
</table>
<a name="Containers"></a>
<div align="center"><h1>Containers</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>3.2</td>
<td>Finish the implementation and testing of FORM-based authentication
and access control.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>3.2</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>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.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Add support for pluggable session management components, with
support for file-based, JDBC-based, JNDI-based, and possibly
other persistence mechanisms.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
</table>
<a name="JSP"></a>
<div align="center"><h1>JSP Functionality</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Incorporate support for pluggable JSP page parsers.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>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 Tomcat that will allow fast invocation
</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
</table>
<a name="Performance"></a>
<div align="center"><h1>Performance Improvements</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Use pooling and recycling where possible.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Use introspection to determine which methods are implemented by an
interceptor so only those interceptors which implement a method are
called.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>Medium</td>
<td>3.3m1</td>
<td>Wider use of MessageBytes to help minimize string garbage.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
</table>
<a name="Release"></a>
<div align="center"><h1>Release Preparation</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>3.3m1</td>
<td>Simplify running of Tomcat's internal test and Watchdog to encourage
wider use of these tests. If possible, create a user document describing
how a user can develop a new test to test their own web application. If
user created tests are simple enough, we will get better verification that
the bug fixes succeed and stay fixed.</td>
<td><a href="mailto:costin@eng.sun.com">Costin Manolache</a></td>
</tr>
<tr>
<td>High</td>
<td>ongoing</td>
<td>Build a Bug List of the bugs that need to be fixed. These bugs will come from
scanning the BugRat database and feedback from the field.</td>
<td><a href="mailto:Larry.Isaacs@sas.com">Larry Isaacs</a> and volunteers</td>
</tr>
<tr>
<td>High</td>
<td>ongoing</td>
<td>Perform testing of Tomcat. This includes testing Tomcat standalone as
well as with other web servers. Verify that bugs in the Bug List are fixed
on various platforms.</td>
<td>Testing volunteers</td>
</tr>
<tr>
<td>High</td>
<td>ongoing</td>
<td>Commit patches and changes to CVS to fix bugs and other issues </td>
<td>Committers</td>
</tr>
<tr>
<td>High</td>
<td>ongoing</td>
<td>Code review and improve code documentation. All unfinished implementation
that can be identified, often marked with "XXX" in a comment, needs to
be examined to determine if its completion is required by the release
standard.</td>
<td>Code review volunteers</td>
</tr>
<tr>
<td>High</td>
<td>3.3final</td>
<td>Add and improve user documentation. Documentation in both binary and
source distribution needs to be addressed.</td>
<td>Documentation volunteers</td>
</tr>
<tr>
<td>High</td>
<td>3.3final</td>
<td>Security holes opened to facilitate development and testing need to be
closed prior to final release. Any additional security holes that are
identified need to be addressed.</td>
<td>---</td>
</tr>
</table>
<a name="Future"></a>
<div align="center"><h1>Ideas For The Future</h1></div>
<table border="1" width="100%">
<tr>
<th width="10%">Priority</th>
<th width="10%">Release</th>
<th width="50%">Action Item</th>
<th width="30%">Volunteers</th>
</tr>
<tr>
<td>High</td>
<td>---</td>
<td>Define a Tomcat-specific <i>Service Provider Interface</i> (SPI)
that defines a stable API which application server and development
tool providers can use to integrate Tomcat within their products.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>High</td>
<td>---</td>
<td>Improve the ease of installation of Tomcat, especially on
Windows platforms by integrating it with an installation program.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Define functional and user interface requirements for the interactive
(servlet/JSP based) administration tool for managing running Tomcat
instances.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Implement interactive administration tool that fulfills the
requirements described above.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>Design an implement a tool for creating and customizing web application
deployment descriptors (i.e. <code>web.xml</code> files) in a
user friendly manner.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Design, implement, and test an HTTP/1.1 connector to be
used by Tomcat stand-alone.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Implement a new Apache/2.0 connector whereby Tomcat can be
run "in process" instead of "out of process".</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Ensure that all web server connectors pass sufficient information to
properly set the value returned by
<code>ServletRequest.isSecure()</code> and to populate the SSL
information attributes described in ...</td>
<td>---</td>
</tr>
<tr>
<td>High</td>
<td>---</td>
<td>Define and implement full virtual host support, including:
single-JVM configuration option, support for per-virtual-host
interceptors, and so on.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Design and implement DIGEST based authentication and access
control.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Implement the optional <i>web application environment</i> 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.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>More generalized implementation of logging, that allows plugins
for choosing log formatting styles.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>Implement instance pooling for servlets that implement the
<code>SingleThreadModel</code> interface.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>Fully support "absolute" document root paths on Windows that
start with a '/' or '\' character, instead of a drive letter
plus a colon. Currently, <code>File.isAbsolute()</code> on
Windows JVMS considers such a path to be relative.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Incorporate support for scripting languages other than Java,
as outlined in the JSP specification.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Review and optimize the performance of the servlet classes
generated by the JSP page compiler.</td>
<td>---</td>
</tr>
<tr>
<td>High</td>
<td>---</td>
<td>Add full support for WebDAV, either as servlets included in the
full-featured distribution of Tomcat, or as a separate sub-project
under Jakarta.</td>
<td>---</td>
</tr>
<tr>
<td>Medium</td>
<td>---</td>
<td>Default file-serving servlet has problems dealing with directory and
file names that contain spaces or other special characters.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>Integrate the <a href="http://java.apache.org/jservssi">Apache JSSI</a>
project's support for embedded <code><servlet></code> tags in
<code>.jhtml</code> 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.</td>
<td>---</td>
</tr>
<tr>
<td>Low</td>
<td>---</td>
<td>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.</td>
<td>---</td>
</tr>
</table>
<br>
<div align="center"><hr width="75%"><font size="2">
$Id: STATUS.html,v 1.11 2001/01/27 18:42:26 larryi Exp $
</font></div>
</body>
</html>
|