You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2009/01/13 18:10:16 UTC

svn commit: r734183 [2/2] - in /cocoon/site/site/3.0: ./ reference/ reference/html-single/ reference/html-single/css/ reference/html/ reference/html/css/ reference/pdf/

Modified: cocoon/site/site/3.0/reference/html/pipelines.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/html/pipelines.html?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
--- cocoon/site/site/3.0/reference/html/pipelines.html (original)
+++ cocoon/site/site/3.0/reference/html/pipelines.html Tue Jan 13 09:10:04 2009
@@ -1,3 +1,109 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;2.&nbsp;Pipelines</title><link rel="stylesheet" href="css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Cocoon 3.0 ALPHA - Reference Documentation"><link rel="up" href="index.html" title="Cocoon 3.0 ALPHA - Reference Documentation"><link rel="prev" href="introduction.html" title="Chapter&nbsp;1.&nbsp;Introduction"><link rel="next" href="sitemap.html" title="Chapter&nbsp;3.&nbsp;Sitemaps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div xmlns:fo="http://www.w3.org/1999/XSL/Format" id="top"><div id="header"><div class="projectlogo"><a href="./"><img class="logoImage" src="images/cocoon_logo.jpg" alt="Apache Cocoon" border="0"></a></div></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="mhSpacer"></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="pipelines"></a>
 Chapter&nbsp;2.&nbsp;Pipelines</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.definition"></a>2.1.&nbsp;What is a pipeline?</h2></div></div></div><p>TBW</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.implementations"></a>2.2.&nbsp;Pipeline implementations</h2></div></div></div><p>TBW: noncaching, caching, async-caching, expires caching, own implementations</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.embedding"></a>2.3.&nbsp;Embedding a pipeline</h2></div></div></div><p>TBW: Passing parameters to the pipeline and to its components</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipeline.components"></a>2.4.&nbsp;Components</h2></div></div></div>
 <p>TBW: SAX, StAX, own implementations</p></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="introduction.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="sitemap.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Introduction&nbsp;</td><td width="20%" align="center"><span style="color:white;font-size:85%;"><a href="http://cocoon.apache.org/3.0/" title="The Apache Cocoon community">The Apache Cocoon community</a></span></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;Sitemaps</td></tr></table></div></body></html>
+   <title>Chapter&nbsp;2.&nbsp;Pipelines</title><link rel="stylesheet" href="css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Cocoon 3.0 ALPHA - Reference Documentation"><link rel="up" href="index.html" title="Cocoon 3.0 ALPHA - Reference Documentation"><link rel="prev" href="introduction.html" title="Chapter&nbsp;1.&nbsp;Introduction"><link rel="next" href="sitemap.html" title="Chapter&nbsp;3.&nbsp;Sitemaps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div xmlns:fo="http://www.w3.org/1999/XSL/Format" id="top"><div id="header"><div class="projectlogo"><a href="./"><img class="logoImage" src="images/cocoon_logo.jpg" alt="Apache Cocoon" border="0"></a></div></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="mhSpacer"></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="pipelines"></a>
 Chapter&nbsp;2.&nbsp;Pipelines</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.definition"></a>2.1.&nbsp;What is a pipeline?</h2></div></div></div><p>
