Author: ilgrosso
Date: Mon Apr 23 14:58:36 2012
New Revision: 1329267
URL: http://svn.apache.org/viewvc?rev=1329267&view=rev
Log:
Mavenization of 2.2 site
Added:
cocoon/trunk/site/cocoon-22-site/src/site/
cocoon/trunk/site/cocoon-22-site/src/site/resources/
cocoon/trunk/site/cocoon-22-site/src/site/resources/images/
cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img (with props)
cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png (with props)
cocoon/trunk/site/cocoon-22-site/src/site/site.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1366_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1402_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1420_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1447_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1448_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1454_1_1.xml (with props)
cocoon/trunk/site/cocoon-22-site/src/site/xdoc/index.xml (with props)
Modified:
cocoon/trunk/site/cocoon-22-site/pom.xml
Modified: cocoon/trunk/site/cocoon-22-site/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/pom.xml?rev=1329267&r1=1329266&r2=1329267&view=diff
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/pom.xml (original)
+++ cocoon/trunk/site/cocoon-22-site/pom.xml Mon Apr 23 14:58:36 2012
@@ -26,8 +26,8 @@
<parent>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon</artifactId>
- <version>6-SNAPSHOT</version>
- <relativePath>../../parent/pom.xml</relativePath>
+ <version>9-SNAPSHOT</version>
+ <relativePath/>
</parent>
<artifactId>cocoon-22-site</artifactId>
@@ -48,35 +48,44 @@
</site>
</distributionManagement>
- <profiles>
- <profile>
- <id>daisy</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.daisycms</groupId>
- <artifactId>daisy-maven-plugin</artifactId>
- <configuration>
- <navDocId>1328</navDocId>
- <collection>cdocs-site-22</collection>
- <skipFirstNavigationDocumentLevel>false</skipFirstNavigationDocumentLevel>
- <siteXmlContent>
- <project>
- <skin>
- <groupId>org.apache.cocoon</groupId>
- <artifactId>cocoon-thien-maven-site-skin</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </skin>
- <body>
- <!-- @daisy-start@ --><!-- @daisy-end@ -->
- </body>
- </project>
- </siteXmlContent>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.0</version>
+ <configuration>
+ <locales>en</locales>
+ <reportPlugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
+ <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>summary</report>
+ <report>license</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </reportPlugins>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-descriptor</id>
+ <goals>
+ <goal>attach-descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
Added: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img?rev=1329267&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png?rev=1329267&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/site.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/site.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/site.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<!-- $Id$ -->
+<project xmlns="http://maven.apache.org/DECORATION/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/DECORATION/1.1.0 http://maven.apache.org/xsd/decoration-1.1.0.xsd"
+ name="Cocoon">
+
+ <skin>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-thien-maven-site-skin</artifactId>
+ <version>1.0.1</version>
+ </skin>
+
+ <body>
+ <menu name="Cocoon 2.2">
+ <item name="Overview" href="./index.html"/>
+ <item name="Download" href="./1447_1_1.html"/>
+ <item name="New in 2.2" href="./1420_1_1.html"/>
+ </menu>
+
+ <menu name="Tutorials">
+ <item name="Your first Cocoon application using Maven 2" href="./1159_1_1.html"/>
+ <item name="Your first XML pipeline (publishing)" href="./1290_1_1.html"/>
+ <item name="Modularize Cocoon apps (Using blocks)" href="./1291_1_1.html"/>
+ <item name="Deploying a Cocoon application" href="./1362_1_1.html"/>
+ <item name="Screencasts" href="./1448_1_1.html"/>
+ </menu>
+
+ <menu name="How-Tos">
+ <item name="How to configure consistent encoding in Cocoon" href="./1366_1_1.html"/>
+ </menu>
+
+ <menu name="All Sitemap Components">
+ <item name="All Sitemap Components" href="./1347_1_1.html"/>
+ </menu>
+ </body>
+</project>
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Your first Cocoon application using Maven 2</title><author email="[email protected]">Apache Cocoon Documentation Team</author></properties><body>
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Your first Cocoon application using Maven 2</h1><p>In this tutorial, you will:</p><ol type="1">
+<li>Create a Cocoon block (the application resources and logic)</li>
+<li>Import the block as a project in Eclipse</li>
+<li>Start the block as a web application and access it from your browser</li>
+</ol><div class="note"><div><strong>Note: </strong>First, make sure that you have Maven 2.0.9 or above installed.
+You can check this by calling <tt>mvn --version</tt> from the command line. If
+this doesn't work for you, read the
+<a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven
+in 5 Minutes</a> tutorial.</div></div><h1>Creating a Cocoon block</h1>Create a new directory which will be the root directory of your Cocoon
+application and change into it. For this tutorial, let's name it
+<tt>getting-started-app</tt>.The next step is to create a Cocoon block to contain your custom application.
+The development of any Cocoon web application should be done within one or moreÂ
+blocks. Cocoon blocks are little different to other Maven blocks except they
+have a particular expected <a href="../2.2/core-modules/core/2.2/1263_1_1.html">directory and file
+structure</a>.<div class="note"><div><strong>Note: </strong>You could manually create your blocks, but a simpler and less
+error-prone process is to use Maven's 'archetype' plugin. This allows you to
+select from a list of block types and have Maven create them for you. By
+default, the list of Maven archetypes is quite large. For convenience, a
+catalog of Cocoon specific archetypes is available on the Cocoon web site and
+you will make use of this in the following instructions.</div></div>Run the following Maven command:<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre><p>Maven will generate some output and then interactively ask you for some
+information:</p><pre>Choose archetype:
+1: remote -> cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+Â if you want to add another block to a Cocoon application)
+2: remote -> cocoon-22-archetype-block (Creates a Cocoon block containing some small
+Â samples)
+3: remote -> cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number: (1/2/3): <strong>2</strong>
+</pre><p>Maven first asks which archetype you want to create. Item 2 in this list is
+the standard Cocoon block with some small sample files already in place.</p><pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myBlock1</strong>
+Define value for version: 1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myBlock1</strong><strong><strong>
+</strong></strong></pre><p>Maven then asks a few more questions. Just enter the details as shown
+above. The groupId is a label that you can use to group all the blocks in your
+application. The artifactId is the unique label that will identify this block
+from all others. It is also the name of the directory that will be created to
+contain the block's files. The package is the Java package that any Java files
+in the block will be assigned to.</p><div class="note"><div><strong>Note: </strong>If you are using a cocoon binary build from svn trunk then you
+probably want to change the archetypeVersion to the most recent one, matching
+the svn trunk. (see
+<tt>[<tt>c</tt></tt><tt>ocoon-svn]/tools/archetypes/cocoon-22-archetype-block/pom.xml</tt>)
+</div></div><p>Looking at the filesystem, you should find following directory structure:</p><pre>getting-started-app
+<tt>Â +-</tt><tt>myBlock1
+ +-pom.xml
+ +-src
+ +-[...]
+</tt></pre><h1>Import the block in Eclipse</h1><div class="note"><div><strong>Note: </strong>Cocoon is not tied to Eclipse IDE by any means. This step only
+describes what can be done to avoid tedious work of setting up project in
+Eclipse manually.<br/>
+If you don't use Eclipse, you can either skip this step or find a similar
+procedure to load the block in the IDE of your choice.</div></div><p>Change into the <tt>myBlock1</tt> directory and call</p><pre>mvn eclipse:eclipse</pre><p>This will create the necessary project descriptors for Eclipse. In Eclipse
+you can import the project into your workspace: <em>File >Â Import... >
+Existing Projects into Workspace</em></p><p>If that's the first time you use Eclipse together with a project created by
+Maven 2, we recommend you read the
+<a href="http://maven.apache.org/guides/mini/guide-ide-eclipse.html">Maven Guide
+using Eclipse with Maven 2.x</a>.</p><h1>Run the block as Java web application</h1><p>After creating the Cocoon block you probably want to run it. For this purpose
+there is a Maven plugin that generates a minimal web application that loads your
+block. The pom.xml of your block already contains the necessary settings.</p><pre>mvn jetty:run</pre><p>and point your browser at <tt>http://localhost:8888/myBlock1/</tt> and get a
+hello world page.</p><div class="note"><div><strong>Note: </strong>The mentioned minimal web application is automatically created,
+when <tt>mvn jetty:run</tt> is invoked. This happens because the rcl goal of the
+Cocoon plugin is bound to the Maven build lifecycle which is invoked too, when
+the jetty:run goal is executed. See the block's <tt>pom.xml </tt>for details.
+</div></div><div class="note"><div><strong>Note: </strong>This process can be manually triggered with <tt>mvn
+cocoon:prepare</tt> too.</div></div><h1>Conclusion and further information</h1><p>So far you have created a Cocoon block and been able to run it in Jetty.Â
+This is only the first step to creating a full-blown Cocoon application. If you
+would like to know more read the following tutorials:</p><ul>
+<li><a href="1290_1_1.html">Your first XML pipeline</a><br/>
+Cocoon is well known for its XML pipelines. In this tutorial you will learn how
+to setup your first pipeline and discover the power of Cocoon sitemaps.</li>
+<li><a href="1291_1_1.html">Adding a second block</a><br/>
+This tutorial creates a web application that has a dependency on another block.
+There are use cases that require more than one block, e.g. you want to have all
+style specific resources within a single block that can be easily exchanged at
+deployment time (aka skinning).</li>
+<li><a href="../2.2/maven-plugins/maven-plugin/1.0/1297_1_1.html">Usage of the reloading classloader plugin</a><br/>
+The reloading classloader plugin enables rapid development of Cocoon
+applications since you don't have to restart the servlet container whenever one
+of your Java classes changes. Additionally, it enables the reloading of Cocoon
+resources too if they change.</li>
+<li><a href="1362_1_1.html">Deploying a Cocoon application<br/>
+</a>Eventually, you will probably need to create a Java web application (war
+file) in order to deploy your application to a servlet container such as Tomcat
+or Jetty, etc. This tutorial shows you how.<a href="../2.2/core-modules/core/2.2/1263_1_1.html"><br/>
+</a></li>
+</ul>For the time being, we <em>recommend</em> you use <em>Maven 2</em> as your
+build system (though there is no hard dependency on it). This has the advantage
+that the build system is standardized and Cocoon web applications can reuse the
+toolset (create Eclipse configuration files, create releases, produce
+documentation, etc.). More information about Maven 2 can be found at the project
+<a href="http://maven.apache.org">website</a>. We especially recommend reading:
+<ul>
+<li>
+<a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven
+in 5 minutes</a> and the</li>
+<li><a href="http://maven.apache.org/guides/getting-started/index.html">Getting
+started guide</a></li>
+</ul></div></div>
+ </body></document>
\ No newline at end of file
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Your first XML pipeline (publishing)</title><author email="[email protected]">Apache Cocoon Documentation Team</author></properties><body>
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Your first XML pipeline (publishing)</h1><p>This tutorial is based on the <a href="1159_1_1.html">"Your first Cocoon
+application using Maven 2"</a> guide which shows how to bootstrap a Cocoon
+project.</p><p>In this tutorial you will</p><ol type="1">
+<li>get an overview of what Cocoon pipelines and sitemaps are</li>
+<li>create your first pipeline that emits XML</li>
+<li>enhance this first pipeline by adding an XML transformation step based on
+XSLT that produces HTML as output</li>
+<li>write a pipeline that creates a PDF document</li>
+</ol><h1>Overview</h1>Cocoon is based around the concept of pipelines:<img width="713" height="223" name="pipeline" alt="pipeline" src="NO_LINK"/>If a request comes in, a <a href="../2.2/core-modules/core/2.2/850_1_1.html"><strong>generator</strong>
+</a>produces <a href="http://www.saxproject.org/">SAX events</a> that represent
+the XML, <a href="../2.2/core-modules/core/2.2/851_1_1.html"><strong>tranformers</strong> </a>can alter the
+stream of SAX events and a
+<a href="../2.2/core-modules/core/2.2/849_1_1.html"><strong>serializ<strong>e</strong></strong><strong>r</strong></a>
+finally creates an output stream which is sent to the client.The image above shows the 3 most popular components:<ul>
+<li>file generator</li>
+<li>XSLT transformer</li>
+<li>HTML serializer</li>
+</ul><strong>Sitemaps</strong> are used to define those pipelines and connect them
+with requests. These connections are defined by some kind of rules. In the
+context of Cocoon those rules are named matchers. Whenever one of those rules
+(<em>matcher</em>) matches, a pipeline is executed.<h1>Create a pipeline in the sitemap</h1>First, open <tt>src\main\resources\COB-INF\sitemap.xmap</tt> in your favorite
+XML editor. That's your block's base sitemap. There are already some pipelines
+there (<tt>/sitemap/pipelines</tt>) but for the sake of this tutorial, let's
+create your own pipeline.<pre><map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0
+ http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <map:pipelines>
+<strong> <map:pipeline>
+<strong> <map:match pattern="myFirstPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+ <map:serialize type="xml"/>
+ </map:match></strong>
+ </map:pipeline></strong>
+ [...]
+ </map:pipelines>
+
+</map:sitemap>
+</pre>The <tt>map:match </tt>element has an attribute <tt>@pattern</tt>. If the
+request <tt>http://localhost:8888/myBlock1/<strong>myFirstPipeline</strong></tt>
+comes in, this matcher <em>matches</em> and the request processing continues
+with the generation of <tt>myXmlFile.xml</tt>. This file has to be in the same
+directory as the sitemap:<pre><?xml version="1.0" encoding="UTF-8"?>
+<content>test</content>
+</pre><div class="note"><div><strong>Note: </strong>You might wonder why the matcher only has to look for the
+pattern myFirstPipeline. The reason is that <tt>myBlock1</tt> is handled by the
+block dispatching mechanism. In particular for your block, this path is set in
+<tt>src/main/resources/META-INF/cocoon/spring/servlet-service.xml</tt> in
+<tt>/beans/bean[id='com.mycompany.myBlock4.block']/context/@mount-path</tt></div></div><p>After saving the sitemap and the XML file, you can point you browser to
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/myFirstPipeline</tt> and
+you will see the output of your first own pipeline serialized as XML
+(<tt><map:serialize type="xml"/></tt>).</p><h1>Adding an XSLT transformation step</h1><p>The first pipeline wasn't really exciting, just reading some XML file and
+serializing it without changing anything. The second example will add a
+transformation step based on <a href="http://www.w3.org/TR/xslt">XSLT</a>:</p><pre><map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0
+ http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <map:pipelines>
+ <map:pipeline>
+ Â <map:match pattern="myFirstPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+ <map:serialize type="xml"/>
+ </map:match> <strong><strong><strong>
+ <map:match pattern="mySecondPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+</strong></strong><strong><strong><strong><strong> <map:transform src="myXsltFile.xslt" type="xslt"/></strong></strong></strong></strong>
+<strong><strong> <map:serialize type="html"/>
+ </map:match></strong></strong></strong>
+ </map:pipeline>
+ [...]
+ </map:pipelines>
+
+</map:sitemap></pre><p>The XSLT file is very simple and creates an XML following the structure of
+XHTML (though without using any namespaces in order to keep things simple):</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/">
+ <html>
+ <head>
+ <title>My second XML Pipeline</title>
+ </head>
+ <body>
+ My second XML Pipeline:
+ <xsl:value-of select="/content"/>
+ </body>
+ </html>
+ </xsl:template>
+</xsl:stylesheet></pre><p>After saving the sitemap and the XSLT file, you can point you browser to
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/mySecondPipeline</tt> and
+you will see the output, this time its HTML because of the use of the HTML
+serializer.</p><div class="note"><div><strong>Note: </strong>In this tutorial you have already implemented two pipelines but
+there is only one pipeline element used in the sitemap. Given this is confusing
+when you use Cocoon sitemaps the first time. However, there is a reason for
+this: The <tt><pipeline> </tt>element indicates which <em>pipeline
+implementation</em> is used. If there is no <tt>@type</tt> attribute, the
+generators, tranformers and serializers are invoked from a caching pipeline
+implementation. <br/>
+When Cocoon developers talk about pipelines, they mean a series of a matcher
+that includes at least a generator and a serializer. Transformers and other
+sitemap components are optional.</div></div><h1>Creating a PDF</h1><p>The first example created XML and the second one HTML. One of the strength of
+Cocoon is that it makes it very simple to support many different output formats.
+The result of this third example will be a PDF, again based on
+<em>myXmlFile.xml</em>:</p><pre><map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0
+ http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="myFirstPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ <map:match pattern="mySecondPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+ <map:transform src="myXsltFile.xslt" type="xslt"/>
+ <map:serialize type="html"/>
+ </map:match> <strong><strong><strong>
+ <map:match pattern="myThirdPipeline">
+ <map:generate src="myXmlFile.xml" type="file"/>
+</strong></strong><strong><strong><strong><strong> <map:transform src="myXml2PdfFile.xslt" type="xslt"/></strong></strong></strong></strong>
+<strong><strong> <map:serialize type="fo2pdf"/>
+ </map:match></strong></strong></strong>
+ </map:pipeline>
+ [...]
+ </map:pipelines>
+
+</map:sitemap></pre><p>This pipeline needs a different XSLT file which transforms the XML of
+myXmlFile.xml to some XML that can be used by
+<a href="http://xmlgraphics.apache.org/fop/">FOP</a> to create PDF:</p><pre><?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+ <xsl:template match="/">
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="29.7cm"
+ page-width="21cm"
+ margin-top="1cm"
+ margin-bottom="2cm"
+ margin-left="2.5cm"
+ margin-right="2.5cm">
+ <fo:region-before extent="3cm"/>
+ <fo:region-body margin-top="3cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+
+ <fo:page-sequence-master master-name="all">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference
+ master-reference="page" page-position="first"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference="all">
+ <fo:static-content flow-name="xsl-region-after">
+ <fo:block text-align="center"
+ font-size="10pt"
+ font-family="serif"
+ line-height="14pt">page <fo:page-number/></fo:block>
+ </fo:static-content>
+
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block font-size="36pt" space-before.optimum="24pt"
+ text-align="center">
+ My second XML Pipeline
+ </fo:block>
+ <fo:block font-size="12pt" space-before.optimum="12pt"
+ text-align="center">
+ <xsl:value-of select="/content"/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </xsl:template>
+</xsl:stylesheet></pre><p>You also have to use a different serializer for this example, a serializer
+that can use the XML created by the stylesheet and produce PDF based on it.
+Cocoon ships this serializer as part of the FOP block. Since the block that you
+created probably doesn't have the FOP block added as dependency, this has to be
+done before you can test your pipeline. Adding a block requires editing the
+pom.xml of your block:</p><pre> <dependencies>
+ [...]
+ <dependency>
+ <groupId><strong>org.apache.cocoon</strong></groupId>
+ <artifactId><strong>cocoon-fop-impl</strong></artifactId>
+ <version><strong>1.0.0</strong></version>
+ </dependency>
+ [...]
+ </dependencies></pre><p>Rebuild your block</p><pre>mvn compile</pre><p>and start the servlet container again:</p><pre>mvn jetty:run</pre><p>Now you can point your browser at
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/myThirdPipeline</tt> and
+you will get a PDF as result.</p></div></div>
+ </body></document>
\ No newline at end of file
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Modularize Cocoon apps (Using blocks)</title><author email="[email protected]">Apache Cocoon Documentation Team</author></properties><body>
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Modularize Cocoon apps (Using blocks)</h1><p>In the basic tutorial <a href="1159_1_1.html">"Your first Cocoon application
+using Maven 2"</a> you created your first block. Cocoon 2.2 introduced the
+concept of blocks because it should help you to split your application into
+smaller parts. This increases the maintainability and reusability by orders of
+magnitude.</p><p>In this tutorial you will</p><ol type="1">
+<li>create a second block</li>
+<li>connect one block with another one</li>
+<li>use a pipeline fragement available in one block from within another block
+</li>
+</ol><h1>Create a second block</h1>For this purpose move into the <tt>getting-started-app</tt> directory and use
+the Maven 2 archetype command again:<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre>First choose the archetype:<pre>Choose archetype:
+1: remote -> cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+Â if you want to add another block to a Cocoon application)
+2: remote -> cocoon-22-archetype-block (Creates a Cocoon block containing some small
+Â samples)
+3: remote -> cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number: (1/2/3): <strong>2
+</strong></pre>Then respond to the other questions as follows:<pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myBlock2</strong>
+Define value for version: 1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myBlock2</strong></pre><p>The result is a second Cocoon block called myBlock2. You should find the
+directory structure of your application now looks as follows:</p><pre>getting-started-app
+<tt>Â +-</tt><tt>myBlock1
+ | +-pom.xml
+ | +-src
+ | +-[...]</tt>
+<tt>Â +-</tt><tt>myBlock2
+ +-pom.xml
+ +-src
+ +-[...]
+
+</tt></pre><p>Move into the myBlock2 folder and execute the following command:</p><pre>mvn install eclipse:eclipse</pre><p>This builds and copies the second block into your local Maven repository so
+that other dependent blocks and projects can see it and then creates the
+necessary files to allow you to import the block as a project in Eclipse.</p><h1>Connect two blocks</h1><p>Let's assume that you want to use a pipeline defined in <tt>myBlock2</tt>
+from within <tt>myBlock1</tt>. You have to establish the connection between the
+two blocks. Edit
+<tt>getting-started-app/<strong>myBlock1</strong>/src/main/resources/META-INF/cocoon/spring/block-servlet-service.xml:</tt>
+</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:servlet="http://cocoon.apache.org/schema/servlet"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://cocoon.apache.org/schema/servlet http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd">
+
+ <bean id="com.mycompany.myBlock1.service" class="org.apache.cocoon.sitemap.SitemapServlet">
+ <servlet:context mount-path="/myBlock1" context-path="blockcontext:/myBlock1/">
+<strong> <servlet:connections>
+ <entry key="myBlock2" value-ref="com.mycompany.myBlock2.service"/>
+ </servlet:connections></strong>
+ </servlet:context>
+ </bean>
+
+</beans>
+</pre><p>Additionally, you have to record the fact that myBlock1 has a dependency on
+myBlock2 by editing myBlock1's Maven project descriptor
+(<tt>getting-started-app/<strong>myBlock1</strong>/pom.xml</tt>):</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<project>
+ [...]
+ <dependencies>
+ [...]
+<strong> <dependency>
+ <groupId>com.mycompany</groupId>
+ <artifactId>myBlock2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency></strong>
+ </dependencies>
+ [...]
+</project>
+</pre><p>If you use the RCL goal of the Cocoon Maven plugin, you will also want to add
+the location of the new block to the configuration file of block1. This has the
+advantage that you can work on block2 and the changes take effect immediately.
+Open getting-started-app/myBlock1/rcl.properties and add</p><pre>com.mycompany.myBlock1.service%classes-dir=./target/classes
+
+<strong>com.mycompany.myBlock2.service%classes-dir=../myBlock2/target/classes
+%exclude-lib=com.mycompany:myBlock2
+</strong></pre><p>Restart the servlet container by invoking</p><pre>mvn jetty:run
+</pre><p>Now it's time to test connection. For that purpose add a pipeline to the
+sitemap of block1
+(<tt>getting-started-app/myBlock1/src/main/resources/COB-INF/sitemap.xmap</tt>):
+</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ [...]
+ <map:pipeline>
+ <map:match pattern="callingBlock2">
+ <map:generate src="<strong>servlet:myBlock2:/spring-bean</strong>" type="file"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ [...]
+ </map:pipelines>
+</map:sitemap>
+</pre><p>The file generator of this pipeline uses a special purpose protocol, the
+servlet protocol, to access a pipeline defined in the other block. If you enter
+<tt>http://localhost:8888/myBlock1/callingBlock2</tt> shows the output of the
+spring-bean pipeline of <tt>myBlock2</tt> but routed through <tt>myBlock1</tt>.
+<br/>
+Though this is a "<em>hello word</em>" style example you might already imagine
+the power of this protocol, e.g. you can move all styling resources and
+pipelines to a particular block.</p><h1>Use a pipeline fragment</h1><p>The previous example showed how you can call a pipeline from another block.
+But here is even more you can do! A sitemap can also provide pipeline fragements
+that can be used by other blocks:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="callingTransformationService">
+ <map:generate src="demo/welcome.xml"/>
+ <strong><map:transform type="servletService">
+ <map:parameter name="service"
+ value="servlet:myBlock2:/myXsltTransformation-service"/>
+ </map:transform></strong>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ </map:pipelines>
+</map:sitemap></pre><p>When the requests arrives at <tt>callingTransformationService</tt> pipeline,
+the generator produces SAX events of <tt>demo/welcome.xml</tt>. There is nothing
+special here. The interesting part comes with the following transformer of type
+<tt>servletService</tt>. It calls a transformation service which is provided by
+<tt>myBlock2</tt>.</p><p>Add this service to the sitemap of myBlock2
+(<tt>getting-started-app/myBlock2/src/main/resources/COB-INF/sitemap.xmap)</tt>.
+It consists of one XSLT transformation step:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="<strong>myXsltTransformation-service</strong>">
+ <map:generate src="<strong>service-consumer:</strong>"/>
+ <map:transform src="myXsltTransformation.xslt"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ </map:pipelines>
+</map:sitemap></pre><p>The generator uses the service-consumer protocol which initializes the
+service. Then the pipeline continues with an XSLT transformation
+<tt>myXsltTransformation.xslt</tt>, which has to be put into the same directory
+as the <tt>myBlock2</tt> sitemap:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+Â <xsl:template match="/">
+Â Â Â <html>
+Â Â Â Â Â <head>
+Â Â Â Â Â Â Â <title>Output of the XSLT transformation service.</title>
+Â Â Â Â Â </head>
+Â Â Â Â Â <body>
+Â Â Â Â Â Â Â Output of the XSLT transformation service.
+Â Â Â Â Â </body>
+Â Â Â </html>
+Â </xsl:template>
+</xsl:stylesheet>
+</pre><p>Point your browser at
+<tt>http://localhost:8888/myBlock1/callingTransformationService</tt> and see the
+output of the pipeline.</p><div class="note"><div><strong>Note: </strong>Besides transformation services there are also generation and
+serialization services.</div></div></div></div>
+ </body></document>
\ No newline at end of file
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - All Sitemap Components</title><author email="[email protected]">Apache Cocoon Documentation Team</author></properties><body>
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">All Sitemap Components</h1><p>A complete list of all available Sitemap components ordered by type:</p><h1>Generators</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1025_1_1.html">CalendarGenerator</a></td><td>calendar</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/913_1_1.html">CSVGenerator</a></td><td>csv</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1339_1_1.html">CSVGeneratorBean</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1043_1_1.html">DefaultContentAggregator</a></td><td/><td>core</td><
/tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/953_1_1.html">DirectoryGenerator</a></td><td>directory</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2
.2/937_1_1.html">ExceptionGenerator</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/999_1_1.html">FileGenerator</a></td><td>file</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1336_1_1.html">FileGeneratorBean</a></td><td>file</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1008_1_1.html">FragmentExtractorGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1030_1_1.html">ImageDirectoryGenerator</a></td><td>imagedirectory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1039_1_1.html">LinkStatusGenerator</a></td><td>linkstatus</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/960_1_1.html">MP
3DirectoryGenerator</a></td><td>mp3directory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1022_1_1.html">NotifyingGenerator</a></td><td/><td>core</td></tr><t
r class="a"><td><a href="../2.2/core-modules/core/2.2/973_1_1.html">PauseGenerator</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1337_1_1.html">PauseGeneratorBean</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/884_1_1.html">RequestGenerator</a></td><td>request</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1398_1_1.html">ServletServiceGenerator</a></td><td>servletService</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/932_1_1.html">SessionAttributeGenerator</a></td><td>sessionattribute</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/995_1_1.html">StatusGenerator</a></td><td>status</td><td>core</td></tr><tr class="a"><td
><a href="../2.2/core-modules/core/2.2/925_1_1.html">StreamGenerator</a></td><td>stream</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1016_1_1.html">Traversab
leGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/982_1_1.html">XPathDirectoryGenerator</a></td><td>xpathdirectory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/873_1_1.html">XPathTraversableGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/915_1_1.html">FormsGenerator</a></td><td/><td>forms</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/978_1_1.html">SuggestionListGenerator</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="../2.2/blocks/html/1.0/1129_1_1.html">HTMLGenerator</a></td><td>html</td><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/html/1.0/1090_1_1.html">NekoHTMLGenerator</a></td><td>nekohtml</td><td>html</td></tr><tr class
="a"><td><a href="../2.2/blocks/mail/1.0/1080_1_1.html">IMAPGenerator</a></td><td/><td>mail</td></tr><tr class="b"><td><a href="../2.2/blocks/template/1.0/976_1_1.html">JXTemplateGenerator</
a></td><td>jx</td><td>template</td></tr></tbody></table><h1>Transformers</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/910_1_1.html">BrowserUpdateTransformer</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/996_1_1.html">AugmentTransformer</a></td><td>augment</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/934_1_1.html">CIncludeTransformer</a></td><td>cinclude</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/867_1_1.html">EncodeURLTransformer</a></td><td>encodeurl</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/936_1_1.html">FilterTransformer</a>
</td><td>filter</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/948_1_1.html">FragmentExtractorTransformer</a></td><td/><td>core</td></tr><tr class="b"><td><a h
ref="../2.2/core-modules/core/2.2/981_1_1.html">I18nTransformer</a></td><td>i18n</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1048_1_1.html">IncludeTransformer</a></td><td>include</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/898_1_1.html">JPathTransformer</a></td><td>jpath</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1023_1_1.html">LinkGatherer</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/881_1_1.html">LinkTranslator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1029_1_1.html">LogTransformer</a></td><td>log</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/991_1_1.html">Paginator</a
></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/949_1_1.html">ReadDOMSessionTransformer</a></td><td>readDOMsession</td><td>core</td></tr><tr class="b"><t
d><a href="../2.2/core-modules/core/2.2/876_1_1.html">RoleFilterTransformer</a></td><td>role-filter</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1396_1_1.html">ServletServiceTransformer</a></td><td>servletService</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1028_1_1.html">SimpleFormInstanceExtractionTransformer</a></td><td>simple-form-instance</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/992_1_1.html">SimpleFormTransformer</a></td><td>simple-form</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1050_1_1.html">SourceWritingTransformer</a></td><td>sourcewriting</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1340_1_1.html">StripNameSpa
cesTransformer</a></td><td>stripnamespaces</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/923_1_1.html">TeeTransformer</a></td><td>tee</td><td>core</td></tr><t
r class="a"><td><a href="../2.2/core-modules/core/2.2/908_1_1.html">TraxTransformer</a></td><td>xslt</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1036_1_1.html">WriteDOMSessionTransformer</a></td><td>writeDOMsession</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/985_1_1.html">XIncludeTransformer</a></td><td>xinclude</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1331_1_1.html">XSLTTransformer</a></td><td>xslt</td><td>core</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/926_1_1.html">SQLTransformer</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/994_1_1.html">FormsTemplateTransformer</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="
../2.2/blocks/html/1.0/1103_1_1.html">CleanupTransformer</a></td><td/><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/html/1.0/1096_1_1.html">HTMLTransformer</a></td><td/><td>html
</td></tr><tr class="a"><td><a href="../2.2/blocks/html/1.0/1343_1_1.html">NekoHTMLTransformer</a></td><td/><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/linkrewriter/1.0/1102_1_1.html">LinkRewriterTransformer</a></td><td/><td>linkrewriter</td></tr><tr class="a"><td><a href="../2.2/blocks/linkrewriter/1.0/1134_1_1.html">VariableRewriterTransformer</a></td><td/><td>linkrewriter</td></tr><tr class="b"><td><a href="../2.2/blocks/mail/1.0/1099_1_1.html">SendMailTransformer</a></td><td/><td>mail</td></tr><tr class="a"><td><a href="../2.2/blocks/template/1.0/1012_1_1.html">JXTemplateTransformer</a></td><td/><td>template</td></tr><tr class="b"><td><a href="../2.2/blocks/template/1.0/957_1_1.html">TransformerAdapter</a></td><td/><td>template</td></tr></tbody></table><h1>Serializers</
h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/batik/1.0/1087_1_1.html">SVGSerial
izer</a></td><td/><td>batik</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/896_1_1.html">HTMLSerializer</a></td><td>html</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/959_1_1.html">LinkSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1395_1_1.html">ServletServiceSerializer</a></td><td>servletService</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/929_1_1.html">TextSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/870_1_1.html">XMLSerializer</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1000_1_1.html">ZipArchiveSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a hr
ef="../2.2/blocks/fop/1.0/1333_1_1.html">FOPNGSerializer</a></td><td/><td>fop</td></tr><tr class="b"><td><a href="../2.2/blocks/fop/1.0/1144_1_1.html">FOPSerializer</a></td><td/><td>fop</td>
</tr></tbody></table><h1>Matchers</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/1010_1_1.html">AjaxRequestMatcher</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/899_1_1.html">CachingRegexpMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1015_1_1.html">CachingWildcardMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/903_1_1.html">CookieMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/874_1_1.html">HeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/9
14_1_1.html">LocaleMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1007_1_1.html">MountTableMatcher</a></td><td/><td>core</td></tr><tr class="a
"><td><a href="../2.2/core-modules/core/2.2/897_1_1.html">ParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/972_1_1.html">RegexpHeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/940_1_1.html">RegexpHostMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/963_1_1.html">RegexpParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1005_1_1.html">RegexpRequestAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/997_1_1.html">RegexpRequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/961_1_1.ht
ml">RegexpSessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/922_1_1.html">RegexpURIMatcher</a></td><td/><td>core</td></tr><tr cla
ss="a"><td><a href="../2.2/core-modules/core/2.2/954_1_1.html">RequestAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1017_1_1.html">RequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1037_1_1.html">SessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1021_1_1.html">WildcardHeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/955_1_1.html">WildcardHostMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1034_1_1.html">WildcardMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1019_1_1.h
tml">WildcardParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/951_1_1.html">WildcardRequestAttributeMatcher</a></td><td/><td>core</td><
/tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1051_1_1.html">WildcardRequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/902_1_1.html">WildcardSessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1044_1_1.html">WildcardURIMatcher</a></td><td/><td>core</td></tr></tbody></table><h1>Selectors</h1><table class="bodyTable"><tbody><tr class="b"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="a"><td><a href="../2.2/blocks/ajax/1.0/945_1_1.html">AjaxRequestSelector</a></td><td/><td>ajax</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/924_1_1.html">BrowserSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="..
/2.2/core-modules/core/2.2/1042_1_1.html">CookieSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/931_1_1.html">ExceptionSelector</a></td><td/><
td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/890_1_1.html">HeaderSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/998_1_1.html">HostSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/911_1_1.html">ParameterSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/883_1_1.html">RegexpHeaderSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/956_1_1.html">RegexpRequestParameterSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/882_1_1.html">RequestAttributeSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2
.2/967_1_1.html">RequestMethodSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1018_1_1.html">RequestParameterSelector</a></td><td/><td>core</t
d></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/901_1_1.html">ResourceExistsSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/958_1_1.html">SessionAttributeSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1056_1_1.html">SimpleSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/969_1_1.html">XPathExceptionSelector</a></td><td/><td>core</td></tr></tbody></table><h1>Actions</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/1054_1_1.html">GetContinuationAction</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/block
s/auth/1.0/1335_1_1.html">LoggedInAction</a></td><td/><td>auth</td></tr><tr class="b"><td><a href="../2.2/blocks/auth/1.0/1341_1_1.html">LoginAction</a></td><td/><td>auth</td></tr><tr class=
"a"><td><a href="../2.2/blocks/auth/1.0/1332_1_1.html">LogoutAction</a></td><td/><td>auth</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1006_1_1.html">ClearCacheAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/933_1_1.html">ClearPersistentStoreAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/968_1_1.html">CopySourceAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/966_1_1.html">FormValidatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/868_1_1.html">HelloAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1049_1_1.html">HttpCacheAction</a></td><td/><
td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1057_1_1.html">HttpHeaderAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.
2/1020_1_1.html">InputModuleAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/889_1_1.html">LocaleAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1403_1_1.html">LogAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/909_1_1.html">PreemptiveLoaderAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1004_1_1.html">PropagatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/888_1_1.html">RequestParamAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/906_1_1.html">RequestParameterExistsAction</a></td><td/><td>core</td></tr><tr class="b">
<td><a href="../2.2/core-modules/core/2.2/885_1_1.html">ResourceExistsAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/872_1_1.html">SessionInval
idatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1031_1_1.html">SessionIsValidAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/965_1_1.html">SessionPropagatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/875_1_1.html">SessionStateAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/917_1_1.html">SessionValidatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/975_1_1.html">SetCharacterEncodingAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/983_1_1.html">SetterAction</a></td><td/><td>core</td></tr><tr class="b"><td><a
href="../2.2/blocks/databases/1.0/894_1_1.html">DatabaseAddAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/979_1_1.html">DatabaseAddAction</
a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/919_1_1.html">DatabaseAuthenticatorAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/1026_1_1.html">DatabaseCookieAuthenticatorAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/877_1_1.html">DatabaseDeleteAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/989_1_1.html">DatabaseDeleteAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/962_1_1.html">DatabaseQueryAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/1001_1_1.html">DatabaseSelectAction</a></td><td/><td>databa
ses</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/1013_1_1.html">DatabaseSelectAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases
/1.0/974_1_1.html">DatabaseUpdateAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/1014_1_1.html">DatabaseUpdateAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/905_1_1.html">OraAddAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/970_1_1.html">OraUpdateAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/904_1_1.html">HandleFormSubmitAction</a></td><td/><td>forms</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/1027_1_1.html">InitForm1Action</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/1035_1_1.html">MakeFormAction</a></td><td/><td>forms</td></tr><tr class=
"b"><td><a href="../2.2/blocks/mail/1.0/1091_1_1.html">MailAction</a></td><td/><td>mail</td></tr><tr class="a"><td><a href="../2.2/blocks/mail/1.0/1125_1_1.html">Sendmail</a></td><td/><td>ma
il</td></tr><tr class="b"><td><a href="../2.2/blocks/mail/1.0/1109_1_1.html">SendmailAction</a></td><td/><td>mail</td></tr></tbody></table></div></div>
+ </body></document>
\ No newline at end of file
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Deploying a Cocoon application</title><author email="[email protected]">Apache Cocoon Documentation Team</author></properties><body>
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Deploying a Cocoon application</h1><p>This tutorial is based on the
+<a href="1159_1_1.html">Your
+first Cocoon application using Maven 2</a> which shows how to bootstrap a Cocoon
+project and <a href="1291_1_1.html">Modularize Cocoon apps</a> which shows how
+inter-block communication works. If you haven't followed the latter tutorial,
+you can go through this tutorial nonetheless but you have to skip everything
+that refers to <tt>myBlock2</tt>.</p><p>In this tutorial, you will:</p><ol type="1">
+<li>Connect blocks to the webapp and run it</li>
+<li>Create a parent Maven POM for the webapp and block <br/>
+(a convenience which allows you to trigger cascading builds of both maven
+modules from a single command)</li>
+<li>Change the block mount point so that it is mounted at the root level context
+(typical for a web application's "main block")</li>
+</ol><h1>Creating a Cocoon web application</h1>For this tutorial you will use the Cocoon web application archetype to create
+a Cocoon block suitable for generating a war file which can be deployed on a
+servlet container such as Tomcat or Websphere etc. Change into the
+getting-started-app folder and type the following command: -<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre>Choose the web application archetype:<pre>Choose archetype:
+1: remote -> cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+Â if you want to add another block to a Cocoon application)
+2: remote -> cocoon-22-archetype-block (Creates a Cocoon block containing some small
+Â samples)
+3: remote -> cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number: (1/2/3): <strong>3
+</strong></pre>Then respond to the other questions as follows:<pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myCocoonWebApp</strong>
+Define value for version: 1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myCocoonWebApp</strong>
+</pre><p>Looking at the filesystem, you should find following directory structure:</p><pre>getting-started-app
+<tt>Â +-</tt><tt>myBlock1
+ | +-pom.xml
+ | +-src
+ | +-[...]
+</tt><tt>Â +-</tt><tt>myBlock2
+ | +-pom.xml
+ | +-src
+ | +-[...]</tt>
+<tt>Â +-</tt><tt><tt>myCocoonWebapp</tt></tt><tt>
+ +-pom.xml
+ +-src
+ +-[...]</tt>
+</pre><h1>Using a block within the web application</h1><p>In order to use blocks as dependencies you need to <em>install</em> them into
+Maven's local repository. First go to <tt>myBlock1/</tt> directory and execute
+following command:</p><pre>mvn install
+</pre><p>Then go to <tt>myBlock2/</tt> and execute the same command. This way both
+blocks will get installed into local repository where Maven stores all artifacts
+that can be used as dependencies.</p><p>So far the web application <tt>myCocoonWebapp</tt> doesn't have any
+information about the existense of the block <tt>myBlock1</tt> and
+<tt>myBlock2</tt>. Change this by opening
+<tt>getting-started-app/myCocoonWebapp/pom.xml</tt> and add the block as
+dependency:</p><pre><project>
+Â [...]
+Â Â Â <dependencies>
+Â Â Â Â Â <dependency>
+<strong>Â Â Â Â Â Â Â <groupId><strong><tt>com.mycompany</tt></strong></groupId>
+Â Â Â Â Â Â Â <artifactId><strong>myBlock1</strong></artifactId>
+Â Â Â Â Â Â Â <version><strong>1.0-SNAPSHOT</strong></version></strong>
+Â Â Â Â Â </dependency>
+Â Â Â Â Â <dependency>
+<strong>Â Â Â Â Â Â Â <groupId><strong><tt>com.mycompany</tt></strong></groupId>
+Â Â Â Â Â Â Â <artifactId><strong>myBlock2</strong></artifactId>
+Â Â Â Â Â Â Â <version><strong>1.0-SNAPSHOT</strong></version></strong>
+Â Â Â Â Â </dependency>
+Â Â Â </dependencies>
+Â [...]
+</project></pre><p>That's it. Now it's time to run the web application. Move into
+<tt>getting-started-app/myCocoonWebapp</tt> and call</p><pre>mvn package jetty:run</pre><p>from there.<br/>
+Open your favorite web browser and call</p><pre>http://localhost:8888/myBlock1/</pre><p>That's it!</p><h1>Creating a parent pom</h1><p>For your convenience you can create a parent pom for the three Maven modules.
+Create a file <tt>getting-started-app/pom.xml</tt> with following content:</p><pre><project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>pom</packaging>
+
+ <groupId>com.mycompany</groupId>
+ <artifactId>getting-started-app</artifactId>
+ <version>1-SNAPSHOT</version>
+
+ <name>Cocoon Getting Stared application [parent]</name>
+
+ <modules>
+ <module><strong><tt>myCocoonWebapp</tt></strong></module>
+ <module><strong>myBlock1</strong></module>
+ <module><strong>myBlock2</strong></module>
+ Â </modules>
+</project>
+</pre><p>Having a parent pom file, you can trigger a reactor build from root, e.g. you
+can call mvn install from root which will compile, package and install the
+webapp and the block. Maven also takes care that the modules are build,
+according to the dependency graph, in the correct order.</p><p>If you want to inherit information (e.g. plugin configurations, properties,
+etc.) from the new parent pom to its child modules, you have to add the parent
+element to <tt>getting-started-app/myCocoonWebapp/pom.xml</tt> ,
+<tt>getting-started-app/myBlock1/pom.xml</tt> and
+<tt>getting-started-app/myBlock2/pom.xml</tt>:</p><pre><project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ [...]
+<strong> <parent>
+ <groupId>com.mycompany</groupId>
+ <artifactId>getting-started-app</artifactId>
+ <version>1-SNAPSHOT</version>
+ </parent></strong>
+ [...]
+
+</project></pre><h1>Mounting your block at the root level</h1><p>You can mount your block at the root level in the application URI space, so
+that instead of using (for example) the URI
+<tt>http://localhost:8888/myBlock1/foo/bar</tt> to request a page, you would
+request it at <tt>http://localhost:8888/foo/bar</tt>.</p><p>To do this, edit
+<tt>myBlock1/src/main/resources/META-INF/cocoon/spring/blockServlet.xml </tt>,
+and change the element</p><pre> <property name="mountPath" value="/myBlock1"/>
+</pre><p>to</p><pre> <property name="mountPath" value=""/>
+</pre><p>and then run:</p><pre> <tt>mvn install</tt></pre></div></div>
+ </body></document>
\ No newline at end of file
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.