OK, at Craig's request, here's the current Table of Contents for Tomcat 
docs.  (I wrote a program to convert *** to 1.2.3. format so it's easier 
to read.)

It just occured to me that maybe the TOC will be applicable to both 
versions (3 vs 4), even though the content of each chapter will be 
completely different. I think there's actually value in synchronizing 
the TOCs of two different books, though maybe I'm just being weird :-)

-- 
Alex Chaffee                       mailto:[EMAIL PROTECTED]
jGuru - Java News and FAQs         http://www.jguru.com/alex/
Creator of Gamelan                 http://www.gamelan.com/
Founder of Purple Technology       http://www.purpletech.com/
Curator of Stinky Art Collective   http://www.stinky.com/
This document Copyright (C) 2001 by Alex Chaffee.  All rights
reserved.  Permission is granted for the Apache project to incorporate
it in whole or in part into their documentation.


Part 0:  Editorial Notes

The "installation" unit is the most crucial. I think there should be a
chapter or series of chapters on installing Tomcat standalone, that
covers *everything* or almost everything start-to-finish. Then we also
need separate chapters for installing behind each Web server. Then
come chapters on administration and advanced configuration issues.

We should make it clear that it is *HIGHLY* recommended to install
standalone first. This will help the users debug their setups. It will
also help us organize the docs. Each "behind" chapter will assume
you've read the "standalone" chapter(s).

http://jakarta.apache.org/tomcat/tomcat-3.3-doc/appdev/deployment.html
is very well organized and would be great as a "Web Application
Developer's Guide"

Should we actually organize Part I and Part II as parts of a larger
Installation Guide, as in 


Part I:  Installation Guide

Covers installing Tomcat.  Separate instructions (sidebars?) for
Windows 9x, Windows NT, Linux, Solaris, Other Unixes, Mac OS.
Separate instructions for standalone vs. plug-in.  Separate
instructions for Tomcat 3.x vs 4.x.


1. Overview

Big picture, 30,000 foot view.

1.1. Diagram of all the parts of Tomcat 
1.1.1. Servlet Container
1.1.1.1. Directories
1.1.1.2. Config files
1.1.1.3. Web apps
1.1.1.4. Connectors

1.2. Basic terms
1.2.1. servlet
1.2.2. web app
1.2.3. see glossary [in fact, maybe this whole section should be removed
in favor of the appendix]


2. Pre-Installation

Covers what to do before you "actually" install Tomcat. 

2.1. DIAGRAM: Flowchart of installation steps 
2.1.1. Choose OS
2.1.2. Install Java
2.1.3. Download Tomcat
2.1.4. etc.

2.2. HIGHLY recommended to install standalone first

We should make it clear that it is *HIGHLY* recommended to install
standalone first. This will help the users debug their setups. It will
also help us organize the docs. Each "behind" chapter will assume
you've read the "standalone" chapter(s).

2.3. Choosing an OS

Religious rants here :-)

2.4. Installing Java

How to install a JDK or JRE on your target platform.  It might make
sense to break this out into separate chapters per platform, if it
turns out a lot of the information is different.

2.4.1. Downloading JDK
2.4.2. Setting environment variables
2.4.3. Setting class path (see Tomcat Classpath section)
2.4.4. OS Issues

2.5. Choosing a Tomcat Version
2.5.1. 3.x vs. 4.x
    [ see also "Development:3.x vs 4.x" chapter ]
2.5.2. 3.1 vs 3.2 vs 3.3
2.5.3. 4.0 status

2.6. Downloading Tomcat
2.6.1. Binary distribution
2.6.2. Source distribution
2.6.3. CVS (see "developing" section)


3. Installation Standalone

This section covers the basic steps of installing Tomcat as a
standalone application.  It is the core of the Installation Guide.
Everyone who reads the later chapters is expected to have read these,
and to have a working standalone install before going and installing
behind the Web server.  

3.1. HIGHLY recommended to install standalone first

3.2. Basic procedure