+      A Cocoon 3 pipeline expects one or more component(s). These components get linked with each other in the
+      order they were added. There is no restriction on the content that flows through the pipeline.
+    </p><p>
+      A pipeline works based on two fundamental concepts:
+      </p><div class="itemizedlist"><ul type="disc"><li><p>The first component of a pipeline is of type 
+            <code class="literal">org.apache.cocoon.pipeline.component.Starter</code>.
+            The last component is of type <code class="literal">org.apache.cocoon.pipeline.component.Finisher</code>.
+          </p></li><li><p>
+            In order to link components with each other, the first has to be a 
+            <code class="literal">org.apache.cocoon.pipeline.component.Finisher</code>, the latter
+            <code class="literal">org.apache.cocoon.pipeline.component.Producer</code>.
+          </p></li></ul></div><p>
+      When the pipeline links the components, it merely checks whether the above mentioned interfaces are present. So the
+      pipeline does not know about the specific capabilities or the compatibility of the components. It is the
+      responsibility of the <code class="literal">Producer</code> to decide whether a specific <code class="literal">Consumer</code> 
+      can be linked to it or not (that is, whether it can produce output in the desired format of the <code class="literal">Consumer</code> 
+      or not). It is also conceivable that a <code class="literal">Producer</code> is capable of accepting different types of 
+      <code class="literal">Consumer</code> and adjust the output format
+    </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e88"></a>2.1.1.&nbsp;Linear pipelines</h3></div></div></div><p>
+        A Cocoon 3 pipeline always goes through the same sequence of components to produce its output. There is no
+        support for conditionals, loops, tees or alternative flows in the case of errors. The reason for this restriction
+        is simplicity and that non-linear pipelines are more difficult (or even impossible) to be cached. In practice this means
+        that a pipeline has to be contructed completely at build-time.
+      </p><p>
+        If non-linear XML pipes with runtime-support for conditionals, loops, tees and error-flows are a requirement for you, 
+        see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://en.wikipedia.org/wiki/XProc" target="_top">XProc</a> standard of the W3C. There
+        are several available implementations for it.
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e98"></a>2.1.2.&nbsp;Pipelines by example</h3></div></div></div><p>
+        But let's get more specific by giving an example: Cocoon has become famous for its SAX pipelines that consist 
+        of exactly one SAX-based XML generator, zero, one or more SAX-based XML transformers and exactly one SAX-based 
+        XML serializer. Of course, these specific SAX-based XML pipelines can be build by using general
+        Cocoon 3 pipelines: generators, transformers and serializers are pipeline components. A generator is a 
+        <code class="literal">Starter</code> and a <code class="literal">Producer</code>, a transformer can't be neither a 
+        <code class="literal">Starter</code>, nor a <code class="literal">Finisher</code> but is always a <code class="literal">Producer</code> 
+        and a <code class="literal">Consumer</code> and a serializer is a <code class="literal">Consumer</code> and a <code class="literal">Finisher</code>.
+      </p><p>
+        Here is some Java code that demonstrates how a pipeline can be utilized with SAX-based XML components:      
+      </p><div class="programlistingco"><pre class="programlisting">Pipeline pipeline = <span class="hl-keyword">new</span> NonCachingPipeline();                                            <span class="co"><img src="images/callouts/1.png" alt="(1)"></span>
+pipeline.addComponent(<span class="hl-keyword">new</span> StringGenerator(<span class="hl-string">"&lt;x&gt;&lt;/x&gt;"</span>));                                   <span class="co"><img src="images/callouts/2.png" alt="(2)"></span>
+pipeline.addComponent(<span class="hl-keyword">new</span> XSLTTransformer(<span class="hl-keyword">this</span>.getClass().getResource(<span class="hl-string">"/test1.xslt"</span>)));  <span class="co"><img src="images/callouts/3.png" alt="(3)"></span>
+pipeline.addComponent(<span class="hl-keyword">new</span> XSLTTransformer(<span class="hl-keyword">this</span>.getClass().getResource(<span class="hl-string">"/test2.xslt"</span>)));  <span class="co"><img src="images/callouts/4.png" alt="(4)"></span>
+pipeline.addComponent(<span class="hl-keyword">new</span> XMLSerializer());                                              <span class="co"><img src="images/callouts/5.png" alt="(5)"></span>
+
+pipeline.setup(System.out);                                                              <span class="co"><img src="images/callouts/6.png" alt="(6)"></span>
+pipeline.execute();                                                                      <span class="co"><img src="images/callouts/7.png" alt="(7)"></span>
+</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><img src="images/callouts/1.png" alt="1" border="0"></td><td valign="top" align="left"><p>
+              Create a <code class="literal">NonCachingPipeline</code>. It's the simplest available pipeline implementation. The 
+              <code class="literal">org.apache.cocoon.pipeline.Pipeline</code> interface doesn't impose any restrictions on the
+              content that flows in it.
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/2.png" alt="2" border="0"></td><td valign="top" align="left"><p>
+              Add a generator, that implements the <code class="literal">org.apache.cocoon.pipeline.component.PipelineComponent</code> interface to the
+              pipeline by using the pipeline's <code class="literal">addComponent(pipelineComponent)</code> interface.
+            </p><p>
+              The <code class="literal">StringGenerator</code> expects a <code class="literal">java.lang.String</code> object and produces SAX events by using a SAX parser.
+              Hence it has to implement the <code class="literal">org.apache.cocoon.pipeline.component.sax.SAXProducer</code> interface.
+            </p><p>
+              The <code class="literal">SAXProducer</code> interface extends the <code class="literal">org.apache.cocoon.pipeline.component.Producer</code> interface. This
+              means that it expects the next (or the same!) component to implement the <code class="literal">org.apache.cocoon.pipeline.component.Consumer</code>
+              interface. The check that the next pipeline component is of type <code class="literal">org.apache.cocoon.pipeline.component.sax.SAXConsumer</code>
+              isn't done at interface level but by the implementation (see the <code class="literal">org.apache.cocoon.pipeline.component.sax.AbstractXMLProducer</code>
+              for details which the <code class="literal">StringGenerator</code> is inherited from).
+            </p><p>
+              Since a generator is the first component of a pipeline, it also has to implement the <code class="literal">Starter</code> interface.
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/3.png" alt="3" border="0"></td><td valign="top" align="left"><p>
+              Add a transformer, that implements the <code class="literal">org.apache.cocoon.pipeline.component.PipelineComponent</code> interface to the
+              pipeline by using the pipeline's <code class="literal">addComponent(pipelineComponent)</code> interface.
+            </p><p>
+              This <code class="literal">XSLTTransformer</code> expects the <code class="literal">java.net.URL</code> of an XSLT stylesheet. It uses the rules of the stylesheet
+              to add, change or delete nodes of the XML SAX stream.
+            </p><p>
+              Since it implements the <code class="literal">org.apache.cocoon.pipeline.component.Consumer</code> interface, it fulfills the general contract that a <code class="literal">Consumer</code>
+              is linked with a <code class="literal">Producer</code>. By implementing the <code class="literal">org.apache.cocoon.pipeline.component.sax.SAXConsumer</code> interface,
+              it fulfills the specific requirement of the previous <code class="literal">StringGenerator</code> that expects a next pipeline component of that type. 
+            </p><p>
+              This transformer also implements the <code class="literal">org.apache.cocoon.pipeline.component.sax.SAXProducer</code> interface. This interface extends the
+              <code class="literal">org.apache.cocoon.pipeline.component.Producer</code> interface which means that the next component has to be a 
+              <code class="literal">org.apache.cocoon.pipeline.component.Consumer</code>. Like the previous <code class="literal">StringGenerator</code>, the <code class="literal">XSLTTransformer</code>
+              inherits from the <code class="literal">org.apache.cocoon.pipeline.component.sax.AbstractXMLProducer</code> which contains the check that the next component
+              is of type <code class="literal">org.apache.cocoon.pipeline.component.sax.SAXConsumer</code>. 
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/4.png" alt="4" border="0"></td><td valign="top" align="left"><p>
+              Add another transformer to the pipeline. A pipeline can contain any number of components that implement the <code class="literal">Producer</code> and 
+              <code class="literal">Consumer</code> interfaces at the same time. However, they mustn't be neither of type <code class="literal">Starter</code> nor <code class="literal">Finisher</code>.
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/5.png" alt="5" border="0"></td><td valign="top" align="left"><p>
+              Add a serializer, that implements the <code class="literal">org.apache.cocoon.pipeline.component.PipelineComponent</code> interface to the
+              pipeline by using the pipeline's <code class="literal">addComponent(pipelineComponent)</code> interface.
+            </p><p>
+              The XML serializer receives SAX events and serializes them into an <code class="literal">java.io.OutputStream</code>.
+            </p><p>
+              A serializer component is the last component of a pipeline and hence it has to implement the <code class="literal">org.apache.cocoon.pipeline.Finisher</code>
+              interface.
+            </p><p>
+              Since it receives SAX events, it implements the <code class="literal">org.apache.cocoon.pipeline.sax.SAXConsumer</code> interface.
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/6.png" alt="6" border="0"></td><td valign="top" align="left"><p>
+              A pipeline has to be initialized first by calling its <code class="literal">setup(outputStream)</code> method. This method expects the output stream
+              where the pipeline result should be streamed.
+            </p></td></tr><tr><td width="5%" valign="top" align="left"><img src="images/callouts/7.png" alt="7" border="0"></td><td valign="top" align="left"><p>
+              After the pipeline has been initialized, it can be executed by invoking its <code class="literal">execute()</code> method. The first pipeline component, a <code class="literal">Starter</code>,
+              will be invoked which will trigger the next component and so on. Finally the last pipeline component, a <code class="literal">Finisher</code> will be reached which is responsible 
+              for the serialization of the pipeline content.
+            </p><p>
+              Once the pipeline has been started, it either succeeds or fails. There is no way to react on any (error) conditions.
+            </p></td></tr></table></div></div><div class="table"><a name="pipeline.components.sax"></a><p class="title"><b>Table&nbsp;2.1.&nbsp;SAX components and their interfaces</b></p><div class="table-contents"><table summary="SAX components and their interfaces" width="100%" border="1"><colgroup><col><col align="center"><col align="center"><col><col></colgroup><thead><tr><th>Component type</th><th align="center">Structural interfaces</th><th align="center">Content-specific interfaces</th><td class="auto-generated">&nbsp;</td><td class="auto-generated">&nbsp;</td></tr></thead><tbody><tr><td>SAX generator</td><td align="center">Starter, Producer, PipelineComponent</td><td align="center">SAXProducer</td><td class="auto-generated">&nbsp;</td><td class="auto-generated">&nbsp;</td></tr><tr><td>SAX transformer</td><td align="center">Producer, Consumer, PipelineComponent</td><td align="center">SAXProducer, SAXConsumer</td><td class="auto-generated">&nbsp;</td><td class="auto-ge
 nerated">&nbsp;</td></tr><tr><td>SAX serializer</td><td align="center">Finisher, Consumer, PipelineComponent</td><td align="center">SAXConsumer</td><td class="auto-generated">&nbsp;</td><td class="auto-generated">&nbsp;</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.implementations"></a>2.2.&nbsp;Pipeline implementations</h2></div></div></div><p>TBW: noncaching, caching, async-caching, expires caching, own implementations</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.embedding"></a>2.3.&nbsp;Embedding a pipeline</h2></div></div></div><p>TBW: Passing parameters to the pipeline and its components, finsih() method</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipeline.sax"></a>2
 .4.&nbsp;SAX components</h2></div></div></div><p>concept, writing custom SAX components, link to Javadocs</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e363"></a>2.4.1.&nbsp;Available components</h3></div></div></div><p>Link to Javadocs</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e368"></a>2.4.2.&nbsp;Writing custom components</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e371"></a>2.4.2.1.&nbsp;SAX generator</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one
