You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Mansour <ma...@yahoo.com> on 2007/11/17 12:47:43 UTC
Starting with Cocoon
I am trying to write the simplest application using cocoon. Couldn't
find any tutorial. I would like to know what are the minimum parameters
to go in the web.xml. All I need is a simple Hello World. Here's what I
have so far:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name> CocoonServlet </servlet-name>
<servlet-class> org.apache.cocoon.servlet.CocoonServlet </servlet-class>
<init-param>
<param-name>configurations</param-name>
<param-value>/WEB-INF/cocoon.xconf</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>CocoonServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
======================
What should go in the cocoon.xconf ?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Joerg Heinicke wrote:
> Are you using Cocoon 2.1.x? Then the best is probably to build Cocoon
> with all blocks deactivated (copy blocks.properties to
> local.blocks.properties and deactivate them there). This way you get a
> rather minimum Cocoon. Writing cocoon.xconf from scratch is probably
> not a good idea.
>
Why not?
> Joerg
>
> On 17.11.2007 14:51 Uhr, Mansour wrote:
>> I 've had a look at this page before posting. However, I still need
>> to know how things work (the servlet, web.xml, cocoon.xconf,...etc).
>> I need to know how to wrap a web application in a war and throw it in
>> the tomcat/webapp. Before, I learn how to use blocks I need to be
>> able to write a small siplme application and build on top of it.
>>
>> If you know how to get this done, then please share the knowledge.
>> Thank you.
>>
>> warrell harries wrote:
>>> Hi,
>>>
>>> Have you followed the threads in the 2.10 release e.g.
>>> http://cocoon.apache.org/2.1/howto/howto-explore-samples.html
>>>
>>> One of the advantages of Cocoon is that you do not need to get
>>> involved in the Cocon servlet e.g. web.xml or the conventional
>>> configuration e.g. cocoon.xconf. You only need concern yourself
>>> with your 'block' sitemap. Have a look at a simple sample e.g. the
>>> Hello World example or the request Generator and you will have an
>>> ah-ha moment.
>>>
>>> Please put in the effort and you will be rewarded ;-)
>>>
>>> On 17/11/2007, *Mansour* <mansour77@yahoo.com
>>> <ma...@yahoo.com>> wrote:
>>>
>>> I am trying to write the simplest application using cocoon.
>>> Couldn't
>>> find any tutorial. I would like to know what are the minimum
>>> parameters
>>> to go in the web.xml. All I need is a simple Hello World. Here's
>>> what I
>>> have so far:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <web-app xmlns=" http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee
>>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>>> version="2.4">
>>>
>>> <servlet>
>>> <servlet-name> CocoonServlet </servlet-name>
>>> <servlet-class> org.apache.cocoon.servlet.CocoonServlet
>>> </servlet-class>
>>> <init-param>
>>> <param-name>configurations</param-name>
>>> <param-value>/WEB-INF/cocoon.xconf</param-value>
>>> </init-param>
>>> </servlet>
>>>
>>> <servlet-mapping>
>>> <servlet-name>CocoonServlet</servlet-name>
>>> <url-pattern>/*</url-pattern>
>>> </servlet-mapping>
>>>
>>> </web-app>
>>>
>>> ======================
>>> What should go in the cocoon.xconf ?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Joerg Heinicke <jo...@gmx.de>.
Are you using Cocoon 2.1.x? Then the best is probably to build Cocoon
with all blocks deactivated (copy blocks.properties to
local.blocks.properties and deactivate them there). This way you get a
rather minimum Cocoon. Writing cocoon.xconf from scratch is probably not
a good idea.
Joerg
On 17.11.2007 14:51 Uhr, Mansour wrote:
> I 've had a look at this page before posting. However, I still need to
> know how things work (the servlet, web.xml, cocoon.xconf,...etc). I need
> to know how to wrap a web application in a war and throw it in the
> tomcat/webapp. Before, I learn how to use blocks I need to be able to
> write a small siplme application and build on top of it.
>
> If you know how to get this done, then please share the knowledge.
> Thank you.
>
> warrell harries wrote:
>> Hi,
>>
>> Have you followed the threads in the 2.10 release e.g.
>> http://cocoon.apache.org/2.1/howto/howto-explore-samples.html
>>
>> One of the advantages of Cocoon is that you do not need to get
>> involved in the Cocon servlet e.g. web.xml or the conventional
>> configuration e.g. cocoon.xconf. You only need concern yourself with
>> your 'block' sitemap. Have a look at a simple sample e.g. the Hello
>> World example or the request Generator and you will have an ah-ha moment.
>>
>> Please put in the effort and you will be rewarded ;-)
>>
>> On 17/11/2007, *Mansour* <mansour77@yahoo.com
>> <ma...@yahoo.com>> wrote:
>>
>> I am trying to write the simplest application using cocoon. Couldn't
>> find any tutorial. I would like to know what are the minimum
>> parameters
>> to go in the web.xml. All I need is a simple Hello World. Here's
>> what I
>> have so far:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app xmlns=" http://java.sun.com/xml/ns/j2ee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee
>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>> version="2.4">
>>
>> <servlet>
>> <servlet-name> CocoonServlet </servlet-name>
>> <servlet-class> org.apache.cocoon.servlet.CocoonServlet
>> </servlet-class>
>> <init-param>
>> <param-name>configurations</param-name>
>> <param-value>/WEB-INF/cocoon.xconf</param-value>
>> </init-param>
>> </servlet>
>>
>> <servlet-mapping>
>> <servlet-name>CocoonServlet</servlet-name>
>> <url-pattern>/*</url-pattern>
>> </servlet-mapping>
>>
>> </web-app>
>>
>> ======================
>> What should go in the cocoon.xconf ?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
warrell harries wrote:
> You can build a deployable war file by building to the target war. I
> believe this is documented but, as with all things open-source, you
> have to be prepared to dig around until you find the way.
I find my way but stuck with an error saying:
==================================
Internal Server Error
Message: null
Description: No details available.
Sender: org.apache.cocoon.servlet.CocoonServlet
Source: Cocoon Servlet
Request URI
documents/index.html
cause
No default type exists for 'pipeline' at file:/opt/tomcat/webapps/mysite/sitemap.xmap:5:17
request-uri
/mysite/documents/index.html
===============================================================
The contents of the sitemap.xmap:
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
4 <map:pipelines>
5 <map:pipeline>
6 <!-- respond to *.html requests with our
docs processed by doc2html.xsl -->
7 <map:match pattern="**/*.html">
8 <map:generate src="{1}.xml" />
9 <map:transform
src="stylesheets/doc2html.xsl" />
10 <map:serialize type="html" />
11 </map:match>
12
13 </map:pipeline>
14 </map:pipelines>
15 </map:sitemap>
16
17
>
> The simplest way to get your head around Cocoon is to use the Jetty
> based distribution until you understand the Cocoon paradigm.
Look, I have built it successfully on linux, and browsed the samples. I
have rebuilt the the minimal Cocoon. All I need was, what is the minimum
jars, config files, directory structure ...etc. required to get Cocoon
running. Every answer I have got was about using it. I was looking to
understand the components needed. I came across this page which was
somewhat helpful http://wiki.apache.org/cocoon/ConfiguringCocoon
The answers I was given were not related in anyway to my question. We
all learned through building the hello world example, and added
functionality as needed. That's all I wanted.
>
> BTW, from the tone of your emails it is as if you think that the
> Cocoon community is obliged to guide you every step of the way.
Cocoon community is not obliged to guide me, but I am not expecting
someone form the community to answer me with an answer for a question I
did not ask. I don't want to waste their resources either, but it looked
like the previous posts were trying to give me Cocoon their own way.
> It would be great if there were enough resources to do this but time
> and skills are always in demand and limited supply. I cannot speak for
> the many talented and dedicated people that have built and continue to
> improve this project, however, I rather expect that the concensus of
> their thoughts would be that you should be prepared to put in a little
> more effort yourself before trying to cajole trivial help from the
> community.
I definitely read the manual and tried to read the site documentation
before posting. On the other hand, what is trivial for you may not look
the same for others.
>
> Regards
>
> Warrell
>
>
> On 18/11/2007, *Mansour* <mansour77@yahoo.com
> <ma...@yahoo.com>> wrote:
>
> This was not help at all.
> What is the part that is hard to understand in my first question?
> I asked about how to write a small hello world application from
> scratch
> and dump it in my tomcat/webapp. I Struts2, I include the jars in the
> WEB-INF/lib and configure web.xml and other files.
>
> This is the question ---> How do I do this in Cocoon? And what
> should go
> in these files?
> The Answer goes here ---> .......
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> <ma...@cocoon.apache.org>
> For additional commands, e-mail: users-help@cocoon.apache.org
> <ma...@cocoon.apache.org>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by warrell harries <wa...@googlemail.com>.
You can build a deployable war file by building to the target war. I believe
this is documented but, as with all things open-source, you have to be
prepared to dig around until you find the way.
The simplest way to get your head around Cocoon is to use the Jetty based
distribution until you understand the Cocoon paradigm.
BTW, from the tone of your emails it is as if you think that the Cocoon
community is obliged to guide you every step of the way. It would be great
if there were enough resources to do this but time and skills are always in
demand and limited supply. I cannot speak for the many talented and
dedicated people that have built and continue to improve this project,
however, I rather expect that the concensus of their thoughts would be that
you should be prepared to put in a little more effort yourself before trying
to cajole trivial help from the community.
Regards
Warrell
On 18/11/2007, Mansour <ma...@yahoo.com> wrote:
>
> This was not help at all.
> What is the part that is hard to understand in my first question?
> I asked about how to write a small hello world application from scratch
> and dump it in my tomcat/webapp. I Struts2, I include the jars in the
> WEB-INF/lib and configure web.xml and other files.
>
> This is the question ---> How do I do this in Cocoon? And what should go
> in these files?
> The Answer goes here ---> .......
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Grzegorz Kossakowski wrote:
> Mansour pisze:
>> I am getting an error:
>>
>> No default type exists for 'pipeline' at
>> file:/opt/tomcat/webapps/mysite/sitemap.xmap:5:17
>>
>> Now, what is this ?? Here's the contents of my sitemap:
>>
>> 1 <?xml version="1.0" encoding="iso-8859-1"?>
>> 2 3 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
>> 4 <map:pipelines>
>> 5 <map:pipeline>
>
> Have you tried to use:
> <map:pipeline type="noncaching">
>
> or
> <map:pipeline type="caching"> instead?
>
> I believe this will move you forward.
>
I am getting a different error now.
Message: null
Description: No details available.
Sender: org.apache.cocoon.servlet.CocoonServlet
Source: Cocoon Servlet
Request URI
index.html
cause
Type 'caching' is not defined for 'pipeline' at file:/opt/tomcat/webapps/mysite/sitemap.xmap:5:32
request-uri
/mysite/index.html
=========================
Here's my sitemap:
3 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
4 <map:pipelines>
5 <map:pipeline type="caching">
6 <!-- respond to *.html requests with our
docs processed by doc2html.xsl -->
7 <map:match pattern="*.html">
8 <map:generate
src="documents/index.xml" />
9 <map:transform
src="stylesheets/doc2html.xsl" />
10 <map:serialize type="html" />
11 </map:match>
12
13 </map:pipeline>
14 </map:pipelines>
15 </map:sitemap>
I tried both options you gave me. Here's the directory structure of my
root folder:
[mansour@pluto mysite]$ tree
.
|-- WEB-INF
| |-- cocoon.xconf
| |-- lib
| | |-- avalon-framework-api-4.3.jar
| | |-- avalon-framework-impl-4.3.jar
| | |-- avalon-logkit-2.1.jar
| | |-- cocoon-2.1.10-deprecated.jar
| | |-- cocoon-2.1.10.jar
| | |-- cocoon-testcase.jar
| | |-- commons-beanutils-core-1.7.0.jar
| | |-- commons-cli-1.0.jar
| | |-- commons-collections-3.2.jar
| | |-- commons-httpclient-2.0.2.jar
| | |-- commons-io-1.2.jar
| | |-- commons-jexl-1.0.jar
| | |-- commons-jxpath-1.2.jar
| | |-- commons-lang-2.2.jar
| | |-- commons-logging-1.0.4.jar
| | |-- concurrent-1.3.4.jar
| | |-- ehcache-1.2.2.jar
| | |-- excalibur-component-2.1.jar
| | |-- excalibur-i18n-1.1.jar
| | |-- excalibur-instrument-api-2.1.jar
| | |-- excalibur-instrument-mgr-api-2.1.jar
| | |-- excalibur-instrument-mgr-http-2.1.jar
| | |-- excalibur-instrument-mgr-impl-2.1.jar
| | |-- excalibur-logger-2.1.jar
| | |-- excalibur-naming-1.0.jar
| | |-- excalibur-pool-api-2.1.jar
| | |-- excalibur-pool-impl-2.1.jar
| | |-- excalibur-pool-instrumented-2.1.jar
| | |-- excalibur-sourceresolve-2.1.jar
| | |-- excalibur-store-2.1.jar
| | |-- excalibur-xmlutil-2.1.jar
| | |-- jakarta-bcel-20040329.jar
| | |-- jakarta-regexp-1.4.jar
| | |-- javacApi-0.9.jar
| | |-- javacImpl-0.9.jar
| | |-- jcs-1.2.5-dev-20050313.jar
| | |-- jdtcore-3.0.2.jar
| | |-- js-1.6R5.jar
| | |-- log4j-1.2.13.jar
| | |-- xalan-2.7.0.jar
| | |-- xercesImpl-2.9.0.jar
| | |-- xml-apis-1.3.04.jar
| | `-- xml-commons-resolver-1.1.jar
| |-- log4j.xml
| |-- logkit.xconf
| `-- web.xml
|-- documents
| `-- index.xml
|-- sitemap.xmap
`-- stylesheets
`-- doc2html.xsl
4 directories, 50 files
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Grzegorz Kossakowski <gr...@tuffmail.com>.
Mansour pisze:
> I am getting an error:
>
> No default type exists for 'pipeline' at
> file:/opt/tomcat/webapps/mysite/sitemap.xmap:5:17
>
> Now, what is this ?? Here's the contents of my sitemap:
>
> 1 <?xml version="1.0" encoding="iso-8859-1"?>
> 2 3 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
> 4 <map:pipelines>
> 5 <map:pipeline>
Have you tried to use:
<map:pipeline type="noncaching">
or
<map:pipeline type="caching"> instead?
I believe this will move you forward.
--
Grzegorz Kossakowski
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Joerg Heinicke <jo...@gmx.de>.
On 18.11.2007 15:05 Uhr, Mansour wrote:
> Now, let's figure out why it was failing. I was following the tutorial
> on http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
> and I obtained the site map contents from their. If the site map was
> missing something, how did you know that this is caused by the contents
> of the cocoon.xconf ??
The cause of problem I can usually get from the error message, that's
probably something you learn with the time.
> This tells me that the sitemap is read before cocoon.xconf, and contents
> of the later has to be initialized by the former ! Am I right ?
It's first the web application with web.xml that get's loaded, then the
CocoonServlet with cocoon.xconf and at the end (per request) the
sitemap.xmap. Why do you think sitemap is read before cocoon.xconf?
Actually both cocoon.xconf and sitemap have their components section
which even became interchangeable in Cocoon 2.1. I think this support
has been dropped or limited in 2.2 as it might be too confusing. And
Cocoon 2.2 has now the blocks which allow local declaration of
components anyway so that this feature in sitemaps is superfluous. Yes,
up to 2.1 cocoon.xconf specifies global components while sitemaps
declare local components. All the stuff in the root sitemap is about
reasonable defaults, you can declare or overwrite them in any sub
sitemap as well.
Joerg
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Grzegorz Kossakowski <gr...@tuffmail.com>.
Mansour pisze:
> After finishing the the tutorial
> http://cocoon.apache.org/2.2/1290_1_1.html how can I build the war file
> to view its contents?
>
> Thank you.
See http://cocoon.apache.org/2.2/1362_1_1.html
Command mvn package jetty:run mentioned in that tutorial produces a WAR
file that is passed to jetty. If you just run mvn package you will get a
WAR file in target directory.
--
Grzegorz Kossakowski
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
After finishing the the tutorial
http://cocoon.apache.org/2.2/1290_1_1.html how can I build the war file
to view its contents?
Thank you.
Ralph Goers wrote:
> Mansour wrote:
>>>
>>> The cocoon build will also create cocoon.xconf and put the
>>> definitions you need for the desired blocks in it. You should only
>>> modify it if you are adding your own components. Again, you'll only
>>> do this if you know what you are doing and have a reason.
>> That's what I am trying to do. I am trying to know what I am doing.
> Maybe, but it also sounds like you are trying to run before you can
> walk. Cocoon 2.1 is built on the Avalon framework. You would need to
> have a basic understanding of that before you could realistically
> create any Cocoon components. In addition, of course, you would need
> to understand all the various pipleline components such as generators,
> actions and input modules and whether they should be defined in the
> sitemap or Cocoon.xconf.
>
> Cocoon 2.2, on the other hand, is now based on Spring. However,
> components still look like they are based on Avalon for
> compatibility. In 2.2 though the decision was made that all component
> declarations should be removed from the sitemap and moved to a more
> appropriate location. It is my understanding that there is now a
> mixture of Spring configuration along with Avalon-style
> configuration. To be honest I haven't looked at all the changes in
> depth myself so I'm not 100% sure about what is where.
>>>
>>> So, in short, with 2.1 the best way to build your own Cocoon
>>> application is to follow the directions and edit
>>> local.build.properties and local.blocks.properties to suit your
>>> needs. Then go on from there.
>>>
>>> As others have stated, the process with 2.2 is very different than
>>> this and is hopefully easier. If you have problems trying to build
>>> 2.2 feel free to keep asking for help.
>> I did not have any difficulties with the build. It's maven !! how can
>> it fail. I was having difficulties understanding how the config files
>> fit together and the role and contents for each of them. :)
> I understand, and as I said that has changed somewhat in 2.2. But you
> should be able to find your answers by doing a build with all the
> blocks and then looking at the result. At least, that is what I would do.
>
> Ralph
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Ralph Goers <Ra...@dslextreme.com>.
Mansour wrote:
>>
>> The cocoon build will also create cocoon.xconf and put the
>> definitions you need for the desired blocks in it. You should only
>> modify it if you are adding your own components. Again, you'll only
>> do this if you know what you are doing and have a reason.
> That's what I am trying to do. I am trying to know what I am doing.
Maybe, but it also sounds like you are trying to run before you can
walk. Cocoon 2.1 is built on the Avalon framework. You would need to
have a basic understanding of that before you could realistically create
any Cocoon components. In addition, of course, you would need to
understand all the various pipleline components such as generators,
actions and input modules and whether they should be defined in the
sitemap or Cocoon.xconf.
Cocoon 2.2, on the other hand, is now based on Spring. However,
components still look like they are based on Avalon for compatibility.
In 2.2 though the decision was made that all component declarations
should be removed from the sitemap and moved to a more appropriate
location. It is my understanding that there is now a mixture of Spring
configuration along with Avalon-style configuration. To be honest I
haven't looked at all the changes in depth myself so I'm not 100% sure
about what is where.
>>
>> So, in short, with 2.1 the best way to build your own Cocoon
>> application is to follow the directions and edit
>> local.build.properties and local.blocks.properties to suit your
>> needs. Then go on from there.
>>
>> As others have stated, the process with 2.2 is very different than
>> this and is hopefully easier. If you have problems trying to build
>> 2.2 feel free to keep asking for help.
> I did not have any difficulties with the build. It's maven !! how can
> it fail. I was having difficulties understanding how the config files
> fit together and the role and contents for each of them. :)
I understand, and as I said that has changed somewhat in 2.2. But you
should be able to find your answers by doing a build with all the blocks
and then looking at the result. At least, that is what I would do.
Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Ralph Goers wrote:
>
>
> Mansour wrote:
>> It's working NOW. Can not thank you enough for this!
>>
>> Now, let's figure out why it was failing. I was following the
>> tutorial on
>> http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
>> and I obtained the site map contents from their. If the site map was
>> missing something, how did you know that this is caused by the
>> contents of the cocoon.xconf ??
>>
>> This tells me that the sitemap is read before cocoon.xconf, and
>> contents of the later has to be initialized by the former ! Am I right ?
> When you build Cocoon 2.1 by running build.sh using the defaults there
> will be a sitemap.xmap in build/webapp. This sitemap is the root and
> shouldn't be changed much (if you do you should know what you are
> doing) as it contains all kinds of definitions you need. You would
> then put your sitemap in a directory below this similar to the
> sitemap.xmap in the samples directory. Your sitemap inherits the stuff
> in the root sitemap. If I understand what you did correctly, the
> problem was that you replaced the root sitemap with your own which
> didn't contain any of the stuff you needed.
This is a very good piece of info. Now I understand that we have
"Global" sitemap.xconf and "local" one. So this tells me that when I
follow the tutorials and run my Cocoon application, I am basically
running it under the Global config, but overriding them with my own. So
I was not deploying directly to tomcat, but to Cocoon "platform" (and
not framework) which is running in tomcat? cool!
>
> The cocoon build will also create cocoon.xconf and put the definitions
> you need for the desired blocks in it. You should only modify it if
> you are adding your own components. Again, you'll only do this if you
> know what you are doing and have a reason.
That's what I am trying to do. I am trying to know what I am doing.
>
> So, in short, with 2.1 the best way to build your own Cocoon
> application is to follow the directions and edit
> local.build.properties and local.blocks.properties to suit your needs.
> Then go on from there.
>
> As others have stated, the process with 2.2 is very different than
> this and is hopefully easier. If you have problems trying to build 2.2
> feel free to keep asking for help.
I did not have any difficulties with the build. It's maven !! how can it
fail. I was having difficulties understanding how the config files fit
together and the role and contents for each of them. :)
>
> HTH
> Ralph
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Ralph Goers <Ra...@dslextreme.com>.
Mansour wrote:
> It's working NOW. Can not thank you enough for this!
>
> Now, let's figure out why it was failing. I was following the tutorial
> on http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
> and I obtained the site map contents from their. If the site map was
> missing something, how did you know that this is caused by the
> contents of the cocoon.xconf ??
>
> This tells me that the sitemap is read before cocoon.xconf, and
> contents of the later has to be initialized by the former ! Am I right ?
When you build Cocoon 2.1 by running build.sh using the defaults there
will be a sitemap.xmap in build/webapp. This sitemap is the root and
shouldn't be changed much (if you do you should know what you are doing)
as it contains all kinds of definitions you need. You would then put
your sitemap in a directory below this similar to the sitemap.xmap in
the samples directory. Your sitemap inherits the stuff in the root
sitemap. If I understand what you did correctly, the problem was that
you replaced the root sitemap with your own which didn't contain any of
the stuff you needed.
The cocoon build will also create cocoon.xconf and put the definitions
you need for the desired blocks in it. You should only modify it if you
are adding your own components. Again, you'll only do this if you know
what you are doing and have a reason.
So, in short, with 2.1 the best way to build your own Cocoon application
is to follow the directions and edit local.build.properties and
local.blocks.properties to suit your needs. Then go on from there.
As others have stated, the process with 2.2 is very different than this
and is hopefully easier. If you have problems trying to build 2.2 feel
free to keep asking for help.
HTH
Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
It's working NOW. Can not thank you enough for this!
Now, let's figure out why it was failing. I was following the tutorial
on http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
and I obtained the site map contents from their. If the site map was
missing something, how did you know that this is caused by the contents
of the cocoon.xconf ??
This tells me that the sitemap is read before cocoon.xconf, and contents
of the later has to be initialized by the former ! Am I right ?
Mansour wrote:
> Joerg Heinicke wrote:
>> On 18.11.2007 11:35 Uhr, Mansour wrote:
>>
>>> I really need to understand how it works, what servlet starts when the
>>> request is received, and yes the minimum configuration.
>>
>>> All I need is to understand the minimum requirements. I think I know
>>> what I need better than anyone else!
>>
>> Nobody questions that you understand your requirements the best.
> That's the impression I got from the posted answers.
>> I also see where you are coming from with setting up a minimal
>> Cocoon. But there was a reason why I suggested you to not start from
>> scratch but with a minimal build that our build system provides. And
>> there are reasons why people think Cocoon has a very steep learning
>> curve. Cocoon uses a lot of technologies which you probably don't
>> want to know all beforehand.
> Good point! Well thank you for trying to make my life easier. ;)
>>
>>> However, I did a minimal built and tried to write a small program,
>>> but was not able to get it to work. I think now my problem is in the
>>> sitemap "the thing that everybody wants me to worry about".
>>
>> The main configuration files cocoon.xconf and the root sitemap should
>> also be quite well-documented with all their component setups. You
>> now seem to use the provided cocoon.xconf but wiped out the root
>> sitemap which has all the components for the sitemaps in it like
>> pipelines, generators, transformer, serializers, etc.
> YES !! That's exactly what I did.
>> Readd the map:components section to your sitemap and you should make
>> at least some progress. Once you have that working you can remove
>> single components like unused generators or serializers, but not the
>> whole section. You need at least one of each type, for your example
>> the caching pipeline, the file generator, the XSLT transformer and
>> the HTML serializer.
> Now we are talking !! I will try this and post the results.
>>
>> If you are only starting with Cocoon right now you should really
>> consider using Cocoon 2.2, especially in regard to minimal build.
>> Many "optional" components which are in core in 2.1 have been made
>> really optional in 2.2. Integration should be much easier in general.
>> Learning now 2.1 and later 2.2 seems to be too much effort since so
>> much has changed between both.
>>
> Good idea. I will finish this simple hello world first and move to
> Cocoon 2.2
>> Joerg
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>> For additional commands, e-mail: users-help@cocoon.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Joerg Heinicke wrote:
> On 18.11.2007 11:35 Uhr, Mansour wrote:
>
>> I really need to understand how it works, what servlet starts when the
>> request is received, and yes the minimum configuration.
>
>> All I need is to understand the minimum requirements. I think I know
>> what I need better than anyone else!
>
> Nobody questions that you understand your requirements the best.
That's the impression I got from the posted answers.
> I also see where you are coming from with setting up a minimal Cocoon.
> But there was a reason why I suggested you to not start from scratch
> but with a minimal build that our build system provides. And there are
> reasons why people think Cocoon has a very steep learning curve.
> Cocoon uses a lot of technologies which you probably don't want to
> know all beforehand.
Good point! Well thank you for trying to make my life easier. ;)
>
>> However, I did a minimal built and tried to write a small program,
>> but was not able to get it to work. I think now my problem is in the
>> sitemap "the thing that everybody wants me to worry about".
>
> The main configuration files cocoon.xconf and the root sitemap should
> also be quite well-documented with all their component setups. You now
> seem to use the provided cocoon.xconf but wiped out the root sitemap
> which has all the components for the sitemaps in it like pipelines,
> generators, transformer, serializers, etc.
YES !! That's exactly what I did.
> Readd the map:components section to your sitemap and you should make
> at least some progress. Once you have that working you can remove
> single components like unused generators or serializers, but not the
> whole section. You need at least one of each type, for your example
> the caching pipeline, the file generator, the XSLT transformer and the
> HTML serializer.
Now we are talking !! I will try this and post the results.
>
> If you are only starting with Cocoon right now you should really
> consider using Cocoon 2.2, especially in regard to minimal build. Many
> "optional" components which are in core in 2.1 have been made really
> optional in 2.2. Integration should be much easier in general.
> Learning now 2.1 and later 2.2 seems to be too much effort since so
> much has changed between both.
>
Good idea. I will finish this simple hello world first and move to
Cocoon 2.2
> Joerg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Joerg Heinicke wrote:
> On 18.11.2007 18:53 Uhr, Mansour wrote:
>
>> For now, maven is not the right choice for me. I need to understand
>> every single file before I use it in my projects. If something goes
>> wrong, I want to find out why and immediately. I need to know how I can
>> utilize it in my work.
>
> I don't want to scare you but I wonder if that will be ever possible
> with Maven. To be honest, I have not used Maven often enough to be
> able to criticize it in a qualified way. But that's my impression so far.
>
>> I have been looking into Cocoon 2.2 and I am getting ready to build
>> another HelloWorld from zero using Cocoon 2.2. However, I find very
>> few jars there. Is this again one of maven's trick to make things
>> easier? Does it download a different set of jars that are only for
>> this template?
>
> Yes, that's how Maven works. You only declare dependencies in your POM
> and Maven does the rest for you.
Cool. Now I have a better understanding not for maven build but for what
Cocoon team are trying to do. Basically, you are trying to get the user
to create a "block that uses Cocoon" and deploy it to a Cocoon
deployment. So in other word you are making Cocoon a platform. The block
that I created is not a Cocoon application but an application that runs
under Cocoon's deployment. If this is true, then how can I create from
scratch a stand alone Cocoon application ? As I said, I need to drop the
war in tomcat/webapp and DONE.
I understand the role of a root sitemap and subsite. But I need my
subsite to run as a site. I figured this out with Cocoon 2.1 but the
maven thing in C2.2 is not allowing me to see what is going on. I think
I will continue digging in sometime today.
>
>> Can I use these jars in another way, like importing them directly
>> into my app?
>
> Yes, of course. Maven is about dependency management in the first
> place. It downloads the jars into a repository, you can grab them from
> there. As answer to the blog Grek linked [1] I already gave my
> concerns regarding Maven [2].
>
> Joerg
>
> [1]
> http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/
>
> [2]
> http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/#comment-688
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Joerg Heinicke <jo...@gmx.de>.
On 18.11.2007 18:53 Uhr, Mansour wrote:
> For now, maven is not the right choice for me. I need to understand
> every single file before I use it in my projects. If something goes
> wrong, I want to find out why and immediately. I need to know how I can
> utilize it in my work.
I don't want to scare you but I wonder if that will be ever possible
with Maven. To be honest, I have not used Maven often enough to be able
to criticize it in a qualified way. But that's my impression so far.
> I have been looking into Cocoon 2.2 and I am getting ready to build
> another HelloWorld from zero using Cocoon 2.2. However, I find very few
> jars there. Is this again one of maven's trick to make things easier?
> Does it download a different set of jars that are only for this
> template?
Yes, that's how Maven works. You only declare dependencies in your POM
and Maven does the rest for you.
> Can I use these jars in another way, like importing them
> directly into my app?
Yes, of course. Maven is about dependency management in the first place.
It downloads the jars into a repository, you can grab them from there.
As answer to the blog Grek linked [1] I already gave my concerns
regarding Maven [2].
Joerg
[1]
http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/
[2]
http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/#comment-688
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Thank you Grzegorz for this email. I think there's some points you are
missing. You misunderstand my understanding of maven. I am not against
using it at all. In fact, I believe it's a great way to tell Ruby
developers that java can easily be adopted for rapid development. It's a
great way to get a newbie started building the site he/she needs for a
blog/portal/photos. I can not use maven at this point. Not that I am
against it. I know in the future I will, and it will help me a lot when
I need to create a block and add it to my collection. For now, maven is
not the right choice for me. I need to understand every single file
before I use it in my projects. If something goes wrong, I want to find
out why and immediately. I need to know how I can utilize it in my work.
How does it contribute to lowering the risk in my projects. Think about
it this way, if you go to a restaurant and you are on a diet, won't you
ask about every single ingredient in the meal you are going to order ?
Same thing when you are engaged in a professional work and you have dead
line and risk to manage. You need to know about every single file, and
evaluate and think about how you are going to need this file.
I have worked with Struts2 and with .NET products. One big difference I
noticed between these two technologies. Stop reading my email, think
about the difference and come back.
=====================
BREAK.
=====================
DONE? ok, The BIG DIFFERENCE IS: .Net makes the starting point very easy
while Java not. Visual Studio hides all the details about the components
involved in a project and give you the easy things. You can develop and
make progress with it but at some point you will loss control about what
you have there and you will start wondering where all these files came
from. When something goes wrong, you will be stressed like anything. Not
to mention the slow learning process that .NET develop for you. On the
other hand Java makes harder to start but once you start, you don't
stop! You keep progressing and learning new things every day. I can see
that SUN relies more on the academic institute to market their technology.
By the way, when I started learning Struts2, you know what I used? Don't
laugh! I went back to vi for quick edits, and emacs for regular
development :)
Anyway, this is not a comparison between Java and .Net. I just wanted to
give you (and everyone else wondering why I need this) an idea about the
downside of automating the learning process. It's helping many newbies
to get started, but advanced users need a solid ground before moving
ahead. Another good example is one of my previous responses on this
thread. I deleted the whole section for the component and could not
figure out why things are not working. If there was a step by step
tutorial, I would have fixed the problem by myself.
It's great that you are considering the newbies but what about bigger
projects? Definitely you can not document every single way Cocoon can be
used in there projects, but you can give the basics, and let the
programmers decide and find ways to use Cocoon in their development.
I hope my point is clear about "tutorials using Maven".
I used the word "you" many times, and I did not mean "you", but
"Cocoon's Community".
I have been looking into Cocoon 2.2 and I am getting ready to build
another HelloWorld from zero using Cocoon 2.2. However, I find very few
jars there. Is this again one of maven's trick to make things easier?
Does it download a different set of jars that are only for this
template? Can I use these jars in another way, like importing them
directly into my app? Does this 716K set of jars "REALLY" replace the
~30 MB ones (in Cocoon 2.1)?
As soon as I finish this, I will try to write a tutorial.
Grzegorz Kossakowski wrote:
> Joerg Heinicke pisze:
>> On 18.11.2007 11:35 Uhr, Mansour wrote:
>>
>> If you are only starting with Cocoon right now you should really
>> consider using Cocoon 2.2, especially in regard to minimal build.
>> Many "optional" components which are in core in 2.1 have been made
>> really optional in 2.2. Integration should be much easier in general.
>> Learning now 2.1 and later 2.2 seems to be too much effort since so
>> much has changed between both.
>
> I agree with Joerg on suggestion that it's better to start with Cocoon
> 2.2. It has much cleaner contracts and you get much more fine-grained
> control over what comes to your application. Cocoon 2.1 was quite
> monolithic compared to 2.2.
>
> As you seem to really want to understand low-level architecture of
> Cocoon I think you will find content of e-mail conversation I had with
> Danilo Gurovich privately.
>
> Before I present the most important e-mail I want to give you some
> background. Take a look at this:
> http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/
>
> blog post and comments below it. As you can see, Danilo was looking
> for low-level description of Cocoon 2.2 that would give him ability to
> integrate it with his own solutions.
>
> In private conversation I decided to explain many fundamental things
> of 2.2. Here goes my e-mail (I was given a permission to publish this
> e-mail from Danilo):
>
> ------------------------------------------------------------------------------------------
>
> [...]
>
> For now, (..) I would only say that we don't describe how
> block/application should be structured in detail because we ship Maven
> archetypes that take burden of prototype creation, see [1] and [2].
>
> I hope that you don't get nervous because I repeatedly suggest using
> Maven. I'm aware of the fact that you want to avoid using Maven but if
> there is one command to type instead of tedious work of creating all
> needed files and directories why not use that command? Creating
> prototype by using Maven does not tie rest of development stages
> (compiling, deploying) to Maven.
>
> I think that you will get the best results if you use Maven as
> recommended at the beginning. Only after a few hours of playing with
> Cocoon and getting to know with all basic concepts you will be
> sure when it pays off to use Maven without going deep into details
> (because we don't make a learning curve too steep) and when your own
> tools are better.
>
> For example, we have developed Maven plug-in called Reloading
> classloader that makes development of Cocoon applications really rapid
> because any changes made to configuration (Spring bean configuration)
> and even Java classes code are visible instantly without any restarts
> of servlet container or any manual work! The best of this plug-in is
> that it is IDE-agnostic so you can edit your classes with Notepad (or
> IntelliJ) and it will pick up these changes. For more details, see
> here[3].
>
> Getting back to answering your question. In Cocoon almost everything
> happens in a block(s) when it comes to application development.
> Here[4] you will get general description, and here[5] technical
> details are provided that will probably interest you the most. Casual
> application based on Cocoon consists of few custom blocks (each one
> for some distinguishable set of functionality) wired to each other and
> to some standard Cocoon blocks (like Cocoon Forms).
>
> After creating and compiling your own blocks you get a few JARs (as
> each block is a standard JAR in the end) and not a WAR file, right?
> Creation of WAR file is left as last step, you just collect all needed
> JARs (including your blocks, Cocoon blocks and other dependencies of
> Cocoon or your application) and put everything into WEB-INF/lib
> directory of the WAR you are preparing. Apart from that, you need to
> put these three files into WEB-INF directory:
> * applicationContext.xml (some Spring beans configuration)
> * log4j.xml (logging config)
> * web.xml (the most important bit in this file is configuration of
> Cocoon's dispatcher servlet)
>
> Then you package everything into single WAR and you are done. You can
> deploy your application to any servlet container you like. Have a look
> at here[6] for exact content of three files you need to put
> into WEB-INF directory or run a command:
> mvn archetype:create -DarchetypeGroupId=org.apache.cocoon
> -DarchetypeArtifactId=cocoon-22-archetype-webapp
> -DarchetypeVersion=1.0.0-RC2
> -DgroupId=com.mycompany -DartifactId=myCocoonWebapp
> (taken from [2])
>
> I hope that this e-mail helps to arrange your knowledge about Cocoon a
> little bit. I also hope that it's clear now that development on top of
> Cocoon is not tied to Maven by any means but Maven only aids this
> process. We had to decide on something and we decided on Maven for
> several reasons but we really understand that there can be
> circumstances when Maven is not applicable thus we are really careful
> on not introducing hard dependencies on Maven.
>
> [...]
>
> [1] http://cocoon.apache.org/2.2/1159_1_1.html
> [2] http://cocoon.apache.org/2.2/1362_1_1.html
> [3]
> http://cocoon.apache.org/2.2/maven-plugins/maven-plugin/1.0/1297_1_1.html
> [4] http://cocoon.apache.org/1363_1_1.html
> [5] http://cocoon.apache.org/2.2/core-modules/core/2.2/1263_1_1.html
> [6]
> http://svn.apache.org/repos/asf/cocoon/trunk/tools/archetypes/cocoon-22-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/
>
>
> ------------------------------------------------------------------------------------------
>
>
> I hope that this in conjuction with our standard tutorials will give
> you a quite good picture of Cocoon 2.2.
>
> If you have any additional questions feel free to ask but please
> explain your problems in detail including sharing your motivations
> behind the questions you ask. This will help to avoid any tensions.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Grzegorz Kossakowski <gr...@tuffmail.com>.
Joerg Heinicke pisze:
> On 18.11.2007 11:35 Uhr, Mansour wrote:
>
> If you are only starting with Cocoon right now you should really
> consider using Cocoon 2.2, especially in regard to minimal build. Many
> "optional" components which are in core in 2.1 have been made really
> optional in 2.2. Integration should be much easier in general. Learning
> now 2.1 and later 2.2 seems to be too much effort since so much has
> changed between both.
I agree with Joerg on suggestion that it's better to start with Cocoon
2.2. It has much cleaner contracts and you get much more fine-grained
control over what comes to your application. Cocoon 2.1 was quite
monolithic compared to 2.2.
As you seem to really want to understand low-level architecture of
Cocoon I think you will find content of e-mail conversation I had with
Danilo Gurovich privately.
Before I present the most important e-mail I want to give you some
background. Take a look at this:
http://danilogurovich.wordpress.com/2007/11/09/struts-vs-cocoon-why-cocoon-lost-the-battle/
blog post and comments below it. As you can see, Danilo was looking for
low-level description of Cocoon 2.2 that would give him ability to
integrate it with his own solutions.
In private conversation I decided to explain many fundamental things of
2.2. Here goes my e-mail (I was given a permission to publish this
e-mail from Danilo):
------------------------------------------------------------------------------------------
[...]
For now, (..) I would only say that we don't describe how
block/application should be structured in detail because we ship Maven
archetypes that take burden of prototype creation, see [1] and [2].
I hope that you don't get nervous because I repeatedly suggest using
Maven. I'm aware of the fact that you want to avoid using Maven but if
there is one command to type instead of tedious work of creating all
needed files and directories why not use that command? Creating
prototype by using Maven does not tie rest of development stages
(compiling, deploying) to Maven.
I think that you will get the best results if you use Maven as
recommended at the beginning. Only after a few hours of playing with
Cocoon and getting to know with all basic concepts you will be
sure when it pays off to use Maven without going deep into details
(because we don't make a learning curve too steep) and when your own
tools are better.
For example, we have developed Maven plug-in called Reloading
classloader that makes development of Cocoon applications really rapid
because any changes made to configuration (Spring bean configuration)
and even Java classes code are visible instantly without any restarts of
servlet container or any manual work! The best of this plug-in is that
it is IDE-agnostic so you can edit your classes with Notepad (or
IntelliJ) and it will pick up these changes. For more details, see
here[3].
Getting back to answering your question. In Cocoon almost everything
happens in a block(s) when it comes to application development. Here[4]
you will get general description, and here[5] technical details are
provided that will probably interest you the most. Casual application
based on Cocoon consists of few custom blocks (each one for some
distinguishable set of functionality) wired to each other and to some
standard Cocoon blocks (like Cocoon Forms).
After creating and compiling your own blocks you get a few JARs (as each
block is a standard JAR in the end) and not a WAR file, right? Creation
of WAR file is left as last step, you just collect all needed JARs
(including your blocks, Cocoon blocks and other dependencies of Cocoon
or your application) and put everything into WEB-INF/lib directory of
the WAR you are preparing. Apart from that, you need to put these three
files into WEB-INF directory:
* applicationContext.xml (some Spring beans configuration)
* log4j.xml (logging config)
* web.xml (the most important bit in this file is configuration of
Cocoon's dispatcher servlet)
Then you package everything into single WAR and you are done. You can
deploy your application to any servlet container you like. Have a look
at here[6] for exact content of three files you need to put
into WEB-INF directory or run a command:
mvn archetype:create -DarchetypeGroupId=org.apache.cocoon
-DarchetypeArtifactId=cocoon-22-archetype-webapp
-DarchetypeVersion=1.0.0-RC2
-DgroupId=com.mycompany -DartifactId=myCocoonWebapp
(taken from [2])
I hope that this e-mail helps to arrange your knowledge about Cocoon a
little bit. I also hope that it's clear now that development on top of
Cocoon is not tied to Maven by any means but Maven only aids this
process. We had to decide on something and we decided on Maven for
several reasons but we really understand that there can be circumstances
when Maven is not applicable thus we are really careful on not
introducing hard dependencies on Maven.
[...]
[1] http://cocoon.apache.org/2.2/1159_1_1.html
[2] http://cocoon.apache.org/2.2/1362_1_1.html
[3]
http://cocoon.apache.org/2.2/maven-plugins/maven-plugin/1.0/1297_1_1.html
[4] http://cocoon.apache.org/1363_1_1.html
[5] http://cocoon.apache.org/2.2/core-modules/core/2.2/1263_1_1.html
[6]
http://svn.apache.org/repos/asf/cocoon/trunk/tools/archetypes/cocoon-22-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/
------------------------------------------------------------------------------------------
I hope that this in conjuction with our standard tutorials will give you
a quite good picture of Cocoon 2.2.
If you have any additional questions feel free to ask but please explain
your problems in detail including sharing your motivations behind the
questions you ask. This will help to avoid any tensions.
--
Grzegorz Kossakowski
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Joerg Heinicke <jo...@gmx.de>.
On 18.11.2007 11:35 Uhr, Mansour wrote:
> I really need to understand how it works, what servlet starts when the
> request is received, and yes the minimum configuration.
> All I need is to understand the minimum requirements. I think I know
> what I need better than anyone else!
Nobody questions that you understand your requirements the best. I also
see where you are coming from with setting up a minimal Cocoon. But
there was a reason why I suggested you to not start from scratch but
with a minimal build that our build system provides. And there are
reasons why people think Cocoon has a very steep learning curve. Cocoon
uses a lot of technologies which you probably don't want to know all
beforehand.
> However, I did a minimal built and tried to write a small program, but
> was not able to get it to work. I think now my problem is in the sitemap
> "the thing that everybody wants me to worry about".
The main configuration files cocoon.xconf and the root sitemap should
also be quite well-documented with all their component setups. You now
seem to use the provided cocoon.xconf but wiped out the root sitemap
which has all the components for the sitemaps in it like pipelines,
generators, transformer, serializers, etc. Readd the map:components
section to your sitemap and you should make at least some progress. Once
you have that working you can remove single components like unused
generators or serializers, but not the whole section. You need at least
one of each type, for your example the caching pipeline, the file
generator, the XSLT transformer and the HTML serializer.
If you are only starting with Cocoon right now you should really
consider using Cocoon 2.2, especially in regard to minimal build. Many
"optional" components which are in core in 2.1 have been made really
optional in 2.2. Integration should be much easier in general. Learning
now 2.1 and later 2.2 seems to be too much effort since so much has
changed between both.
Joerg
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
Jason, thank you for this response. It was really helpful. However, I
know in the future I will not have to worry about web.xml and I promise
you I will be using maven. The point that no one seems to be paying
attention for, is that I do not want "ONLY" to use Cocoon. I really need
to understand how it works, what servlet starts when the request is
received, and yes the minimum configuration. The reason is, I need to
integrate cocoon and not to build a site with it. I have some
requirements to meet, and the end product that I am planing to use
Cocoon for will not be only through the web.
Basically I have to sync 2...n data bases through web services and for
each system, there's different DB schema and different DBMS.
The records may come from different sources (files, sockets, JMS...etc)
Well, all the answers I have got so far is about how easy it's to use
Cocoon and that I don't have to worry about anything. This is not the
way to go. I am not trying to impress my friends by how easy it's to
build a photo album or how nice my website looks. And I know Cocoon is
powerful. How am I gonna use it, and what do I need to worry about "is
my job".
All I need is to understand the minimum requirements. I think I know
what I need better than anyone else!
Your response was great, and I should have though about this from the
begging. I thought I can find a step by step tutorial some where.
However, I did a minimal built and tried to write a small program, but
was not able to get it to work. I think now my problem is in the sitemap
"the thing that everybody wants me to worry about".
I am getting an error:
No default type exists for 'pipeline' at file:/opt/tomcat/webapps/mysite/sitemap.xmap:5:17
Now, what is this ?? Here's the contents of my sitemap:
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
4 <map:pipelines>
5 <map:pipeline>
6 <!-- respond to *.html requests with our docs processed by doc2html.xsl -->
7 <map:match pattern="**/*.html">
8 <map:generate src="{1}.xml" />
9 <map:transform src="stylesheets/doc2html.xsl" />
10 <map:serialize type="html" />
11 </map:match>
12
13 </map:pipeline>
14 </map:pipelines>
15 </map:sitemap>
If you need any other info, let me know.
Jason Johnston wrote:
> Mansour wrote:
>> This was not help at all.
>> What is the part that is hard to understand in my first question?
>> I asked about how to write a small hello world application from scratch
> > and dump it in my tomcat/webapp. I Struts2, I include the jars in the
> > WEB-INF/lib and configure web.xml and other files.
>
> It sounds like you've got some preconceived expectations about how
> Cocoon works. This is understandable if you've worked with other
> frameworks like Struts, but you must understand that Cocoon is a very
> different beast than most frameworks.
>
> One of the nice things about Cocoon is that it is a complete framework
> layer sitting above the J2EE/servlet environment, so it abstracts you
> away from all the nitty-gritty stuff like configuring web.xml. Rather
> than you having to go through the work of writing a web.xml and other
> configuration files from scratch, you take the ones shipped with the
> Cocoon distribution and use them as-is. You can of course customize
> them to your heart's content, but in most cases (certainly for a Hello
> World app) there is no need. You just take the pre-assembled webapp
> that the build process produces, which has all the configuration and
> jar files necessary for running Cocoon already in place, and start
> right in with modifying the sitemap.xmap to build your app.
>
> If using Cocoon 2.1.x, you run the build and it creates a
> fully-functional webapp (unpacked war) under build/webapp/. You can
> start right there modifying sitemap.xmap to create your Hello World
> page. By default there are lots of samples included in the webapp
> (including several Hello World type pages) which you can examine to
> see how things work. Of course once you start creating a real app of
> your own you won't want all those samples in there so you can exclude
> them from the initial build.
>
> If using Cocoon 2.2 (currently in pre-release) the process is a bit
> different since it uses Maven to create "blocks", but actually makes
> the process simpler and much cleaner to get a minimal working Cocoon
> app up and running. You still don't have to worry at all about
> web.xml or other low-level configurations. See the "Getting Started"
> green box on the main cocoon.apache.org page for tutorials on that.
>
> I hope this is of some help. You just have to remember that Cocoon is
> very different than all other Java-based webapp frameworks out there,
> and therefore often requires that you think in very different ways.
> I'm sure some people don't like to do that, but many of us (me
> included) much prefer the "Cocoon way of thinking" for its elegant and
> robust concepts, and find it difficult going back.
>
> Best of luck!
> --Jason
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Jason Johnston <jj...@apache.org>.
Mansour wrote:
> This was not help at all.
> What is the part that is hard to understand in my first question?
> I asked about how to write a small hello world application from scratch
> and dump it in my tomcat/webapp. I Struts2, I include the jars in the
> WEB-INF/lib and configure web.xml and other files.
It sounds like you've got some preconceived expectations about how
Cocoon works. This is understandable if you've worked with other
frameworks like Struts, but you must understand that Cocoon is a very
different beast than most frameworks.
One of the nice things about Cocoon is that it is a complete framework
layer sitting above the J2EE/servlet environment, so it abstracts you
away from all the nitty-gritty stuff like configuring web.xml. Rather
than you having to go through the work of writing a web.xml and other
configuration files from scratch, you take the ones shipped with the
Cocoon distribution and use them as-is. You can of course customize
them to your heart's content, but in most cases (certainly for a Hello
World app) there is no need. You just take the pre-assembled webapp
that the build process produces, which has all the configuration and jar
files necessary for running Cocoon already in place, and start right in
with modifying the sitemap.xmap to build your app.
If using Cocoon 2.1.x, you run the build and it creates a
fully-functional webapp (unpacked war) under build/webapp/. You can
start right there modifying sitemap.xmap to create your Hello World
page. By default there are lots of samples included in the webapp
(including several Hello World type pages) which you can examine to see
how things work. Of course once you start creating a real app of your
own you won't want all those samples in there so you can exclude them
from the initial build.
If using Cocoon 2.2 (currently in pre-release) the process is a bit
different since it uses Maven to create "blocks", but actually makes the
process simpler and much cleaner to get a minimal working Cocoon app up
and running. You still don't have to worry at all about web.xml or
other low-level configurations. See the "Getting Started" green box on
the main cocoon.apache.org page for tutorials on that.
I hope this is of some help. You just have to remember that Cocoon is
very different than all other Java-based webapp frameworks out there,
and therefore often requires that you think in very different ways. I'm
sure some people don't like to do that, but many of us (me included)
much prefer the "Cocoon way of thinking" for its elegant and robust
concepts, and find it difficult going back.
Best of luck!
--Jason
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
This was not help at all.
What is the part that is hard to understand in my first question?
I asked about how to write a small hello world application from scratch
and dump it in my tomcat/webapp. I Struts2, I include the jars in the
WEB-INF/lib and configure web.xml and other files.
This is the question ---> How do I do this in Cocoon? And what should go
in these files?
The Answer goes here ---> .......
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by warrell harries <wa...@googlemail.com>.
Forgive me, I'm assuming you have read the INSTALL.TXT in the
2.1.10distrubition. For convenience I enclose it here
+-----------------------------+
| I N S T A L L |
+-----------------------------+
Let me guess: you don't like to read verbose docs, right?
Great, this file is for you.
1) Unpack the distribution
Obviously you've done this already, but if you got errors when unpacking
the archive with tar, you might need to use gnutar instead. Our archives
contain long paths and filenames which cause problems with some versions
of the tar command.
2) Set your JAVA_HOME environment
You have to set your JAVA_HOME environment to point to the root directory
of
the Java Virtual Machine (JDK 1.3.x or later) installed on your machine.
To do this simply type:
[unix] JAVA_HOME=/path/to/java/
[win32] SET JAVA_HOME=c:\path\to\java
your mileage may vary depending on your shell, but you know how to setup
environments, right?
If you're using JDK 1.3.x, you have to exclude the JCR block before
building
Cocoon. Have a look at the "Choosing the blocks" section below on how to
exculude a block. Please note that some samples require JDK 1.4 or above.
3) Build Cocoon by typing "build" or "./build.sh"
4) Run Cocoon by typing "cocoon" or "./cocoon.sh"
5) Open http://localhost:8888/ with your browser
That's it!
Now, you have two choices:
a) close this file and try to hack something out by yourself
b) keep reading
Go ahead and choose option a), but don't complain if you can't figure out
how
to use the cocoon build system for your needs.
Still here? good. You won't regret it.
Updating
--------
If you are updating from a previous release of Cocoon, make sure
that you read the installation instructions on updating first.
Choosing the blocks
-------------------
Cocoon is composed by its 'core' and several 'blocks'.
The core (a.k.a. naked cocoon') contains the system with services that
are needed to all cocoon users. Blocks provide services that you might not
need,
therefore the build system allows you to remove them from the build.
Now, do the following steps to configure the blocks you want in your cocoon:
1) cp blocks.properties local.blocks.properties
2) edit local.blocks.properties
3) rebuild (do a "build clean" first if you deactivated some blocks)
do not modify blocks.properties directly!
Tuning the build
----------------
Ok, now that you told the build system what services you want assembled
into your distribution, you can tune the build for your personal needs:
1) cp build.properties local.build.properties
2) edit local.build.properties
do not modify build.properties directly!
An example of a local.build.properties is the following:
compiler=jikes
compiler.debug=off
build.webapp=/path/to/where/to/build/the/webapp
where you override default compilation parameters and tell the build system
where to place the generated cocoon webapp. Look into build.properties to
find
out what you might want to modify for your own personal needs.
Running Cocoon as a servlet
---------------------------
When you do 'cocoon servlet', the servlet container (jetty) is started and
Cocoon
loaded into it. By default, this is attached to port 8888, but you can
change
this by setting the "JETTY_PORT" environment property before launching
cocoon.
Other properties that you can change are:
JETTY_ADMIN_PORT (defaults to 8889): is the port where the jetty web
administration is connected to. This is available when you launch
"cocoon servlet-admin", otherwise its disabled.
JETTY_WEBAPP (defaults to build/webapp): is the location of the webapp
that jetty has to execute. modify this to match your
local.build.properties
if you modified where the build system creates your webapp
JAVA_DEBUG_PORT (defaults to 8000): is the port where the JVM over-the-wire
debug interface connects to. This is available only if you launch
"cocoon servlet-debug", otherwise is disabled. This is used by remote
debuggers (for example, Eclipse's).
Note that the "standalone-demo" build target prepares a directory that you
can
move elsewhere to run "cocoon servlet" outside of the build tree.
All right, that's it for now.
Happy hacking with Cocoon.
On 17/11/2007, Mansour <ma...@yahoo.com> wrote:
>
> I 've had a look at this page before posting. However, I still need to
> know how things work (the servlet, web.xml, cocoon.xconf,...etc). I need
> to know how to wrap a web application in a war and throw it in the
> tomcat/webapp. Before, I learn how to use blocks I need to be able to
> write a small siplme application and build on top of it.
>
> If you know how to get this done, then please share the knowledge.
> Thank you.
>
> warrell harries wrote:
> > Hi,
> >
> > Have you followed the threads in the 2.10 release e.g.
> > http://cocoon.apache.org/2.1/howto/howto-explore-samples.html
> >
> > One of the advantages of Cocoon is that you do not need to get
> > involved in the Cocon servlet e.g. web.xml or the conventional
> > configuration e.g. cocoon.xconf. You only need concern yourself with
> > your 'block' sitemap. Have a look at a simple sample e.g. the Hello
> > World example or the request Generator and you will have an ah-ha
> moment.
> >
> > Please put in the effort and you will be rewarded ;-)
> >
> > On 17/11/2007, *Mansour* <mansour77@yahoo.com
> > <ma...@yahoo.com>> wrote:
> >
> > I am trying to write the simplest application using cocoon. Couldn't
> > find any tutorial. I would like to know what are the minimum
> > parameters
> > to go in the web.xml. All I need is a simple Hello World. Here's
> > what I
> > have so far:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <web-app xmlns=" http://java.sun.com/xml/ns/j2ee"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee
> > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> > version="2.4">
> >
> > <servlet>
> > <servlet-name> CocoonServlet </servlet-name>
> > <servlet-class> org.apache.cocoon.servlet.CocoonServlet
> > </servlet-class>
> > <init-param>
> > <param-name>configurations</param-name>
> > <param-value>/WEB-INF/cocoon.xconf</param-value>
> > </init-param>
> > </servlet>
> >
> > <servlet-mapping>
> > <servlet-name>CocoonServlet</servlet-name>
> > <url-pattern>/*</url-pattern>
> > </servlet-mapping>
> >
> > </web-app>
> >
> > ======================
> > What should go in the cocoon.xconf ?
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > <ma...@cocoon.apache.org>
> > For additional commands, e-mail: users-help@cocoon.apache.org
> > <ma...@cocoon.apache.org>
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
Re: Starting with Cocoon
Posted by Mansour <ma...@yahoo.com>.
I 've had a look at this page before posting. However, I still need to
know how things work (the servlet, web.xml, cocoon.xconf,...etc). I need
to know how to wrap a web application in a war and throw it in the
tomcat/webapp. Before, I learn how to use blocks I need to be able to
write a small siplme application and build on top of it.
If you know how to get this done, then please share the knowledge.
Thank you.
warrell harries wrote:
> Hi,
>
> Have you followed the threads in the 2.10 release e.g.
> http://cocoon.apache.org/2.1/howto/howto-explore-samples.html
>
> One of the advantages of Cocoon is that you do not need to get
> involved in the Cocon servlet e.g. web.xml or the conventional
> configuration e.g. cocoon.xconf. You only need concern yourself with
> your 'block' sitemap. Have a look at a simple sample e.g. the Hello
> World example or the request Generator and you will have an ah-ha moment.
>
> Please put in the effort and you will be rewarded ;-)
>
> On 17/11/2007, *Mansour* <mansour77@yahoo.com
> <ma...@yahoo.com>> wrote:
>
> I am trying to write the simplest application using cocoon. Couldn't
> find any tutorial. I would like to know what are the minimum
> parameters
> to go in the web.xml. All I need is a simple Hello World. Here's
> what I
> have so far:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns=" http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
>
> <servlet>
> <servlet-name> CocoonServlet </servlet-name>
> <servlet-class> org.apache.cocoon.servlet.CocoonServlet
> </servlet-class>
> <init-param>
> <param-name>configurations</param-name>
> <param-value>/WEB-INF/cocoon.xconf</param-value>
> </init-param>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>CocoonServlet</servlet-name>
> <url-pattern>/*</url-pattern>
> </servlet-mapping>
>
> </web-app>
>
> ======================
> What should go in the cocoon.xconf ?
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> <ma...@cocoon.apache.org>
> For additional commands, e-mail: users-help@cocoon.apache.org
> <ma...@cocoon.apache.org>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Starting with Cocoon
Posted by warrell harries <wa...@googlemail.com>.
Hi,
Have you followed the threads in the 2.10 release e.g.
http://cocoon.apache.org/2.1/howto/howto-explore-samples.html
One of the advantages of Cocoon is that you do not need to get involved in
the Cocon servlet e.g. web.xml or the conventional configuration e.g.
cocoon.xconf. You only need concern yourself with your 'block' sitemap. Have
a look at a simple sample e.g. the Hello World example or the request
Generator and you will have an ah-ha moment.
Please put in the effort and you will be rewarded ;-)
On 17/11/2007, Mansour <ma...@yahoo.com> wrote:
>
> I am trying to write the simplest application using cocoon. Couldn't
> find any tutorial. I would like to know what are the minimum parameters
> to go in the web.xml. All I need is a simple Hello World. Here's what I
> have so far:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
>
> <servlet>
> <servlet-name> CocoonServlet </servlet-name>
> <servlet-class> org.apache.cocoon.servlet.CocoonServlet</servlet-class>
> <init-param>
> <param-name>configurations</param-name>
> <param-value>/WEB-INF/cocoon.xconf</param-value>
> </init-param>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>CocoonServlet</servlet-name>
> <url-pattern>/*</url-pattern>
> </servlet-mapping>
>
> </web-app>
>
> ======================
> What should go in the cocoon.xconf ?
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>