FYI,

I'm developing with Cocoon 2.0 b2 with Tomcat 3.2.3 (default web server) 
running on Windows NT 4.0.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kito D. Mann
Chief Architect
[EMAIL PROTECTED]
Grow.Net

At 11:58 AM 8/22/01 -0400, you wrote:
>Hello,
>
>I'm currently evaluating Cocoon 2 for the next version of our site (we 
>deployed with Cocoon 1.8 earlier this year). I spent a couple of days 
>porting the old application to Cocoon 2 as a test, and I've run into a few 
>issues that I'm hoping you can help me sort out. Some of these things may 
>be pure ignorance, so forgive me if I overlooked something obvious. I did, 
>however, read all of the docs, and I have a lot of experience with Cocoon 1.8.
>
>Here are my comments/issues/etc:
>
>- Sending action results to an XSP. I know I'm missing something here, but 
>I couldn't figure out how to do this (without using the request logicsheet).
>The old code had a home-grown Action framework, so I created a proxy 
>action to convert between our framework and Cocoon's. Here's what the 
>action did in its act() method:
>
>          DispatchableActionAdapter oldAction = 
> (DispatchableActionAdapter)ActionFactory.getAction(actionName);
>           Object obj = oldAction.handle(req);
>           if (obj != null)
>           {
>             HashMap map = new HashMap();
>             String documentName = oldAction.getNormalReturnDocument();
>             documentName = documentName.substring(0, 
> documentName.lastIndexOf("."));
>             map.put("document", documentName);
>             SystemLog.trace("saved [document] as " + documentName);
>             map.put(ActionConstants.ACTION_RESPONSE, obj);
>             SystemLog.trace("saved value as " + 
> ActionConstants.ACTION_RESPONSE);
>
>             return map;
>           }
>
>The old XSP pages had statements like the following inside <xsp:logic> tags:
>
>  ArrayList skillList = 
> (ArrayList)request.getAttribute(ActionConstants.ACTION_RESPONSE);
>
>However, this always returned null (I tried many different variations). I 
>could access the responses fine from the sitemap, but I had no luck with 
>XSP. What am I missing?
>
>- Having trouble getting nested sitemap matcher variables (e.g. "{1}") 
>within an action tag. Example:
>
>       <map:match pattern="content/*.xsp">
>
>         <map:act type="wrapper">
>           <map:parameter name="oldAction" value="authentication"/>
>
>           <map:generate type="serverpages" src="content/{1}.xsp"/>
>           <map:transform src="styles/{1}.xsl"/>
>           <map:serialize/>
>         </map:act>
>
>         <!-- something was wrong, redirect to login page -->
>         <map:redirect-to uri="../login_error"/>
>       </map:match>
>
>When this executes, the {1} values aren't substituted at all (it tries to 
>find "content/.xsp"). However, the following works because the variables 
>aren't nested within the action:
>
>       <map:match pattern="content/*.xsp">
>
>          <map:generate type="serverpages" src="content/{1}.xsp"/>
>          <map:transform src="styles/{1}.xsl"/>
>
>         <map:act type="wrapper">
>           <map:parameter name="oldAction" value="authentication"/>
>           <map:serialize/>
>         </map:act>
>
>         <!-- something was wrong, redirect to login page -->
>         <map:redirect-to uri="../login_error"/>
>       </map:match>
>
>- There seems to be an XSP bug that often generates the following code:
>
>  this.characters("
>  ");
>
>This seems to happen whenever there's an extra line after an <xsp:logic> 
>statement:
>
><xsp:logic>
>         ...
></xsp:logic>
>
>         <info>
>                 <title>Site Guide</title>
>                 <userType><xsp:expr>userType</xsp:expr></userType>
>         </info>
>         <navigation/>
>         <content/>
>...
>
>Remove the line, and it works fine:
>
><xsp:logic>
>         ...
></xsp:logic>
>         <info>
>                 <title>Site Guide</title>
>                 <userType><xsp:expr>userType</xsp:expr></userType>
>         </info>
>         <navigation/>
>         <content/>
>...
>
>- No default (hard-coded) error handler. One of the things that really 
>throws me off with Cocoon 2 is the lack of some default error handling. It 
>doesn't seem like the <map:handle-errors> section gets called for a lot of 
>exceptions that can occur in the pipeline. I found myself constantly 
>looking at the logs to figure out what went wrong, which was difficult to 
>get used to, since 1.8 always displayed some sort of error.
>
>- No default output. It's disconcerting to see a blank page, because it 
>can mean many things (i.e. an exception in an action, no mapping defined 
>for the requested url, etc.).
>
>- Background compilation. This is a great thing for production use, but 
>during development I want instant gratification :-). Is there a way to 
>just make the request block until the compilation is complete?
>
>If anyone can spread some light on these issues, I'd greatly appreciate 
>it. I'm quite impressed with the architecture of this release, btw.
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Kito D. Mann
>Chief Architect
>[EMAIL PROTECTED]
>Grow.Net
>(212)625-1914 x105
>
>
>
>---------------------------------------------------------------------
>Please check that your question has not already been answered in the
>FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
>For additional commands, e-mail: <[EMAIL PROTECTED]>




---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to