+              (available abstract classes)
+        </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e376"></a>2.4.2.2.&nbsp;SAX transformer</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one</p><p>buffering</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e383"></a>2.4.2.3.&nbsp;SAX serializer</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipeline.stax"></a>2.5.&nbsp;StAX components</h2></div></div></div><p>explain StAX in general, advantages (ease of writing fast transformers), links to external sources</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e393"></a>2.5.1.&nbsp;Available components</h3></div></div></div><p>Link to Javadocs
 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e398"></a>2.5.2.&nbsp;Writing custom components</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e401"></a>2.5.2.1.&nbsp;StAX generator</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one
+              (available abstract classes)
+        </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e406"></a>2.5.2.2.&nbsp;StAX transformer</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one</p><p>explain navigators by example</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e413"></a>2.5.2.3.&nbsp;StAX serializer</h4></div></div></div><p>explain from a user's point of view, what she needs to do to implement one</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e418"></a>2.5.3.&nbsp;Using StAX and SAX components in the same pipeline</h3></div></div></div><p></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e422"></a>2.5.4.&nbsp;Java 1.5 support</h3></div></div></div><p>What do you have to do to use StAX components, in a Java 1.5 environment</p></div></di
 v><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pipelines.utils"></a>2.6.&nbsp;Utilities</h2></div></div></div><p>TBW: XMLUtils, TransformUtils</p></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="introduction.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="sitemap.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Introduction&nbsp;</td><td width="20%" align="center"><span style="color:white;font-size:85%;"><a href="http://cocoon.apache.org/3.0/" title="The Apache Cocoon community">The Apache Cocoon community</a></span></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;Sitemaps</td></tr></table></di
 v></body></html>

