Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 95256 invoked from network); 13 Jan 2009 17:11:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Jan 2009 17:11:08 -0000 Received: (qmail 10450 invoked by uid 500); 13 Jan 2009 17:11:07 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 10390 invoked by uid 500); 13 Jan 2009 17:11:07 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 10371 invoked by uid 99); 13 Jan 2009 17:11:07 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jan 2009 09:11:07 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jan 2009 17:10:56 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id AE8A5238895D; Tue, 13 Jan 2009 09:10:34 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r734183 [1/2] - in /cocoon/site/site/3.0: ./ reference/ reference/html-single/ reference/html-single/css/ reference/html/ reference/html/css/ reference/pdf/ Date: Tue, 13 Jan 2009 17:10:16 -0000 To: cvs@cocoon.apache.org From: reinhard@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090113171034.AE8A5238895D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: reinhard Date: Tue Jan 13 09:10:04 2009 New Revision: 734183 URL: http://svn.apache.org/viewvc?rev=734183&view=rev Log: update docs for the upcoming release Modified: cocoon/site/site/3.0/building.html cocoon/site/site/3.0/changes-report.html cocoon/site/site/3.0/dependencies.html cocoon/site/site/3.0/download.html cocoon/site/site/3.0/features.html cocoon/site/site/3.0/index.html cocoon/site/site/3.0/integration.html cocoon/site/site/3.0/issue-tracking.html cocoon/site/site/3.0/license.html cocoon/site/site/3.0/mail-lists.html cocoon/site/site/3.0/project-info.html cocoon/site/site/3.0/project-reports.html cocoon/site/site/3.0/project-summary.html cocoon/site/site/3.0/reference/html-single/css/html.css cocoon/site/site/3.0/reference/html-single/index.html cocoon/site/site/3.0/reference/html/css/html.css cocoon/site/site/3.0/reference/html/index.html cocoon/site/site/3.0/reference/html/introduction.html cocoon/site/site/3.0/reference/html/pipelines.html cocoon/site/site/3.0/reference/index.html cocoon/site/site/3.0/reference/pdf/cocoon3-reference.pdf cocoon/site/site/3.0/roadmap.html cocoon/site/site/3.0/source-repository.html cocoon/site/site/3.0/team-list.html Modified: cocoon/site/site/3.0/building.html URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/building.html?rev=734183&r1=734182&r2=734183&view=diff ============================================================================== --- cocoon/site/site/3.0/building.html (original) +++ cocoon/site/site/3.0/building.html Tue Jan 13 09:10:04 2009 @@ -69,9 +69,9 @@

Cocoon 3