3.3. Windows Issues
3.3.1. Where to place TOMCAT_HOME?
3.3.2. Port 80
3.3.3. Admin user
3.3.4. Running as a service

3.4. Unix Issues
3.4.1. Where to place TOMCAT_HOME?
3.4.2. Port 80
3.4.3. Redirector
3.4.4. root user
3.4.5. Running as a daemon

3.5. Testing your basic standalone installation
3.5.1. The Example Context (Webapp)
3.5.2. telnet from same machine
3.5.3. web browser


4. Server lifecycle management

Maybe this should go in a later Admin guide, but it's important to get
the users comfortable with the use of the scripts and stuff early
on. Maybe here we just cover starting and stopping, and have a more
thorough chapter later on.

4.1. Starting Tomcat
4.2. Stopping Tomcat
4.3. Checking if Tomcat is running
4.4. Automatically restarting [=reloading?]    
4.5. [Log rotation? See "logging" chapter]

4.6. The Admin Context (Costin?)
4.7. The Tomcat Manager Application (Craig?)


5. Secure Server (SSL)

Covers how to get Tomcat up and running with SSL.  Since this is in an
Installation guide, it does not cover other aspects of security (but
refers to the relevant chapter in the Admin Guide)

5.1. Overview of SSL - what it is and isn't
5.2. Acquiring a key
5.3. Where to install your key
5.4. Pointers to other chapters


6. Virtual Hosts

So far, the installation examples have covered the simple case where
you are using a single Tomcat server to handle requests for a single
domain.  In this chapter, we cover using Tomcat to handle requests for
multiple domains.  Note that we're still talking about standalone
Tomcat; getting VHosts to work behind other servers is a topic for
later on.

6.1. Context-based

6.2. Multiple roots

6.3. Reference to Virtual Hosts in "Behind" chapters
6.3.1. Apache
6.3.2. IIS
6.3.3. iPlanet


7. Installing Jasper (JSP)

7.1. JSP Primer
7.2. Enabling the Jasper servlet
7.3. Disabling the Jasper servlet
7.4. Precompiling JSPs
7.5. Where are JSP files stored 
7.5.1. source
7.5.2. compiled .java
7.5.3. compiled .class
7.6. Choosing a compiler
7.7. Debugging a JSP


8. Logging

Maybe this should go in a later Admin Guide, but it's important to at
least mention where the logs are during the installation phase.

8.1. Log management
8.2. System.out and System.err
8.3. Server/JSP log output
8.4. Log file rotation
8.5. Custom logging


9. Load Balancing

Covers briefly what Load Balancing is.  Mentions that as presently
written, Tomcat does not support load balancing in standalone mode.
Refers to individual web server chapters and to Performance
chapter. Basically this is a placeholder for references to other parts
(until TC standalone supports load balancing).


Part II:  Installation Behind A Web Server

This unit builds on the standalone unit. Readers are assumed to have
read the relevant chapters in the standalone unit, and to have a
-working- standalone installation. The structure of these chapters
should follow the structure of the standalone unit -- that is, just
like the standalone unit had a chapter on basic installation, SSL,
virtual hosts, JSP, each Web server-based chapter will have a section
on basic installation, SSL, virtual hosts, JSP, in that order. This
will allow people to "flip back and forth" or at least to get less
confused about what information is Tomcat-general and which is
Apache-specific.

1. Installation Behind a Web Server Overview

1.1. Behind mode overview
1.2. Connector protocols
1.2.1. AJP12
1.2.2. AJP13
1.2.3. AJP14

2. Behind Apache

2.1. basic installation
2.2. Choosing a mod
2.2.1. mod_jserv
2.2.2. mod_jk
2.2.3. mod_webapp
2.3. httpd.conf-auto
2.3.1. different versions' idiosyncracies
2.4. Enabling SSL
2.5. Virtual Hosts
2.6. JSP integration
2.7. Logging
2.8. Authentication
2.9. In-Process

3. Behind IIS

3.1. Installation steps
3.2. Enabling SSL
3.3. Virtual Hosts
3.4. JSP integration
3.5. Logging
3.6. Authentication
3.7. In-Process