Modified: cocoon/site/site/3.0/reference/index.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/index.html?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
--- cocoon/site/site/3.0/reference/index.html (original)
+++ cocoon/site/site/3.0/reference/index.html Tue Jan 13 09:10:04 2009
@@ -69,9 +69,9 @@
            <h1 class="projectTitle"><a href="./index.html">  Cocoon 3
   </a></h1>
                          <ul class="projectList">
-                <li><strong><a href="..//2.2/">Cocoon 2.2</a></em></strong></li>
+                <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
                 <li><strong><a href="../3.0/">Cocoon 3.0 <span class="pl-version-small">[alpha]</span></a></em></strong></li>                
-                <li><strong><a href="../$project.getProperties().get("docs.m.site-subprojects.relPath")">Subprojects</a></strong></li>
+                <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
               </ul>              
                     </div>
          <div class="projectBarClear"><!-- --></div>
@@ -97,10 +97,6 @@
         </li>
                   
     <li >
-              <strong>Userguide</strong>
-        </li>
-                  
-    <li >
               <a href="../features.html">Features</a>
         </li>
               </ul>
@@ -126,7 +122,7 @@
         </li>
                   
     <li >
-              <a href="../api-docs.html">API</a>
+              <a href="../apidocs/index.html">API</a>
         </li>
                   
     <li >