@@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -140,14 +136,14 @@
  • -

    Changes Report

    Release History

    VersionDateDescription
    3.0.0-alpha-2-SNAPSHOT2008-00-00unreleased
    3.0.0-alpha-12008-00-00unreleased


    Release 3.0.0-alpha-2-SNAPSHOT - 2008-00-00

    TypeChangesBy
    fix[cocoon-sitemap] Make junit-addons a test dependency.reinhard

    Release 3.0.0-alpha-1 - 2008-00-00

    TypeChangesBy
    addInitial creation.reinhard
    +

    Changes Report

    Release History

    VersionDateDescription
    3.0.0-alpha-12008-12-18released

    Release 3.0.0-alpha-1 - 2008-12-18

    TypeChangesBy
    addInitial creation.reinhard
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -140,14 +136,43 @@
  • -

    Cocoon 3 hasn't been released yet.

    +

    Maven 2 artifacts

    Cocoon pipelines

    The 'cocoon-pipeline' library was designed to be used stand-a lone without any other dependencies than Apache Commons Logging:

    <dependency>
    +  <groupId>org.apache.cocoon.pipeline</groupId>
    +  <artifactId>cocoon-pipeline</artifactId>
    +  <version>3.0.0-alpha-1</version>
    +</dependency>
    +

    In order to use the other Cocoon 3 modules (web applications, REST support, etc.), we highly recommend to start off with the archetypes listed below.

    Maven 2 archetypes

    Create a Cocoon 3 block that contains the samples. After running the archetype plugin, change to the base directory of the new module and enter 'mvn jetty:run' and point your browser at http://localhost:8080: If you use Eclipse, run 'mvn eclipse:eclipse' before and import the project into your workspace. Your resources but also the Java files are reloaded at runtime.

    mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create 
    +    -DarchetypeGroupId=org.apache.cocoon.archetype-sample 
    +    -DarchetypeArtifactId=cocoon-archetype-sample 
    +    -DarchetypeVersion=3.0.0-alpha-1 
    +    -DgroupId=com.mycompany 
    +    -DartifactId=mysample 
    +

    Create an empty Cocoon 3 block in order to create your own Cocoon 3 web application.

    mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create 
    +    -DarchetypeGroupId=org.apache.cocoon.archetype-block 
    +    -DarchetypeArtifactId=cocoon-archetype-block 
    +    -DarchetypeVersion=3.0.0-alpha-1 
    +    -DgroupId=com.mycompany 
    +    -DartifactId=mysite 
    +

    Create an empty Java web application project. After that add your Cocoon block as dependency.

    mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create 
    +    -DarchetypeGroupId=org.apache.cocoon.archetype-webapp 
    +    -DarchetypeArtifactId=cocoon-archetype-webapp 
    +    -DarchetypeVersion=3.0.0-alpha-1 
    +    -DgroupId=com.mycompany 
    +    -DartifactId=mywebapp
    +

    Create a parent module for your Cocoon project.

    mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create 
    +    -DarchetypeGroupId=org.apache.cocoon.archetype-parent 
    +    -DarchetypeArtifactId=cocoon-archetype-parent 
    +    -DarchetypeVersion=3.0.0-alpha-1 
    +    -DgroupId=com.mycompany 
    +    -DartifactId=myparent 
    +
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -198,7 +194,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -140,7 +136,7 @@
  • -

    Apache Cocoon 3

    Apache Cocoon 3 is a major rewrite of Cocoon 2.2. Like Cocoon 2 it is based around the concept of pipelines and sitemaps and it is very similar to Cocoon 2.2 in many respects but is slimmed down and designed to be easily usable from within any Java environment. On top of this, Cocoon 3 has the goal of becoming the best available platform for RESTful webservices and web applications.

    Using Pipelines in Java has never been so easy

    Here is an example that transforms an XML String by using two stylesheets:

    Pipeline pipeline = new NonCachingPipeline();
    +         

    Apache Cocoon 3

    Apache Cocoon 3 is a major rewrite of Cocoon 2.2. Like Cocoon 2 it is based around the concept of pipelines and sitemaps and it is very similar to Cocoon 2.2 in many respects but is slimmed down and designed to be easily used with Java code (= no frameworks required!). On top of this, Cocoon 3 has the goal of becoming the best available platform for RESTful webservices and web applications.

    Download

    Apache Cocoon 3.0.0-alpha-1 is available for download.

    Using Pipelines in Java has never been so easy

    Here is an example that transforms an XML String by using two stylesheets:

    Pipeline pipeline = new NonCachingPipeline();
     pipeline.addComponent(new StringGenerator("<x></x>"));
     pipeline.addComponent(new XSLTTransformer(this.getClass().getResource("/test1.xslt")));
     pipeline.addComponent(new XSLTTransformer(this.getClass().getResource("/test2.xslt")));
    @@ -156,7 +152,7 @@
         
         
              
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -348,7 +344,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
    @@ -97,10 +97,6 @@
  • - Userguide -
  • - -
  • Features
  • @@ -126,7 +122,7 @@
  • - API + API
  • @@ -147,7 +143,7 @@
  • Cocoon 3.0 ALPHA

    Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright - Notice, whether distributed in print or electronically.


    Chapter 1. Introduction

    1.1. Why Cocoon 3 - Motivation

    TBW

    1.2. Requirements

    TBW

    Chapter 2. Pipelines

    2.1. What is a pipeline?

    TBW

    2.2. Pipeline implementations

    TBW: noncaching, caching, async-caching, expires caching, own implementations

    2.3 . Embedding a pipeline

    TBW: Passing parameters to the pipeline and to its components

    2.4. Components

    TBW: SAX, StAX, own implementations

    Chapter 3. Sitemaps

    3.1. What is a sitemap?

    TBW

    3.2. Sitemap evaluation?

    TBW

    3.3. Expression languages

    TBW

    3.4. Spring integration

    TBW

    3.5. Embedding a sitemap

    TBW

    Chapter 4. Web applications

    4.1. Usage scenarios

    TBW

    4.2. Servlet-Service framework integration

    TBW: Composition, servlet: protocol, inheritence

    4.3. Sitemaps in an HTTP environement

    TBW: Status codes, Conditional GET requests, Mime-type handling

    4.4. System setup

    TBW: Logging, JNet, Configuration, Spring integration Deployment: Blocks as deployment units AND Creating a web archive (WAR), Devleopment with Eclispe and Maven

    4.5.&n bsp;Connecting pipeline fragments

    TBW

    4.6. RESTful web services

    TBW: REST controller, Rendering views using StringTemplate, Request-wide transactions (incl. Subrequests)

    4.7. Caching and conditional GET requests

    TBW

    4.8. Authentication

    TBW

    4.9. Testing

    TBW: Integeration tests

    4.10. Tutorial

    TBW

    + Notice, whether distributed in print or electronically.


    Chapter 1. Introduction

    1.1. Why Cocoon 3 - Motivation

    + The main idea behind Cocoon is the concept of pipelines. Cocoon 1.x and 2.x + applied this idea with a focus on web applications. + But sometimes pipelines would be useful although you don't develop a web application. + Those former Cocoon versions don't really help you in that case. +

    + In contrast, Cocoon 3 follows a layered approach so that its basic module - + the pipeline module - can be used from within any Java environment without + requiring you adding a huge stack of dependencies. +

    + On top of this, Cocoon 3 has the goal to make the development of + RESTful web services and web applications a simple task. +

    1.2. Relationship to previous versions

    + Cocoon 3 has been built completely from scratch and doesn't have any dependencies + on Cocoon 2.x or 1.x. +

    1.3. Requirements

    + Cocoon 3 requires Java 5 or higher. +

    Chapter 2. Pipelines

    2.1. What is a pipeline?

    + 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. +

    + A pipeline works based on two fundamental concepts: +

    • The first component of a pipeline is of type + org.apache.cocoon.pipeline.component.Starter. + The last component is of type org.apache.cocoon.pipeline.component.Finisher. +

    • + In order to link components with each other, the first has to be a + org.apache.cocoon.pipeline.component.Finisher, the latter + org.apache.cocoon.pipeline.component.Producer. +

    + 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 Producer to decide whether a specific Consumer + can be linked to it or not (that is, whether it can produce output in the desired format of the Consumer + or not). It is also conceivable that a Producer is capable of accepting different types of + Consumer and adjust the output format +

    2.1.1. Linear pipelines

    + 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. +

    + If non-linear XML pipes with runtime-support for conditionals, loops, tees and error-flows are a requirement for you, + see the XProc standard of the W3C. There + are several available implementations for it. +

    2.1.2. Pipelines by example

    + 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 + Starter and a Producer, a transformer can't be neither a + Starter, nor a Finisher but is always a Producer + and a Consumer and a serializer is a Consumer and a Finisher. +

    + Here is some Java code that demonstrates how a pipeline can be utilized with SAX-based XML components: +

    Pipeline pipeline = new NonCachingPipeline();                                            (1)
    +pipeline.addComponent(new StringGenerator("<x></x>"));                                   (2)
    +pipeline.addComponent(new XSLTTransformer(this.getClass().getResource("/test1.xslt")));  (3)
    +pipeline.addComponent(new XSLTTransformer(this.getClass().getResource("/test2.xslt")));  (4)
    +pipeline.addComponent(new XMLSerializer());                                              (5)
    +
    +pipeline.setup(System.out);                                                              (6)
    +pipeline.execute();                                                                      (7)
    +
    1

    + Create a NonCachingPipeline. It's the simplest available pipeline implementation. The + org.apache.cocoon.pipeline.Pipeline interface doesn't impose any restrictions on the + content that flows in it. +

    2

    + Add a generator, that implements the org.apache.cocoon.pipeline.component.PipelineComponent interface to the + pipeline by using the pipeline's addComponent(pipelineComponent) interface. +

    + The StringGenerator expects a java.lang.String object and produces SAX events by using a SAX parser. + Hence it has to implement the org.apache.cocoon.pipeline.component.sax.SAXProducer interface. +

    + The SAXProducer interface extends the org.apache.cocoon.pipeline.component.Producer interface. This + means that it expects the next (or the same!) component to implement the org.apache.cocoon.pipeline.component.Consumer + interface. The check that the next pipeline component is of type org.apache.cocoon.pipeline.component.sax.SAXConsumer + isn't done at interface level but by the implementation (see the org.apache.cocoon.pipeline.component.sax.AbstractXMLProducer + for details which the StringGenerator is inherited from). +

    + Since a generator is the first component of a pipeline, it also has to implement the Starter interface. +

    3

    + Add a transformer, that implements the org.apache.cocoon.pipeline.component.PipelineComponent interface to the + pipeline by using the pipeline's addComponent(pipelineComponent) interface. +

    + This XSLTTransformer expects the java.net.URL of an XSLT stylesheet. It uses the rules of the stylesheet + to add, change or delete nodes of the XML SAX stream. +

    + Since it implements the org.apache.cocoon.pipeline.component.Consumer interface, it fulfills the general contract that a Consumer + is linked with a Producer. By implementing the org.apache.cocoon.pipeline.component.sax.SAXConsumer interface, + it fulfills the specific requirement of the previous StringGenerator that expects a next pipeline component of that type. +

    + This transformer also implements the org.apache.cocoon.pipeline.component.sax.SAXProducer interface. This interface extends the + org.apache.cocoon.pipeline.component.Producer interface which means that the next component has to be a + org.apache.cocoon.pipeline.component.Consumer. Like the previous StringGenerator, the XSLTTransformer + inherits from the org.apache.cocoon.pipeline.component.sax.AbstractXMLProducer which contains the check that the next component + is of type org.apache.cocoon.pipeline.component.sax.SAXConsumer. +

    4

    + Add another transformer to the pipeline. A pipeline can contain any number of components that implement the Producer and + Consumer interfaces at the same time. However, they mustn't be neither of type Starter nor Finisher. +

    5

    + Add a serializer, that implements the org.apache.cocoon.pipeline.component.PipelineComponent interface to the + pipeline by using the pipeline's addComponent(pipelineComponent) interface. +

    + The XML serializer receives SAX events and serializes them into an java.io.OutputStream. +

    + A serializer component is the last component of a pipeline and hence it has to implement the org.apache.cocoon.pipeline.Finisher + interface. +

    + Since it receives SAX events, it implements the org.apache.cocoon.pipeline.sax.SAXConsumer interface. +

    6

    + A pipeline has to be initialized first by calling its setup(outputStream) method. This method expects the output stream + where the pipeline result should be streamed. +

    7

    + After the pipeline has been initialized, it can be executed by invoking its execute() method. The first pipeline component, a Starter, + will be invoked which will trigger the next component and so on. Finally the last pipeline component, a Finisher will be reached which is responsible + for the serialization of the pipeline content. +

    + Once the pipeline has been started, it either succeeds or fails. There is no way to react on any (error) conditions. +

    Table 2.1. SAX components and their interfaces

    Component typeStructural interfacesContent-specific interfaces  
    SAX generatorStarter, Producer, PipelineComponentSAXProducer  
    SAX transformerProducer, Consumer, PipelineComponentSAXProducer, SAXConsumer  
    SAX serializerFinisher, Consumer, PipelineComponentSAXConsumer  

    2.2. Pipeline implementations

    TBW: noncaching, caching, async-caching, expires caching, own implementations

    2.3. Embedding a pipeline

    TBW: Passing parameters to the pipeline and its components, finsih() method

    2 .4. SAX components

    concept, writing custom SAX components, link to Javadocs

    2.4.1. Available components

    Link to Javadocs

    2.4.2. Writing custom components

    2.4.2.1. SAX generator

    explain from a user's point of view, what she needs to do to implement one + (available abstract classes) +

    2.4.2.2. SAX transformer

    explain from a user's point of view, what she needs to do to implement one

    buffering

    2.4.2.3. SAX serializer

    explain from a user's point of view, what she needs to do to implement one

    2.5. StAX components

    explain StAX in general, advantages (ease of writing fast transformers), links to external sources

    2.5.1. Available components

    Link to Javadocs

    2.5.2. Writing custom components

    2.5.2.1. StAX generator

    explain from a user's point of view, what she needs to do to implement one + (available abstract classes) +

    2.5.2.2. StAX transformer

    explain from a user's point of view, what she needs to do to implement one

    explain navigators by example

    2.5.2.3. StAX serializer

    explain from a user's point of view, what she needs to do to implement one

    2.5.3. Using StAX and SAX components in the same pipeline

    2.5.4. Java 1.5 support

    What do you have to do to use StAX components, in a Java 1.5 environment

    2.6. Utilities

    TBW: XMLUtils, TransformUtils

    Chapter 3. Sitemaps

    3.1. What is a sitemap?

    TBW

    3.2. Sitemap evaluation?

    TBW

    3.3. Expression languages

    TBW

    3.4. Spring integration

    TBW

    3.5. Embedding a sitemap

    TBW

    Chapter 4. Web applications

    4.1. Usage scenarios

    TBW

    4.2. Servlet-Service framework integration

    TBW: Composition, servlet: protocol, inheritence

    4.3. Sitemaps in an HTTP environement

    TBW: Status codes, Conditional GET requests, Mime-type handling

    4.4. System setup

    TBW: Logging, JNet, Configuration, Spring integration Deployment: Blocks as deployment units AND Creating a web archive (WAR), Devleopment with Eclispe and Maven

    4.5. Connecting pipeline fragments

    TBW

    4.6. RESTful web services

    TBW: REST controller, Rendering views using StringTemplate, Request-wide transactions (incl. Subrequests)

    4.7. Caching and conditional GET requests

    TBW

    4.8. Authentication

    TBW

    4.9. Testing

    TBW: Integeration tests

    4.10. Tutorial

    TBW

    Modified: cocoon/site/site/3.0/reference/html/css/html.css URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/html/css/html.css?rev=734183&r1=734182&r2=734183&view=diff ============================================================================== --- cocoon/site/site/3.0/reference/html/css/html.css (original) +++ cocoon/site/site/3.0/reference/html/css/html.css Tue Jan 13 09:10:04 2009 @@ -328,4 +328,12 @@ .mhSpacer { padding: 129px 0 0 0; } + +div.calloutlist * td { + text-align: left; +} + +body { + text-align: left; +} /* END */ Modified: cocoon/site/site/3.0/reference/html/index.html URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/html/index.html?rev=734183&r1=734182&r2=734183&view=diff ============================================================================== --- cocoon/site/site/3.0/reference/html/index.html (original) +++ cocoon/site/site/3.0/reference/html/index.html Tue Jan 13 09:10:04 2009 @@ -5,4 +5,4 @@

    Cocoon 3.0 ALPHA

    Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright - Notice, whether distributed in print or electronically.


    + Notice, whether distributed in print or electronically.


    Modified: cocoon/site/site/3.0/reference/html/introduction.html URL: http://svn.apache.org/viewvc/cocoon/site/site/3.0/reference/html/introduction.html?rev=734183&r1=734182&r2=734183&view=diff ============================================================================== --- cocoon/site/site/3.0/reference/html/introduction.html (original) +++ cocoon/site/site/3.0/reference/html/introduction.html Tue Jan 13 09:10:04 2009 @@ -1,3 +1,20 @@ - Chapter 1. Introduction

    Chapter 1. Introduction

    1.1. Why Cocoon 3 - Motivation

    TBW

    1.2. Requirements

    TBW

    + Chapter 1. Introduction

    Chapter 1. Introduction

    1.1. Why Cocoon 3 - Motivation

    + The main idea behind Cocoon is the concept of pipelines. Cocoon 1.x and 2.x + applied this idea with a focus on web applications. + But sometimes pipelines would be useful although you don't develop a web application. + Those former Cocoon versions don't really help you in that case. +

    + In contrast, Cocoon 3 follows a layered approach so that its basic module - + the pipeline module - can be used from within any Java environment without + requiring you adding a huge stack of dependencies. +

    + On top of this, Cocoon 3 has the goal to make the development of + RESTful web services and web applications a simple task. +

    1.2. Relationship to previous versions

    + Cocoon 3 has been built completely from scratch and doesn't have any dependencies + on Cocoon 2.x or 1.x. +

    1.3. Requirements

    + Cocoon 3 requires Java 5 or higher. +