Jos, thanks for these helpful instructions!

I will create a sitemap at src/main/resources/COB-INF/sitemap.xmap and see how far that gets me.

I agree, it would be very helpful to have a tutorial for newbies! I'll be happy to make a contribution.

Lars


On 3/2/2012 12:47 AM, Jos Snellings wrote:
Hi Lars,

The instructions on the site are obscure because they presuppose a good deal of Maven knowledge. Maven helps you to build the project: it puts all the files you need together and at first it feels metaphysical
(hey, will you let me control my own build?).

But here's what I do:

ThingToKnow1: the elements you want to expose, and your sitemap are in the "block". Your "cocoon webapp"
is going to "mount" (my word choice) the blocks on a virtual path.
ThingToKnow2: You control Mavens behaviour through editing pom.xml. Add your Cocoon block as dependency means that you are going to edit the pom.xml.

1. create the webapp from the archetype. The webapp contains close to nothing. It will contain close to nothing. It should contain the "canonical structure" of a web project:
          pom.xml
          main
          main/resources
          main/webapp
          main/webapp/WEB-INF
          main/webapp/WEB-INF/applicationContext.xml
          main/webapp/WEB-INF/log4j.xml
          main/webapp/WEB-INF/web.xml

Edit pom.xml, you will see the section "dependencies". Add the dependency for the block you want to add (I said "mount",
but I guess that is old fashioned).

<dependencies>
<dependency>
<groupId>org.tiaterra</groupId>
<artifactId>myCocoonBlock</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>

2.  create your block from the archetype

     This will create a structure like:
src
src/test
src/test/resources
src/test/java
src/main
src/main/resources
src/main/resources/COB-INF
src/main/resources/COB-INF/javascript
src/main/resources/COB-INF/xslt
src/main/resources/COB-INF/images
src/main/resources/COB-INF/style
src/main/resources/COB-INF/style/images
src/main/resources/COB-INF/static-content
src/main/resources/META-INF
src/main/resources/META-INF/cocoon
src/main/resources/META-INF/cocoon/spring
src/main/java
src/main/java/org
src/main/java/org/tanteterra

Your site map is at:

src/main/resources/COB-INF/sitemap.xmap

And true, the documentation on the site does not make it easy enough to step
up the threshold and upgrade.
[@group: shouldn't we do something about that. Cocoon is losing its user base, it will end up getting adopted only by a few old people out there. It is gaining momentum on the planet Zork but that's not
going to help us on Earth, is it?]

I hope this helps you on the way. It would make me very happy to know that I am not one of the sole developers on this planet who chose cocoon 3 as a development platform, for the few times in your life that you are in the position to make this choice for your customer! I chose for cocoon 3 because I liked the new architecture. [@group: this can be the start for a tutorial for newbies, someone interested? I feel that the maven integration and the spring part deserve better explanation, they are way too arcane for starters. A tutorial could explain how to get things
done without first studying two other frameworks.]

Kind regards,
Jos Snellings

Reply via email to