@@ -147,7 +143,7 @@
     <!-- end of content -->
     <div id="footer">
       <p>&#169;  
-          2008
+          2008-2009
     
           The Apache Software Foundation
       </p>

Modified: cocoon/site/site/3.0/reference/pdf/cocoon3-reference.pdf
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/pdf/cocoon3-reference.pdf?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
Binary files - no diff available.

Modified: cocoon/site/site/3.0/roadmap.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/roadmap.html?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
--- cocoon/site/site/3.0/roadmap.html (original)
+++ cocoon/site/site/3.0/roadmap.html Tue Jan 13 09:10:04 2009
@@ -69,9 +69,9 @@
            <h1 class="projectTitle"><a href="./index.html">  Cocoon 3
   </a></h1>
                          <ul class="projectList">
-                <li><strong><a href="..//2.2/">Cocoon 2.2</a></em></strong></li>
+                <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
                 <li><strong><a href="../3.0/">Cocoon 3.0 <span class="pl-version-small">[alpha]</span></a></em></strong></li>                
-                <li><strong><a href="../$project.getProperties().get("docs.m.site-subprojects.relPath")">Subprojects</a></strong></li>
+                <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
               </ul>              
                     </div>
          <div class="projectBarClear"><!-- --></div>
@@ -97,10 +97,6 @@
         </li>
                   
     <li >
-              <a href="reference/index.html">Userguide</a>
-        </li>
-                  
-    <li >
               <a href="features.html">Features</a>
         </li>
               </ul>
@@ -126,7 +122,7 @@
         </li>
                   
     <li >
-              <a href="api-docs.html">API</a>
+              <a href="apidocs/index.html">API</a>
         </li>
                   
     <li >
@@ -140,14 +136,14 @@
     </li>
       </ul>
        <div class="main">
-         <div class="section"><h2>Cocoon 3 Roadmap</h2><p>Cocoon 3 hasn't been released yet. An initial alpha-1 release is planned in October based on the current version available in SVN. If you are interested, any participation is highly appreciated. The tasks listed here are only suggestions. If you have other ideas, please join us on our <a href="mail-lists.html"> developer's mailing list</a>). </p><div class="section"><h3>3.0.0</h3><ul><li>Check license headers (reinhard)</li></ul></div><div class="section"><h3>Unscheduled simple features</h3><p>These tasks are a good starting point for everybody who wants to contribute to Cocoon 3.</p><ul><li>A stateless forms framework optimized for RESTful web applications. (cocoon-rest) (reinhard/steven)</li><li>Improved error handling (review exception handling in general) and error reporting (cocoon-sitemap)</li><li>Improved error handling in XSLT transformer (cocoon-pipeline)</li><li>Expires-caching in pipelines - A pipeline is v
 alid for a certain period of time (cocoon-pipeline) </li><li>EHCache integration for caching pipelines (cocoon-pipeline)</li><li>Support custom matchers (<tt>&lt;map:match type=&quot;my-custom-matcher&quot;/&gt;</tt>)</li><li>Support the XInclude standard (cocoon-pipeline)</li><li>Enable file uploads (cocoon-servlet)</li><li>Support annotation-based REST controller URL mapping similar to JSR311 (cocoon-rest)</li></ul></div><div class="section"><h3>Advanced unscheduled features</h3><ul><li>In the case of a conditional GET a pipeline doesn't need to be executed in every case. It would be enough to get the Last-Modified information first and decide then if a pipeline execution is necessary or not. The sitemap API has to be refactored for that purpose. (cocoon-sitemap/cocoon-servlet) </li><li>Improve caching when the servlet protocol is used (cocoon-servlet/cocoon-sitemap)</li><li>Using SAX buffers in servlet protocol (cocoon-servlet, cocoon-servlet-service-fw-impl)</li><li>revi
 ew package structure for OSGi (all)</li><li>support OSGi environments at service level (all) </li><li>STaX-based pipeline components for XML processing (file generator, XSLT transformer, XML serializer, abstract XML transformer for custom STaX-based transformers) (cocoon-stax)</li><li>Collect profiling information when a pipeline is being executed (cocoon-sitemap/cocoon-servlet)</li><li>Adapter to use Cocoon 2.2 sitemap components from within Cocoon 3 OR migrate some more components (e.g. FOP serializer etc.) (cocoon-pipeline)</li><li>Context-based routing in pipelines (cocoon-pipeline)</li><li>Enable nested pipelines (cocoon-pipeline)</li><li>Provide adapters that enable the mix of different component types in the same pipeline (cocoon-pipeline)</li><li>Provide profiling data</li></ul></div></div>