4. Behind iPlanet

5. Behind Lotus Domino

6. Behind Netware


Part III:  Administrator's Guide: Deploying and Configuring Web Applications in Tomcat

Covers developing and deploying Web Applications inside Tomcat.  This
follows a fairly clean break between "installing tomcat" and
"deploying applications" -- even though there's a lot of configuration
in both steps, you can separate problems by "my server isn't running
at all" vs. "my server is running but my app doesn't work."

It may be better to name this the "Administrator's Guide" which would
better suit discussions of things like security and lifecycle which
aren't really about *deploying* per se.  But if so, the word
"deploying" should appear in appropriate chapter titles.

1. Web Application Primer

1.1. See Web Application Developer's Guide
1.2. What's a servlet
1.3. What's a JSP
1.4. What's a webapp

2. The Web application directory structure

2.1. Context root
2.2. The WEB-INF directory
2.3. WEB-INF configuration files
2.4. WEB-INF/servlets
2.5. WEB-INF/classes
2.6. WEB-INF/lib
2.7. WAR Files
2.7.1. Using the jar tool to make a WAR file
2.7.2. Where to place the WAR file

3. Deploying your Web applications
3.1. Telling Tomcat where your web applications are
3.1.1. webapps directory
    - redeploying gotcha
3.1.2. WAR files
3.1.3. unpacked webapps

4. Reloading

4.1. Reloading webapps
4.2. Reloading servlets
4.3. Reloading classes
4.4. Restarting the server

5. Aliasing and redirecting

5.1. Inside Tomcat
5.1.1. Webapp contexts
5.1.2. Using web.xml
5.2. Inside Web Server
5.2.1. Apache
5.2.2. IIS
5.2.3. Others
5.3. Examples
5.3.1. (several examples)
5.4. See also Virtual Hosts chapter

6. Security

6.1. Concepts - Explanation of J2EE and Java 2 security models

6.2. Transport-Level Security
6.2.1. SSL

6.3. Authentication
6.3.1. Authentication with Realms
6.3.1.1. Simple realm
6.3.1.2. JDBC Realm
6.3.1.3. Custom realms
6.3.2. Authentication with LDAP
        See ch. 15 of Professional JSP
6.3.3. Authentication with JNDI
6.4. Authorization
6.4.1. J2EE role based

In particular, it should try to explain in simpler terms than the API
spec how J2EE roles are designed to work, covering the mapping from
developer roles to deployment roles.

6.5. Java 2 security policy

7. Developing with Jasper (JSP)

7.1. JSP Overview
7.2. Using jspc to pre-compile your JSPs
7.3. Some JSP Gotchas
7.4. Using JSP Explorer
7.5. JSP Error Tracking

8. Performance

8.1. Performance Tuning Web Applications
8.2. Tuning the server
8.2.1. Thread pool size
8.3. Load Balancing


Part IV:  Tomcat Development

Covers actually writing code for the Tomcat code base.  

1. Tomcat 3.x vs 4.x

2. Overview of Tomcat code base

3. Downloading the source code

3.1. Using CVS
3.2. Downloading

4. Building the source code
4.1. Using Ant
4.2. Contents of "build" directory
4.3. Using Ant to build your own Web apps 
        [misplaced? should go in Developing Web Apps guide?]

5. Bugs
5.1. Submitting Bugs
5.2. The Bug Database(s)
5.3. Fixing Bugs

6. Developing Interceptors (Tomcat 3.x)

7. Developing Valves (Tomcat 4.x)

8. Developing Connectors

8.1.  mod_jserv
8.2.  mod_jk
8.3.  mod_webapp

9. Using Tomcat Utility Classes
9.1. What the Apache license means to you


Part V:  Appendices

1. server.xml documentation

2. web.xml documentation

3. Glossary

4. Resources
4.1. Mailing Lists
4.2. FAQs and online documentation
4.3. Other Web Sites


----

Part VI:  To Add To Outline (Somewhere):

1. Using Tomcat inside an IDE


----

Reply via email to