You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Heh <vi...@gmail.com> on 2005/07/11 06:23:53 UTC

First Strand of Silk

Hi all,

my name is He Huang, another lucky SoCer. In some English-speaking
situations where more than two males are involved, my first name
sometimes causes confusion. So please call me Heh instead of He to
improve the signal/noise ratio.

My job in this summer is to become a silkworm, enable part of the
Cocoon, CForm,  to produce silk with one more color - XUL, in an
interactive and efficient way.

This is more than exciting. Before diving into the Cocoon,  I walked
around this giant Cocoon, figuring out how to make my first strand of
silk, after all it's a cocoon!

I used the most fresh one, version 2.1.7. After going through pretty
easy (in terms of number of commands) building and starting processes
on RedHat Linux 9, I browsed various samples of pre-made silk, being
impressed by the rich set of colors and textures, I started to think
that I'm gonna finacially secure not only myself but also lots of
other people, if I can make and sell more threads of this kind of
high-tech silk. This is fantastic!

Following some illustrations, I wrote three files: silk.xml, silk.xslt
and sitemap.xmap, and dropped them into a directory named "silk". Next
step is to deploy these files into Cocoon,
since this version of Cocoon includes a servlet engine Jetty, I don't
need any more help from my cute little pet Tomcat,  so I placed the
silk directory straight under $COCOON-ROOT/build/webapp, the web
application context directory,
then pointed to:
http://localhost:8888/silk
and expected to pull out a strand of silk saying "Hello, this is my
first strand of silk".

Crap! I got some a whole page of message instead:
"Resource not found
No pipeline matched request: silk
org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: silk
...
"
What's wrong? The files should be fine since they were all tested,  I
only changed a few text words. This must be some configuration
problem, searched all the docs, no luck. What
about mount?  the root sitemap.xmap clearly mounts everything
including "silk". Struggled a bit, came back to the root sitemap.xmap,
carefully read this file line by line, some comments caught my
attention:
"  http://blah/something/ and http://blah/something
        effectively locate different web resources and the act of mapping
        them to the same system resources is your concern, not Cocoon's. "

quickly I pointed to:
http://localhost:8888/silk/

I got my first strand of silk!

Well, this should be documented for newbies like me, or it would be
more user-friendly for
Cocoon to automatically identify and add the missing ending slash,
even if typing URL
without ending slash is "considered a bad practice".

Nagged a bunch, this is my only signal, sorry.

Now I am really in good mode to call my GF, and tell her that this
world will only become better and peaceful if all you ladies wear
nothing but Apache-Cocoon-Made high-tech silk!

The question I left for your guys is: How can I become a productive silkworm?

-Heh

P.S. I will sign the CLA soon.

Re: First Strand of Silk

Posted by Antonio Gallardo <ag...@agssa.net>.
Heh wrote:

>Hi all,
>  
>
Hi Heh!

Glad to see you here. ;-)

>my name is He Huang, another lucky SoCer. In some English-speaking
>situations where more than two males are involved, my first name
>sometimes causes confusion. So please call me Heh instead of He to
>improve the signal/noise ratio.
>
>My job in this summer is to become a silkworm, enable part of the
>Cocoon, CForm,  to produce silk with one more color - XUL, in an
>interactive and efficient way.
>
>This is more than exciting. Before diving into the Cocoon,  I walked
>around this giant Cocoon, figuring out how to make my first strand of
>silk, after all it's a cocoon!
>
>I used the most fresh one, version 2.1.7. After going through pretty
>easy (in terms of number of commands) building and starting processes
>on RedHat Linux 9, I browsed various samples of pre-made silk, being
>impressed by the rich set of colors and textures, I started to think
>that I'm gonna finacially secure not only myself but also lots of
>other people, if I can make and sell more threads of this kind of
>high-tech silk. This is fantastic!
>  
>
Yes, cocoon is wonderful and powerful! There are a lot of companies 
using it now.

>Following some illustrations, I wrote three files: silk.xml, silk.xslt
>and sitemap.xmap, and dropped them into a directory named "silk". Next
>step is to deploy these files into Cocoon,
>since this version of Cocoon includes a servlet engine Jetty, I don't
>need any more help from my cute little pet Tomcat,  so I placed the
>silk directory straight under $COCOON-ROOT/build/webapp, the web
>application context directory,
>then pointed to:
>http://localhost:8888/silk
>and expected to pull out a strand of silk saying "Hello, this is my
>first strand of silk".
>
>Crap! I got some a whole page of message instead:
>"Resource not found
>No pipeline matched request: silk
>org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: silk
>...
>"
>What's wrong? The files should be fine since they were all tested,  I
>only changed a few text words. This must be some configuration
>problem, searched all the docs, no luck. What
>about mount?  the root sitemap.xmap clearly mounts everything
>including "silk". Struggled a bit, came back to the root sitemap.xmap,
>carefully read this file line by line, some comments caught my
>attention:
>"  http://blah/something/ and http://blah/something
>        effectively locate different web resources and the act of mapping
>        them to the same system resources is your concern, not Cocoon's. "
>
>quickly I pointed to:
>http://localhost:8888/silk/
>
>I got my first strand of silk!
>
>Well, this should be documented for newbies like me, or it would be
>more user-friendly for
>Cocoon to automatically identify and add the missing ending slash,
>even if typing URL
>without ending slash is "considered a bad practice".
>  
>
Place this lines before mounting, this should do the work:

<!-- Redirect to the user directory if the ending slash is missing -->
        <map:match pattern="~*">
            <map:redirect-to uri="{0}/"/>
        </map:match>

>Nagged a bunch, this is my only signal, sorry.
>
>Now I am really in good mode to call my GF, and tell her that this
>world will only become better and peaceful if all you ladies wear
>nothing but Apache-Cocoon-Made high-tech silk!
>
>The question I left for your guys is: How can I become a productive silkworm?
>  
>
IMHO, the question is too extend to being answered in a mail. There is a 
nice introductory block called "tour". Run cocoon and see the samples. 
If you want to concentrate on cforms, I believe this links can help:

Presentations from GetTogether event presentations you can speed up 
cocoon learning: Go to cocoon download area: 
http://cocoon.apache.org/mirror.cgi click on "Material from events" and 
there see this presentations:

from gt2003 (all of them have also videos of the presentation. Download 
the video and the PDf to follow the presentation):

11-visual-journey.pdf --> A brief overview
13-woody-flowscript.pdf --> How to use cforms with flowscript. Keep in 
mind that woody is now cforms.
16-lightweight-tool-presentation.pdf --> CVS is now SVN but not 
important from the presentation POV. Here you will learn about the toold 
we use in the community.

gt2004 (unfortunately no videos. Will be fine to add the videos no 
matter it is from the last year) - [Did you hear me Jeremy? ;-) ]:

JeremyQuinn-GT2004.pdf --> About how to avoid mistakes. Partially answer 
your question. ;-) It is good!
gt2004-bertrand (part I and II) --> explains how works cforms in a Db app.

Other interesting links:

http://cocoon.apache.org/2.1/userdocs/forms/index.html
http://wiki.apache.org/cocoon/CFormsMinimalExamples
http://wiki.apache.org/cocoon/WoodyHelloWorld   <---- Take care to 
change the namespaces to adapt to cforms

I hope this help.

>P.S. I will sign the CLA soon.
>  
>
Great!

Best Regards,

Antonio Gallardo.