+         <div class="section"><h2>Cocoon 3 Roadmap</h2><p>Cocoon 3 hasn't been released yet. An initial alpha-1 release is planned in December based on the current version available in SVN. If you are interested, any participation is highly appreciated. The tasks listed here are only suggestions. If you have other ideas, please join us on our <a href="mail-lists.html"> developer's mailing list</a>). </p><div class="section"><h3>Unscheduled simple features</h3><p>These tasks are a good starting point for everybody who wants to contribute to Cocoon 3.</p><ul><li>Improved error handling (review exception handling in general) and error reporting (cocoon-sitemap)</li><li>Improved error handling in XSLT transformer (cocoon-pipeline)</li><li>EHCache integration for caching pipelines (cocoon-pipeline)</li><li>Support custom matchers (<tt>&lt;map:match type=&quot;my-custom-matcher&quot;/&gt;</tt>)</li><li>Support the XInclude standard (cocoon-pipeline)</li><li>Enable file uploads (co
 coon-servlet)</li><li>Support annotation-based REST controller URL mapping similar to JSR311 (cocoon-rest)</li><li>Use Java 5 regular expressions in <tt>org.apache.cocoon.sitemap.util.WildcardMatcherHelper</tt> (cocoon-sitemap)</li></ul></div><div class="section"><h3>Advanced unscheduled features</h3><ul><li>In the case of a conditional GET a pipeline doesn't need to be executed in every case. It would be enough to get the Last-Modified information first and decide then if a pipeline execution is necessary or not. The sitemap API has to be refactored for that purpose. (cocoon-sitemap/cocoon-servlet) </li><li>Improve caching when the servlet protocol is used (cocoon-servlet/cocoon-sitemap)</li><li>Cleanup pipeline configuration and object model:</li><li>Using SAX buffers in servlet protocol (cocoon-servlet, cocoon-servlet-service-fw-impl)</li><li>Review package structure for OSGi (all)</li><li>Support OSGi environments at service level (all) </li><li>Provide XML catalog suppo
 rt: find a way to make the entity resolver of the SAX parser configurable in the case of using pipeline components directly (cocoon-pipeline) as well as when they are used together with Spring (cocoon-sitemap) </li><li>STaX-based pipeline components for XML processing (file generator, XSLT transformer, XML serializer, abstract XML transformer for custom STaX-based transformers) (cocoon-stax)</li><li>Collect profiling information when a pipeline is being executed (cocoon-sitemap/cocoon-servlet)</li><li>Adapter to use Cocoon 2.2 sitemap components from within Cocoon 3 OR migrate some more components (e.g. FOP serializer etc.) (cocoon-pipeline)</li><li>Content-based routing in pipelines (cocoon-pipeline)</li><li>Enable nested pipelines (cocoon-pipeline)</li><li>Provide adapters that enable the mix of different component types in the same pipeline (cocoon-pipeline)</li><li>A stateless forms framework optimized for RESTful web applications. (cocoon-rest) (reinhard/steven) </li></
 ul></div></div>
        </div>
     </div>
 
     <!-- end of content -->
     <div id="footer">
       <p>&#169;  
