History
The early years
Cocoon started simply enough. In 1998 Jon Stevens -- of Apache JServ, +
History
The early years
Cocoon started simply enough. In 1998 Jon Stevens -- of Apache JServ, Turbine, Velocity, Anakia, and Tigris Scarab fame -- and I created scripts that managed the automatic update of the java.apache.org site. The scripts were dead simple: iterate over all the CVS modules that java.apache.org had under the @@ -309,7 +309,7 @@ static, some of which may be easier to create by using Cocoon functionalities than directly (say, SVG rasterization or applying stylesheets). For example, the Cocoon documentation and web site are all generated by Cocoon from the command -line.
The history will continue here...
by Stefano Mazzocchi
Cocoon 2.1
Cocoon 2.1 tried to overcome the flaws of 2.0 and simplify the sitemap.
Cocoon 2.2
Currently Cocoon 2.2 is under development. Some major changes have happened +line.
The history will continue here...
by Stefano Mazzocchi
Cocoon 2.1
Cocoon 2.1 tried to overcome the flaws of 2.0 and simplify the sitemap.
Cocoon 2.2
Currently Cocoon 2.2 is under development. Some major changes have happened between 2.1 and 2.2: the build process moved from Ant to Maven2 and the underlying Avalon framework was replaced by Spring. The change in build system also allowed a separation of the Cocoon blocks into separate projects, each with Modified: cocoon/site/site/1199_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1199_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1199_1_1.html (original) +++ cocoon/site/site/1199_1_1.html Sun Jul 20 11:18:29 2008 @@ -304,12 +304,12 @@
Releasing Cocoon
As Cocoon uses Maven 2 as build system, the release process is very simple -and only requires a few steps.
Step 1: Prepare your workstation
In order to get started, you have to make sure that your work station is -configured correctly:
Java
Make sure that you use Java 1.4. Usually this means setting JAVA_HOME -correctly.
GnuPG
Install GnuPG on your workstation and +and only requires a few steps.
Step 1: Prepare your workstation
In order to get started, you have to make sure that your work station is +configured correctly:
Java
Make sure that you use Java 1.4. Usually this means setting JAVA_HOME +correctly.
GnuPG
Install GnuPG on your workstation and make sure that YOUR key is your default local key. Also add the key to KEYS. -
Maven 2
Unix based systems
-
+
- make sure that you can login to people.apache.org using keys (http://hacks.oreilly.com/pub/h/66) @@ -329,13 +329,13 @@ </settings>
Maven 2
Unix based systems
Win32 based systems
Daisy
It's also a good idea to publish our docs while preparing a release. The +your local repository.Win32 based systems
Daisy
It's also a good idea to publish our docs while preparing a release. The reason for this is that when a release is created, the information about versions (Javadocs, dependencies overview, etc.) exactly reflects the content of the released artifact.For that purpose configure your settings.xml as explained in How to build the site locally and give it a dry-run as -explained in this document before you do the actual release
Step 2: Releasing POM artifacts
-
+explained in this document before you do the actual release
- refer to an already released parent in pom.xml
- mvn -N -Dusername=[svn-user-name] -Dpassword=******** release:prepare
-Darguments="-N"
@@ -350,7 +350,7 @@ should manually change all poms that have 2-SNAPSHOT for this parent to 3-SNAPSHOT. Otherwise the trunk build will use "old" ie already released artifacts, which is not desired. The pu.sh script in -cocoon/trunk/tools/pom-updater helps to make the update easier.Step 3: Releasing JAR artifacts
-
+cocoon/trunk/tools/pom-updater helps to make the update easier.
- refer to an already released parent in pom.xml
- replace all SNAPSHOT dependencies with already deployed artifacts
- the dependencies of a POM don't contain version numbers because they are @@ -384,7 +384,7 @@
- Point all artifacts in trunk to the new snapshot version of this artifact. For this purpose update the dependencies management section of the root pom. -
Step 3: Releasing JAR artifacts
Additional instructions for special modules
Multi-module release of Cocoon Core
-
+
Additional instructions for special modules
Multi-module release of Cocoon Core
- Before you can invoke a multi-module release of Cocoon core, go to /trunk/core-modules/pom.xml and enable the dependency management section. This has to contain the complete list of all to be released modules. @@ -394,7 +394,7 @@ resolve test-jar dependencies from within the release plugin.
- After the release deactivate the dependencyManagement section in /trunk/core-modules/pom.xml again. -
Maven plugin
-
+
Maven plugin
- Release the cocoon-rcl-spring-reloader and the cocoon-rcl-webapp-wrapper modules first.
- The Maven plugin has two special dependencies that MUSTN'T be declared from @@ -404,23 +404,23 @@ and set the constants LIB_VERSION_WRAPPER and LIB_VERSION_SPRING_RELOADER to the to-be-released version.
- After the release, set the version to the new SNAPSHOT version. -
Step 4: Build Cocoon
The next step is testing whether you have set all dependencies on parent or +Step 4: Build Cocoon
The next step is testing whether you have set all dependencies on parent or other modules correctly. The best way to do this is pointing to an empty local repository in your ~/.m2/settings.xml file again and do a mvn install -P -allblocks from ./cocoon/trunk.Step 5: Build the Non-Maven release artifacts
In cocoon/trunk/tools/release-builder there is an Ant script that +allblocks from ./cocoon/trunk.Step 5: Build the Non-Maven release artifacts
In cocoon/trunk/tools/release-builder there is an Ant script that creates release artifacts for blocks, the core, the servlet-service framework and the Cocoon configuration project. Read the instructions at the top of the script and make sure that your system that builds the artifacts is configured -properly.Step 6: Call for a vote
Call for a vote that includes information about-
+properly.
- the name and the version of the artifact
- the SVN tag (actually we are voting on SCM tags; we have to trust in the release manager that the binaries are generated from the tag)
- how to test it
- time how long the vote will stay open
- pointer to the changes document -
Step 6: Call for a vote
Call for a vote that includes information aboutFixme: Add a mail template hereStep 7: Publish the artifacts
If the vote passes, the artifacts are copied to public locations:Maven repository
Copy the artifacts to the Apache sync repository:cp -R /x1/www/people.apache.org/builds/cocoon/ /x1/www/people.apache.org/repo/m2-ibiblio-rsync-repository/ +
This will give me (or any other committer if I'm busy) all necessary -information needed for values update.Fixme: Add a mail template hereStep 7: Publish the artifacts
If the vote passes, the artifacts are copied to public locations:Maven repository
Copy the artifacts to the Apache sync repository:cp -R /x1/www/people.apache.org/builds/cocoon/ /x1/www/people.apache.org/repo/m2-ibiblio-rsync-repository/
If everything worked fine, you you can delete -/x1/www/people.apache.org/builds/cocoon/org.Apache distribution site
Then copy the distribution artifacts (aka Non-Maven release artifacts):Step 8: Announce the release
Fixme: Add a template hereStep 9: Update JIRA fields
Cocoon has its own JIRA fields of similar meaing to standard fields +/x1/www/people.apache.org/builds/cocoon/org.Apache distribution site
Then copy the distribution artifacts (aka Non-Maven release artifacts):Step 8: Announce the release
Fixme: Add a template hereStep 9: Update JIRA fields
Cocoon has its own JIRA fields of similar meaing to standard fields Affects Version and Fix version but scoped to one component (usually block) only. Administration of these fields can be done only by users having JIRA administration rights (project administration rights are not @@ -440,7 +440,7 @@ Version in a released POM: 1.0.0-RC2 Version in the POM file *after* preparing the release: 1.0.0-RC3-SNAPSHOTTips and tricks
-
+information needed for values update.
- You can probably omit the username and password if you have committed to the cocoon repository before, SVN should have cached your login credentials. (anyway that's how it was for me on Mac OS X) @@ -451,7 +451,7 @@
- You can reach the staging repository via http at http://people.apache.org/builds/cocoon/ -
- Documentation of the Maven release plugin Modified: cocoon/site/site/1214_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1214_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1214_1_1.html (original) +++ cocoon/site/site/1214_1_1.html Sun Jul 20 11:18:29 2008 @@ -328,7 +328,7 @@ /trunk directory and it should detect the newly created blocks as projects.
Tips and tricks
More readings
-
+
More readings
Note: Note that you need to declare the M2_REPO classpath variable in your workspace, it should point to your local m2 repository. The Maven eclipse -plugin offers a goal for this purpose: mvn eclipse:add-maven-repo +plugin offers a goal for this purpose: mvn eclipse:add-maven-repo -Dworkspace=[path-to-your-local-maven-repo]You can also get Eclipse to download the sources of dependent libraries and attach them to the jars in Eclipse :
$ mvn -DdownloadSources=true eclipse:eclipse
For further information about the Maven Eclipse plugin visit http://maven.apache.org/plugins/maven-eclipse-plugin/. Modified: cocoon/site/site/1223_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1223_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1223_1_1.html (original) +++ cocoon/site/site/1223_1_1.html Sun Jul 20 11:18:29 2008 @@ -322,12 +322,12 @@ set has its own collection which is used by the Daisy export plugin in Maven to build the complete site, either locally at your hard disk, or at the official site.
The following steps outline the process to go through to create a block site. -As an example we use the CForms block.
Create the collection
In Daisy, open Administration -> Manage collections.
+As an example we use the CForms block.Create the collection
In Daisy, open Administration -> Manage collections.
Add a new collection for the block. The name should be cdocs-blockname, where blockname is the part of the name of the block after cocoon. Example: when the block is named cocoon-forms, the name of the collection should be cdocs-forms.
-Note the id of the collection (in this case 7).Create the navigation document
Each block has its own navigation document, which simplifies the packaging of +Note the id of the collection (in this case 7).
Create the navigation document
Each block has its own navigation document, which simplifies the packaging of the documation strictly for that block.
- In Daisy, create a New Document and choose type Book Definition. @@ -346,7 +346,7 @@ documents are also part of the proper collection, i.e. the cdocs-forms.
- Publish the document (mark a checkbox 'Publish changes immediately'). -
Step 2: Releasing POM artifacts
Create a new Daisy site
Each block gets its own site in Daisy. Before adding documentation about the +Create a new Daisy site
Each block gets its own site in Daisy. Before adding documentation about the block, the site should be selected. This way all documents will automatically be in the proper collection.The steps below describe how to create a new Daisy site.- Log in to cocoon.zones.apache.org with your username and password @@ -371,7 +371,7 @@
- save the file and logout of the server. -
Add the navigation to the master navigation file
To show the block documentation in the total Cocoon documentation site, which +Add the navigation to the master navigation file
To show the block documentation in the total Cocoon documentation site, which is the source for the official documentation, you need to add the navigation document to the master navigation file. Do this step after creating the site, as a reminder that the site should be created as well.@@ -389,9 +389,9 @@
Configuring the Maven pom files
With the Daisy Maven plugin the information can be extracted from Daisy and +proper site first!Configuring the Maven pom files
With the Daisy Maven plugin the information can be extracted from Daisy and built into the official site, either locally or at the official Cocoon -documentation site.The steps below configure the Maven pom files to make this happen.Configure the root pom.xml
Create two properties in trunk/parent/pom.xml. This is makes it easier to +documentation site.The steps below configure the Maven pom files to make this happen.Configure the root pom.xml
Create two properties in trunk/parent/pom.xml. This is makes it easier to maintain these two pieces of information throughout the documentation generation process:<properties> [...] @@ -402,7 +402,7 @@ daisy-maven-plugin. Under collections add<collection> <name>cdocs-forms</name> <path>${docs.m.forms.relPath}</path> - </collection>Try to keep the collections in alphabetical order as well.Configure the block pom.xml
-
+ </collection>Try to keep the collections in alphabetical order as well.
- Open the pom.xml file of the block, e.g. cocoon-forms-impl/pom.xml
- Open a pom.xml file of a block that is already configured, e.g. cocoon-fop
@@ -438,7 +438,7 @@
</site>
</distributionManagement>
<properties>
- <docs.name>Cocoon Forms</docs.name>
+ <docs.name>Cocoon Forms</docs.name>
<docs.version>${docs.m.forms.version}</docs.version>
</properties>
-
@@ -448,7 +448,7 @@
the block, here Cocoon Forms
- Set the docs.version property to 1.0 initially and update it to reflect the documentation version. -
Configure the block pom.xml
Configure the site pom.xml
Open the pom.xml in the site and add a module to the section Cocoon Blocks: +Configure the site pom.xml
Open the pom.xml in the site and add a module to the section Cocoon Blocks:<module>../blocks/cocoon-forms/cocoon-forms-impl</module>Keep the modules in alphabetical order to ease maintenance.
How to build the site locally
This page explains how to build the Cocoon 2.2 documentation site with Maven2 and the daisy-maven-plugin.
This plugin assumes that each block has its own collection and navigation -document.
Configure settings.xml
The documents can only be exported by a user with admin rights to the Daisy +document.
Configure settings.xml
The documents can only be exported by a user with admin rights to the Daisy repository. We have created such a user daisy-export. The password for this user is available in a daisy-export-user-password.txt file in the home directory of the daisy user. If you want to use your own @@ -340,17 +340,17 @@ <server> <id>cocoon-daisy</id> <username>daisy-export</username> - <password>SECRET PASSWORD HERE</password> + <password>SECRET PASSWORD HERE</password> </server> </servers> </settings> -
Build all modules required for the site generation
cd trunk -mvn install -P daisy
Build the site
cd trunk/site +
Build all modules required for the site generation
cd trunk +mvn install -P daisy
Build the site
cd trunk/site mvn site -o -P daisy,docs-sites
Deploy the site locally
Deploy the site using the "localDocs" profile.
mvn site:deploy -o -P daisy,docs-sites,localDocs +choice and build its docs only if this fits your needs.
Deploy the site locally
Deploy the site using the "localDocs" profile.
mvn site:deploy -o -P daisy,docs-sites,localDocs
If you want to checkin the local docs build to SVN in order to publish them, make sure that the profile above (localDocs) points to a local directory which is a checkout of our docs from SVN Modified: cocoon/site/site/1273_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1273_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1273_1_1.html (original) +++ cocoon/site/site/1273_1_1.html Sun Jul 20 11:18:29 2008 @@ -261,33 +261,33 @@ -
How to contribute?
Code
TBD
General documentation
These instructions only work if you have an active account in our Daisy CMS +
How to contribute?
Code
TBD
General documentation
These instructions only work if you have an active account in our Daisy CMS and got the doc editor role assigned. If you haven't, create your account at http://cocoon.zones.apache.org/daisy/registration and ask at dev[_at_]cocoon.apache.org for editing rights.
Editing a document
Simply follow the "Edit" link at the bottom of a page, login in and select -Page Actions - Edit from the menu.
Adding a document
Go to http://cocoon.zones.apache.org/daisy/, login and select the +be done by Apache Cocoon committers.
Editing a document
Simply follow the "Edit" link at the bottom of a page, login in and select +Page Actions - Edit from the menu.
Adding a document
Go to http://cocoon.zones.apache.org/daisy/, login and select the
documentation site where you want to add your new document. Select New
Document from the menu. The recommended document type is Cocoon
document.
If you want to make your new document appear in a navigation menu, click on
Go to navigation document below the navigation menu and select
-Page Actions - Edit.
What happens once I've added or edited a document?
The moment you submit a new or changed document an email is sent to docs at +Page Actions - Edit.
What happens once I've added or edited a document?
The moment you submit a new or changed document an email is sent to docs at cocoon dot apache dot org. An entry is also added to the list on the Daisy Cocoon Site Overview page. A Cocoon committer should -then see the change, review it and make it live.
Sitemap component documentation
For documenting sitemap components, we use a system whereby certain parts of +then see the change, review it and make it live.
Sitemap component documentation
For documenting sitemap components, we use a system whereby certain parts of the documentation are extracted automatically from the Java sources using a tool called sitemaptags2daisy.
If you are not a committer, make sure that you have checked out the latest version of the Java source file from SVN, make your changes and create a patch -file. Create a new patch issue in JIRA and add your diff file.
Editing the documentation of a sitemap component
Only edit the content of the the Long Description part in Daisy. The short +file. Create a new patch issue in JIRA and add your diff file.
Editing the documentation of a sitemap component
Only edit the content of the the Long Description part in Daisy. The short description and the value of the fields are automatically assigned from the Java sources, so if you change them in Daisy, these changes will get overwritten the -next time the sitemaptags2daisy tool is run.
Adding documentation for a new sitemap component
If running the sitemaptags2daisy tool is not an option (no time, no +next time the sitemaptags2daisy tool is run.
Adding documentation for a new sitemap component
If running the sitemaptags2daisy tool is not an option (no time, no privileges, ...) then create manually a document of type "Sitemap Component". In the JavaClass field, enter the fully qualified name of the implementation class. Leave the other fields and the Short Description part empty, they will be assigned the next time the sitemaptags2daisy tool runs. Enter the documentation -in the Long Description part.
Adding javadoc tags
The following special javadoc tags are supported (none of these are strictly +in the Long Description part.
Adding javadoc tags
The following special javadoc tags are supported (none of these are strictly required by the sitemaptags2daisy tool):
- @cocoon.sitemap.component.name
default name with which this component is declared in the sitemap
@@ -302,7 +302,7 @@
to provide a short comment on the chaching conditions. This is mapped to a field
in Daisy, thus should not contain HTML markup.
Running the sitemaptags2daisy tool
TODO, see the README.txt in the sources for now.Running the sitemaptags2daisy tool
TODO, see the README.txt in the sources for now.Communication tools that we use
Mailing lists
See below for descriptions of the Cocon mailing lists. A list of all +
Communication tools that we use
Mailing lists
See below for descriptions of the Cocon mailing lists. A list of all available lists as well as links is available a the overview page.
When posting, please observe common-sense netiquette when posting. In particular:
-
@@ -321,18 +321,18 @@
reply! You'll almost certainly get better results if you let people repond
on-list. See the Gmane links below to learn how easy it is to read the Cocoon
lists without subscribing your own email address.
-
User list
This is the general community help list and for Cocoon. Use it to learn +User list
This is the general community help list and for Cocoon. Use it to learn Cocoon stuff, and share your own knowledge with somebody else! Don't forget to check the FAQ first. Also, this list is not really the place to ask questions about XSLT, HTML, CSS, Java programming, etc. Please consult the Related Resources page to find the right forum for -asking those kinds of questions.Of course, new Cocoon releases are announced on this list.Gmane
The Cocoon lists are mirrored on the Gmane +asking those kinds of questions.Of course, new Cocoon releases are announced on this list.Gmane
The Cocoon lists are mirrored on the Gmane mail-to-news/web gateway. This page contains links you can use to subscribe your Usenet newsreader to the user list as a newsgroup, browse the list using Gmane's web interface, or subscribe your feedreader to a number of RSS feeds driven by the list.The lists are also mirrored -at Nabble; you can browse or post. (Note the "child forums" links).Archive
Archive sites can be found on the overview +at Nabble; you can browse or post. (Note the "child forums" links).Archive
Archive sites can be found on the overview page. Note that the mail-archive site changed in July 2003.-
http://www.mail-archive.com/users@cocoon.apache.org/
@@ -340,7 +340,7 @@
- http://www.mail-archive.com/cocoon-users%40xml.apache.orgtwo (before July 2003)
-
Developer list
This list is for anyone interested in working on Cocoon +Developer list
This list is for anyone interested in working on Cocoon itself (application developers making applications with Cocoon are Cocoon users). Anyone can read or post to this list; you don't have to be a Cocoon committer. Read this list if you want to learn more about the inner @@ -352,9 +352,9 @@ JIRA issue tracking system and from the Continuum -build system.Gmane
The developer list is also +build system.Gmane
The developer list is also available on -Gmane.Archive
Archive sites can be found on the overview +Gmane.Archive
Archive sites can be found on the overview page. Note that the mail-archive site changed in July 2003.-
http://www.mail-archive.com/dev@cocoon.apache.org/
@@ -362,19 +362,19 @@
- http://www.mail-archive.com/cocoon-users%40xml.apache.org/ (before July 2003)
-
Documentation list
This read-only list is of interest to people who are +Documentation list
This read-only list is of interest to people who are working on the Cocoon documentation. It consists solely of update notifications from the Daisy docs CMS and -the Wiki.Gmane
On Gmane, +the Wiki.Gmane
On Gmane, right -here.SVN repository update list
This list is probably only of interest to hard-core Cocoon developers. It is +here.SVN repository update list
This list is probably only of interest to hard-core Cocoon developers. It is a read-only list that consists solely of automated update notifications from the Subversion source code management system. The name -"cocoon-cvs" is a holdover from when the Cocoon project used CVS.Gmane
This one is on Gmane -too.Wiki
There's a Cocoon Wiki. YMMV -IRC
The Cocoon community chat room is the #cocoon channel at +"cocoon-cvs" is a holdover from when the Cocoon project used CVS.Gmane
This one is on Gmane +too.Wiki
There's a Cocoon Wiki. YMMV +IRC
The Cocoon community chat room is the #cocoon channel at freenode.net. Get over there and shake things -up!JIRA
Bug/issue tracking on the Cocoon project +up!JIRA
Bug/issue tracking on the Cocoon project uses Atlassian JIRA. This is a communication medium in its own right. Updates to JIRA issues trigger notifications to the dev mailing list, so you can monitor each Modified: cocoon/site/site/1276_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1276_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1276_1_1.html (original) +++ cocoon/site/site/1276_1_1.html Sun Jul 20 11:18:29 2008 @@ -261,8 +261,8 @@ -Other tools that we use
Subversion
The Cocoon project uses Subversion -for source code version management... details here.
Maven
The Cocoon project uses Apache Maven +
Other tools that we use
Subversion
The Cocoon project uses Subversion +for source code version management... details here.
Maven
The Cocoon project uses Apache Maven in several roles:
- For Cocoon users: as the downloader for getting the artifacts that constitute the Cocoon binary distributions. These artifacts @@ -290,15 +290,15 @@ sufficient to specify Cocoon artifacts in your project's Maven POM, which you can set up initially using a Maven archetype. -
Eclipse
A lot of Cocoon developers like to use the +Eclipse
A lot of Cocoon developers like to use the Eclipse IDE, so the Cocoon build sets up Cocoon as an Eclipse project. However, you don't have to use Eclipse to develop with or on Cocoon. You can get by with nothing but a -text editor and Maven.Jira
The Cocoon project uses Atlassian JIRA for bug/issue tracking. Anyone can +text editor and Maven.Jira
The Cocoon project uses Atlassian JIRA for bug/issue tracking. Anyone can browse the issues. Anyone can create or comment on an issue too, you just have to create a -login on Apache's JIRA first.Continuum
The Cocoon project uses Maven +login on Apache's JIRA first.Continuum
The Cocoon project uses Maven Continuum to run its continuous integration build cycle. This probably isn't all that interesting except to Modified: cocoon/site/site/1284_1_1.html URL: http://svn.apache.org/viewvc/cocoon/site/site/1284_1_1.html?rev=678296&r1=678295&r2=678296&view=diff ============================================================================== --- cocoon/site/site/1284_1_1.html (original) +++ cocoon/site/site/1284_1_1.html Sun Jul 20 11:18:29 2008 @@ -261,7 +261,7 @@ -Versions & Download
Cocoon 2.2 (stable)
Our latest version of Cocoon is 2.2. The best way to get familiar with Cocoon +
Versions & Download
Cocoon 2.2 (stable)
Our latest version of Cocoon is 2.2. The best way to get familiar with Cocoon 2.2 and how to use it together with Maven 2 is the Getting started tutorial. If you follow that path, Maven 2 will take care of downloading all (transitive) dependencies.
However, there is also a Getting Started package that contains a @@ -342,9 +342,9 @@ goes beyond what Cocoon provides in its core modules (Spring integration, sitemap and pipeline implementation) is provided as block. Blocks can be downloaded separately. In order to get an overview of what blocks are available, -use the list of blocks.
Cocoon 2.1 (stable)
The latest stable release of Cocoon 2.1.x is 2.1.11. +use the list of blocks.
Cocoon 2.1 (stable)
The latest stable release of Cocoon 2.1.x is 2.1.11. Downloads and -documentation are available.
Previous versions
Older versions of Cocoon are 2.0 and +documentation are available.
Previous versions
Older versions of Cocoon are 2.0 and 1.x. It is not recommended to start a new project based on one of them.
What is Apache Cocoon?
Apache Cocoon is a Spring-based +
What is Apache Cocoon?
Apache Cocoon is a Spring-based framework (since version 2.2 of Cocoon) built around the concepts of separation of concerns and component-based development.
Cocoon implements these concepts around the notion of component pipelines, each component on the pipeline specializing on a particular -operation. [more]
What are Cocoon blocks?
A block is the unit of modularization in Cocoon (Eclipse uses the term +operation. [more]
What are Cocoon blocks?
A block is the unit of modularization in Cocoon (Eclipse uses the term plugins, OSGi uses bundles). Everything that goes beyond ... [more]