<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Copyright 2004 The Apache Software Foundation
Licensed  under the  Apache License,  Version 2.0  (the "License");
you may not use  this file  except in  compliance with the License.
You may obtain a copy of the License at 

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed  under the  License is distributed on an "AS IS" BASIS,
WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
implied.

See the License for the specific language governing permissions and
limitations under the License.
-->

<document>
  <properties>
    <author email="unknown">Jean-Baptiste Joret</author>
    <author email="david.AT.daviddewolf.DOT.com">David H. DeWolf</author>
    <title>Pluto Project</title>
  </properties>
  
  <body>
    
    <section name="Resources">
      <p>
        <table>
          <tr>
            <th>Resource</th>
            <th>Type</th>
          </tr>
          <tr>
            <td><a href="http://jcp.org/en/jsr/detail?id=168">JSR 168</a></td>
            <td>JCP Request Info</td>
          </tr>
          <tr>
            <td><a href="http://jcp.org/en/jsr/detail?id=286">JSR 286</a></td>
            <td>JCP Request Info</td>
          </tr>
          <tr>
            <td><a href="http://jcp.org/aboutJava/communityprocess/final/jsr168/index.html">Portlet Specification 1.0</a></td>
            <td>Specification</td>
          </tr>
          <tr>
            <td><a href="http://people.apache.org/~zheng/pluto/chinese/">Chinese translation of Pluto website</a></td>
            <td>Documentation</td>
          </tr>
          <tr>
            <td><a href="http://today.java.net/pub/a/today/2005/02/18/josso.html">Integrating Java Open Single Sign-On in Pluto</a></td>
            <td>Documentation</td>
          </tr>
          <tr>
            <td><a href="http://www.theserverside.com/articles/article.tss?l=ClusteringTomcat">Clustering JSR-168 Portlet Applications in Tomcat</a></td>
            <td>Documentation</td>
          </tr>
        </table>
      </p>
    </section>
    
  </body>
</document>