-          2008
+          2008-2009
     
           The Apache Software Foundation
       </p>

Modified: cocoon/site/site/3.0/source-repository.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/source-repository.html?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
--- cocoon/site/site/3.0/source-repository.html (original)
+++ cocoon/site/site/3.0/source-repository.html Tue Jan 13 09:10:04 2009
@@ -69,9 +69,9 @@
            <h1 class="projectTitle"><a href="./index.html">  Cocoon 3
   </a></h1>
                          <ul class="projectList">
-                <li><strong><a href="..//2.2/">Cocoon 2.2</a></em></strong></li>
+                <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
                 <li><strong><a href="../3.0/">Cocoon 3.0 <span class="pl-version-small">[alpha]</span></a></em></strong></li>                
-                <li><strong><a href="../$project.getProperties().get("docs.m.site-subprojects.relPath")">Subprojects</a></strong></li>
+                <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
               </ul>              
                     </div>
          <div class="projectBarClear"><!-- --></div>
@@ -97,10 +97,6 @@
         </li>
                   
     <li >
-              <a href="reference/index.html">Userguide</a>
-        </li>
-                  
-    <li >
               <a href="features.html">Features</a>
         </li>
               </ul>
@@ -126,7 +122,7 @@
         </li>
                   
     <li >
-              <a href="api-docs.html">API</a>
+              <a href="apidocs/index.html">API</a>
         </li>
                   
     <li >
@@ -150,7 +146,7 @@
     <!-- end of content -->
     <div id="footer">
       <p>&#169;  
-          2008
+          2008-2009
     
           The Apache Software Foundation
       </p>

Modified: cocoon/site/site/3.0/team-list.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/team-list.html?rev=734183&r1=734182&r2=734183&view=diff
==============================================================================
--- cocoon/site/site/3.0/team-list.html (original)
+++ cocoon/site/site/3.0/team-list.html Tue Jan 13 09:10:04 2009
@@ -69,9 +69,9 @@
            <h1 class="projectTitle"><a href="./index.html">  Cocoon 3
   </a></h1>
                          <ul class="projectList">
-                <li><strong><a href="..//2.2/">Cocoon 2.2</a></em></strong></li>
+                <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
                 <li><strong><a href="../3.0/">Cocoon 3.0 <span class="pl-version-small">[alpha]</span></a></em></strong></li>                
-                <li><strong><a href="../$project.getProperties().get("docs.m.site-subprojects.relPath")">Subprojects</a></strong></li>
+                <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
               </ul>              
                     </div>
          <div class="projectBarClear"><!-- --></div>
@@ -97,10 +97,6 @@
         </li>
                   
     <li >
-              <a href="reference/index.html">Userguide</a>
-        </li>
-                  
-    <li >
               <a href="features.html">Features</a>
         </li>
               </ul>
@@ -126,7 +122,7 @@
         </li>
                   
     <li >
-              <a href="api-docs.html">API</a>
+              <a href="apidocs/index.html">API</a>
         </li>
                   
     <li >
@@ -140,7 +136,7 @@
     </li>
       </ul>
        <div class="main">
-         <div class="section"><h2>The Team</h2><p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p><p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p><div class="section"><h3>Members</h3><p>The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.</p><table class="bodyTable"><tr class="a"><th>Id</th><th>Name</th><th>Email</th><th>URL</th><th>Organization</th><th>Organization URL</th><th>Roles</th><th>Time Zone</th><th>Actual Time (GMT)</th><th>Properties</t
 h></tr><tr class="b"><td>steven.dolg</td><td>Steven Dolg</td><td><a href="mailto:steven.dolg@apache.org">steven.dolg@apache.org</a></td><td>-</td><td>Indoqa Software Design und Beratung GmbH</td><td><a href="http://www.indoqa.com">http://www.indoqa.com</a></td><td>PMC member, Committer</td><td>+1</td><td><span id="developer-0">+1</span></td><td>-</td></tr><tr class="a"><td>reinhard</td><td>Reinhard Poetz</td><td><a href="mailto:reinhard@apache.org">reinhard@apache.org</a></td><td>-</td><td>Indoqa Software Design und Beratung GmbH</td><td><a href="http://www.indoqa.com">http://www.indoqa.com</a></td><td>ASF member, PMC member, Committer</td><td>+1</td><td><span id="developer-1">+1</span></td><td>-</td></tr><tr class="b"><td>cziegeler</td><td>Carsten Ziegeler</td><td><a href="mailto:cziegeler@apache.org">cziegeler@apache.org</a></td><td>-</td><td>Day Software</td><td><a href="http://www.day.com">http://www.day.com</a></td><td>ASF member, PMC member, Committer</td><td>+1</td><t
 d><span id="developer-2">+1</span></td><td>-</td></tr></table></div><div class="section"><h3>Contributors</h3><p>There are no contributors listed for this project. Please check back again later.</p></div></div><script type="text/javascript">
