cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robin Wyles <...@robinwyles.com>
Subject Re: Internal pipelines and servlet protocol
Date Mon, 17 Nov 2008 11:33:26 GMT
Hi All,

Apologies for the re-post but I'm still searching for an answer to my  
issue below... In a nutshell, internal pipelines are not accessible  
using the servlet: protocol, whereas the C2.2 document seems to  
suggest they should be.

If a Cocoon dev could take a look at the thread below, and give me  
any pointers at all I'd really appreciate it.

Many thanks,

Robin

On 3 Nov 2008, at 21:03, Robin Wyles wrote:

> Hi Jeroen,
>
> Below is a simple sitemap that reproduces the problem. Calling  
> "internal-resource" results in a ResourceNotFoundException, while  
> calling "external-resource" serves the file as expected. I've also  
> taken the liberty of sending you a test block off-list so you can  
> quickly test the problem.
>
> Many thanks for your help with this...
>
> Robin
>
>
> <map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>  xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0 http:// 
> cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
>  xmlns:map="http://apache.org/cocoon/sitemap/1.0">
>   <map:pipelines>
>     <!--+
>         | Public pipelines
>         +-->
>     <map:pipeline id="test">
>       <!-- Test to show inaccesibility of internal pipelines via  
> servlet protocol. -->
>
>       <map:match pattern="internal-resource">
>       	<map:generate src="servlet:/resource/internal/test.xml"/>
>       	<map:serialize type="html"/>
>       </map:match>
>
>       <map:match pattern="external-resource">
>       	<map:generate src="servlet:/resource/external/test.xml"/>
>       	<map:serialize type="html"/>
>       </map:match>
>
>     </map:pipeline>
>
>     <!--+
>         | Default pipelines
>         +-->
>     <map:pipeline id="internal-resource" internal-only="true">
>       <!-- Put matchers for internal (accessible only to Cocoon  
> blocks) resources here
>         More details: http://cocoon.zones.apache.org/daisy/cdocs- 
> site-main/g2/1345.html -->
>       <map:match pattern="resource/internal/**">
>         <map:read src="resource/internal/{1}"/>
>       </map:match>
>     </map:pipeline>
>
>     <map:pipeline id="external-resource">
>       <!-- Put matchers for external (accessible to the outside  
> world, e.g. browser) resources here.
>         More details: http://cocoon.zones.apache.org/daisy/cdocs- 
> site-main/g2/1345.html -->
>       <map:match pattern="resource/external/**">
>         <map:read src="resource/external/{1}"/>
>       </map:match>
>     </map:pipeline>
>
>     <map:pipeline id="service">
>       <!-- Put your servlet service matchers here.
>         More details: http://cocoon.zones.apache.org/daisy/cdocs- 
> site-main/g2/1345.html -->
>     </map:pipeline>
>   </map:pipelines>
>
> </map:sitemap>
>
> On 3 Nov 2008, at 18:33, Jeroen Reijn wrote:
>
>> Hi Robin,
>>
>> I've been lagging behind on my Cocoon related things for a while,  
>> but where are you trying to fetch this internal pipeline from?  
>> Coul you show us the part of a sitemap that calls the below  
>> matcher (which does not work)?
>>
>> Regards,
>>
>> Jeroen
>>
>> Robin Wyles wrote:
>>> Hi,
>>> Can any devs shed some light on my previous question below?
>>> Thanks,
>>> Robin
>>> On 27 Oct 2008, at 14:22, Robin Wyles wrote:
>>>> Hi,
>>>>
>>>> In the default sitemap generated with the block archetype there  
>>>> is a pipeline as follows:
>>>>
>>>> <map:pipeline id="internal-resource" internal-only="true">
>>>>       <!-- Put matchers for internal (accessible only to Cocoon  
>>>> blocks) resources here
>>>>         More details: http://cocoon.zones.apache.org/daisy/cdocs- 
>>>> site-main/g2/1345.html -->
>>>>       <map:match pattern="resource/internal/**">
>>>>         <map:read src="resource/internal/{1}"/>
>>>>       </map:match>
>>>>  </map:pipeline>
>>>>
>>>> On the docs page linked to above it states that blocks may have  
>>>> "internal resources that are accessible to other block via  
>>>> servlet: protocol". However, from my tests it seems that  
>>>> internal-only pipelines are still not accessible from other  
>>>> blocks via the servlet protocol. Am I going mad?
>>>>
>>>> How can I make pipelines which are only to be accessed by blocks  
>>>> within my app inaccessible to the world at large?
>>>>
>>>> Cheers,
>>>>
>>>> Robin
>>>>
>>>> ------------------------------------------------------------------- 
>>>> --
>>>> 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
>>
>
>
> ---------------------------------------------------------------------
> 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


Mime
View raw message