+         <div class="section"><h2>The Team</h2><p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p><p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p><div class="section"><h3>Members</h3><p>The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.</p><table class="bodyTable"><tr class="a"><th>Id</th><th>Name</th><th>Email</th><th>URL</th><th>Organization</th><th>Organization URL</th><th>Roles</th><th>Time Zone</th><th>Actual Time (GMT)</th><th>Properties</t
 h></tr><tr class="b"><td>stevendolg</td><td>Steven Dolg</td><td><a href="mailto:stevendolg@apache.org">stevendolg@apache.org</a></td><td>-</td><td>Indoqa Software Design und Beratung GmbH</td><td><a href="http://www.indoqa.com">http://www.indoqa.com</a></td><td>PMC member, Committer</td><td>+1</td><td><span id="developer-0">+1</span></td><td>-</td></tr><tr class="a"><td>reinhard</td><td>Reinhard Poetz</td><td><a href="mailto:reinhard@apache.org">reinhard@apache.org</a></td><td>-</td><td>Indoqa Software Design und Beratung GmbH</td><td><a href="http://www.indoqa.com">http://www.indoqa.com</a></td><td>ASF member, PMC member, Committer</td><td>+1</td><td><span id="developer-1">+1</span></td><td>-</td></tr><tr class="b"><td>cziegeler</td><td>Carsten Ziegeler</td><td><a href="mailto:cziegeler@apache.org">cziegeler@apache.org</a></td><td>-</td><td>Day Software</td><td><a href="http://www.day.com">http://www.day.com</a></td><td>ASF member, PMC member, Committer</td><td>+1</td><td><
 span id="developer-2">+1</span></td><td>-</td></tr></table></div><div class="section"><h3>Contributors</h3><p>The following additional people have contributed to this project through the way of suggestions, patches or documentation.</p><table class="bodyTable"><tr class="a"><th>Name</th><th>Email</th><th>URL</th><th>Organization</th><th>Organization URL</th><th>Roles</th><th>Time Zone</th><th>Actual Time (GMT)</th><th>Properties</th></tr><tr class="b"><td>Simone Tripodi</td><td>simone[dot]tripodi[at]gmail[dot]com</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-0">-</span></td><td>-</td></tr><tr class="a"><td>Paul Ercolino</td><td>solprovider[at]apache[dot]com</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-1">-</span></td><td>-</td></tr><tr class="b"><td>Marc Driftmeyer</td><td>mdrift[at]yahoo[dot]com</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-2">-</span></td><td>-</td></tr><
 tr class="a"><td>Andreas Pieber</td><td>anpi[at]gmx[dot]at</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-3">-</span></td><td>-</td></tr><tr class="b"><td>Jakob Spoerk</td><td>jakob[dot]spoerk[at]gmx[dot]at</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-4">-</span></td><td>-</td></tr><tr class="a"><td>Michael Seydl</td><td>michael[dot]seydl[at]gmail[dot]com</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-5">-</span></td><td>-</td></tr><tr class="b"><td>Killian Johannes Matt</td><td>killian[dot]matt[at]gmail[dot]com</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td><span id="contributor-6">-</span></td><td>-</td></tr></table></div></div><script type="text/javascript">
 function offsetDate(id, offset) {
     var now = new Date();
     var nowTime = now.getTime();
@@ -165,7 +161,7 @@
     <!-- end of content -->
     <div id="footer">
       <p>&#169;  
-          2008
+          2008-2009
     
           The Apache Software Foundation
       </p>