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 2008/02/24 06:30:08 UTC

Protocols in Cocoon

Is there a full documentation about all the protocols available in 
Cocoon. I couldn't find any document on the Cocoon web site about this 
subject. Protocols I am aware of:

implicit.
block:
blockcontext:
context:
resource:
servlet:
cocoon:

I don't know what is the difference between each of them. Where can I 
get this info?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Protocols in Cocoon

Posted by Mansour <ma...@yahoo.com>.
Thank you for the explanation. I found the <source-factories> element:
  <source-factories>
    <component-instance 
class="org.apache.excalibur.source.impl.ResourceSourceFactory" 
name="resource"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.ContextSourceFactory" 
name="context"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" 
name="cocoon"/>

    <!--+
        | The "file:" source protocol is modifiable (can be written to) and
        | traversable (directory structures can be crawled).
        +-->
    <component-instance 
class="org.apache.excalibur.source.impl.FileSourceFactory" name="file"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.PartSourceFactory" 
name="upload"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.ModuleSourceFactory" 
name="module"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.XModuleSourceFactory" 
name="xmodule"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.ZipSourceFactory" 
name="zip"/>
    <component-instance 
class="org.apache.cocoon.components.source.impl.EmptySourceFactory" 
name="empty"/>

    <!--+
        | The "*" protocol handles all uri schemes that are not explicitely
        | specified. This includes all JDK standard protocols.
        +-->
    <component-instance 
class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/>
  </source-factories>

I looked in the file cocoon-core.jar and tried to find it in the *.xconf 
files for Cocoon 2.2, but no luck. The info you gave me was a lot of 
help, but I like to hear about cocoon 2.2.
Thank you.


solprovider@apache.org wrote:
> You should not need to read Java source code.  Although many of the
> protocols are missing explanations in the class API, the purpose of
> each class can usually be discovered by reading the explanations of
> the constructors.
>
> All "Protocol Handlers" or "Source Factories" must be specified in the
> <source-factories> element in:
> FILE: build/webapp/WEB-INF/cocoon.xconf
> Each  <component-instance> child element specifies the protocol in the
> "name" attribute and the Java handler in the "class" attribute.  By
> convention, the handler classes are called SomethingSourceFactory.
> SourceFactories must return a Source; most return either a Source of
> the same name as the Factory or one of the standard Excalibur Sources
> e.g. FileSource or URLSource.
>
> You should open cocoon.xconf to discover which protocols are currently
> available and to add protocols.  Note the final entry with attribute
> name="*" is used for Source requests using protocols not specified in
> the file.  The default is URLSourceFactory which tries:
> 1. If protocol is "file:", create a FileSource.
> 2. Try to create a URLSource using java.net.URL.
> 3. If step 2 fails with MalformedURLException, try to create a FileSource.
> Note this last step can cause errors on Microsoft Windows due to the
> prefix before the colon (specifying the drive letter) being
> interpreted as both the protocol and part of the address.
> "C:\temp\example.xml" is assigned the protocol scheme "C" so
> Source.getURI() returns "C://C:/temp/example.xml" rather than the
> correct URI "file://C:/temp/example.xml".  The workaround is to always
> specify the file: protocol.
>
> Someone else should comment about Cocoon-2.2.  The Windows bug is in
> Exclaibur's trunk and is likely to affect Cocoon-2.2.
>
> solprovider
>
> On 3/2/08, Mansour <ma...@yahoo.com> wrote:
>   
>> thank you for your reply. Where can I find the ones in Cocoon2.2 and in
>>  Cocoon 2.1 . How can I tell.
>>  Do I have to read the source code to find out?
>>
>>  Alexander Daniel wrote:
>>  > On 24.02.2008, at 06:30, Mansour wrote:
>>  >> Is there a full documentation about all the protocols available in
>>  >> Cocoon. I couldn't find any document on the Cocoon web site about
>>  >> this subject. Protocols I am aware of:
>>  >> implicit.
>>  >> block:
>>  >> blockcontext:
>>  >> context:
>>  >> resource:
>>  >> servlet:
>>  >> cocoon:
>>  >>
>>  >> I don't know what is the difference between each of them. Where can I
>>  >> get this info?
>>  >
>>  > Unfortunately I am not aware of any full documentation of all the
>>  > protocols. Some information can be found in the Cocoon Wiki [1].
>>  >
>>  > The Cocoon 2.1.11 samples configure following protocols in
>>  > cocoon.xconf: all JDK standard protocols (e.g. http), blob, cached,
>>  > cocoon, context, coplet, empty, file, module, qdox, repository,
>>  > resource, slide, upload, webdav, xmldb, xmodule, zip. Javadocs for
>>  > most of these can be found at [2].
>>  >
>>  > I assume that block, blockcontext and servlet were introduced with
>>  > Cocoon 2.2.
>>  >
>>  > Alex
>>  > [1] http://wiki.apache.org/cocoon/Protocols
>>  > [2] http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/package-summary.html
>>     
>
> ---------------------------------------------------------------------
> 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: Protocols in Cocoon

Posted by so...@apache.org.
You should not need to read Java source code.  Although many of the
protocols are missing explanations in the class API, the purpose of
each class can usually be discovered by reading the explanations of
the constructors.

All "Protocol Handlers" or "Source Factories" must be specified in the
<source-factories> element in:
FILE: build/webapp/WEB-INF/cocoon.xconf
Each  <component-instance> child element specifies the protocol in the
"name" attribute and the Java handler in the "class" attribute.  By
convention, the handler classes are called SomethingSourceFactory.
SourceFactories must return a Source; most return either a Source of
the same name as the Factory or one of the standard Excalibur Sources
e.g. FileSource or URLSource.

You should open cocoon.xconf to discover which protocols are currently
available and to add protocols.  Note the final entry with attribute
name="*" is used for Source requests using protocols not specified in
the file.  The default is URLSourceFactory which tries:
1. If protocol is "file:", create a FileSource.
2. Try to create a URLSource using java.net.URL.
3. If step 2 fails with MalformedURLException, try to create a FileSource.
Note this last step can cause errors on Microsoft Windows due to the
prefix before the colon (specifying the drive letter) being
interpreted as both the protocol and part of the address.
"C:\temp\example.xml" is assigned the protocol scheme "C" so
Source.getURI() returns "C://C:/temp/example.xml" rather than the
correct URI "file://C:/temp/example.xml".  The workaround is to always
specify the file: protocol.

Someone else should comment about Cocoon-2.2.  The Windows bug is in
Exclaibur's trunk and is likely to affect Cocoon-2.2.

solprovider

On 3/2/08, Mansour <ma...@yahoo.com> wrote:
> thank you for your reply. Where can I find the ones in Cocoon2.2 and in
>  Cocoon 2.1 . How can I tell.
>  Do I have to read the source code to find out?
>
>  Alexander Daniel wrote:
>  > On 24.02.2008, at 06:30, Mansour wrote:
>  >> Is there a full documentation about all the protocols available in
>  >> Cocoon. I couldn't find any document on the Cocoon web site about
>  >> this subject. Protocols I am aware of:
>  >> implicit.
>  >> block:
>  >> blockcontext:
>  >> context:
>  >> resource:
>  >> servlet:
>  >> cocoon:
>  >>
>  >> I don't know what is the difference between each of them. Where can I
>  >> get this info?
>  >
>  > Unfortunately I am not aware of any full documentation of all the
>  > protocols. Some information can be found in the Cocoon Wiki [1].
>  >
>  > The Cocoon 2.1.11 samples configure following protocols in
>  > cocoon.xconf: all JDK standard protocols (e.g. http), blob, cached,
>  > cocoon, context, coplet, empty, file, module, qdox, repository,
>  > resource, slide, upload, webdav, xmldb, xmodule, zip. Javadocs for
>  > most of these can be found at [2].
>  >
>  > I assume that block, blockcontext and servlet were introduced with
>  > Cocoon 2.2.
>  >
>  > Alex
>  > [1] http://wiki.apache.org/cocoon/Protocols
>  > [2] http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/package-summary.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Protocols in Cocoon

Posted by Mansour <ma...@yahoo.com>.
thank you for your reply. Where can I find the ones in Cocoon2.2 and in 
Cocoon 2.1 . How can I tell.
Do I have to read the source code to find out?




Alexander Daniel wrote:
> On 24.02.2008, at 06:30, Mansour wrote:
>
>> Is there a full documentation about all the protocols available in 
>> Cocoon. I couldn't find any document on the Cocoon web site about 
>> this subject. Protocols I am aware of:
>>
>> implicit.
>> block:
>> blockcontext:
>> context:
>> resource:
>> servlet:
>> cocoon:
>>
>> I don't know what is the difference between each of them. Where can I 
>> get this info?
>
> Unfortunately I am not aware of any full documentation of all the 
> protocols. Some information can be found in the Cocoon Wiki [1].
>
> The Cocoon 2.1.11 samples configure following protocols in 
> cocoon.xconf: all JDK standard protocols (e.g. http), blob, cached, 
> cocoon, context, coplet, empty, file, module, qdox, repository, 
> resource, slide, upload, webdav, xmldb, xmodule, zip. Javadocs for 
> most of these can be found at [2].
>
> I assume that block, blockcontext and servlet were introduced with 
> Cocoon 2.2.
>
> Alex
>
> [1] http://wiki.apache.org/cocoon/Protocols
> [2] 
> http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/package-summary.html 
>
>
> ---------------------------------------------------------------------
> 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: Protocols in Cocoon

Posted by so...@apache.org.
On 4/30/08, dynnamitt <kj...@gmail.com> wrote:
>   - How do I specify the cocoon-view param when using the cocoon:// or
>  cocoon:// protocol ?
>
>  just adding '?coccon-view=content' into the url doesn't seem to help much...
>  (2.1.11)
>
>  mvh,
>  dynnamitt.

I was (once) able to add parameters using a question mark in the
src="cocoon:" request.  I have not been able to return a "view" for
submaps; I think the assumption is that internal requests should use
Matchers and Selectors rather than the "view" escape system.

HTH,
solprovider

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Protocols in Cocoon

Posted by dynnamitt <kj...@gmail.com>.
Question:
 - How do I specify the cocoon-view param when using the cocoon:// or
cocoon:// protocol ?

just adding '?coccon-view=content' into the url doesn't seem to help much...
(2.1.11)

mvh,
dynnamitt.



Alexander Daniel wrote:
> 
> On 24.02.2008, at 06:30, Mansour wrote:
> 
>> Is there a full documentation about all the protocols available in  
>> Cocoon. I couldn't find any document on the Cocoon web site about  
>> this subject. Protocols I am aware of:
>>
>> implicit.
>> block:
>> blockcontext:
>> context:
>> resource:
>> servlet:
>> cocoon:
>>
>> I don't know what is the difference between each of them. Where can  
>> I get this info?
> 
> Unfortunately I am not aware of any full documentation of all the  
> protocols. Some information can be found in the Cocoon Wiki [1].
> 
> The Cocoon 2.1.11 samples configure following protocols in  
> cocoon.xconf: all JDK standard protocols (e.g. http), blob, cached,  
> cocoon, context, coplet, empty, file, module, qdox, repository,  
> resource, slide, upload, webdav, xmldb, xmodule, zip. Javadocs for  
> most of these can be found at [2].
> 
> I assume that block, blockcontext and servlet were introduced with  
> Cocoon 2.2.
> 
> Alex
> 
> [1] http://wiki.apache.org/cocoon/Protocols
> [2]
> http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/package-summary.html
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Protocols-in-Cocoon-tp15661166p16976573.html
Sent from the Cocoon - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Protocols in Cocoon

Posted by Alexander Daniel <al...@gmx.at>.
On 24.02.2008, at 06:30, Mansour wrote:

> Is there a full documentation about all the protocols available in  
> Cocoon. I couldn't find any document on the Cocoon web site about  
> this subject. Protocols I am aware of:
>
> implicit.
> block:
> blockcontext:
> context:
> resource:
> servlet:
> cocoon:
>
> I don't know what is the difference between each of them. Where can  
> I get this info?

Unfortunately I am not aware of any full documentation of all the  
protocols. Some information can be found in the Cocoon Wiki [1].

The Cocoon 2.1.11 samples configure following protocols in  
cocoon.xconf: all JDK standard protocols (e.g. http), blob, cached,  
cocoon, context, coplet, empty, file, module, qdox, repository,  
resource, slide, upload, webdav, xmldb, xmodule, zip. Javadocs for  
most of these can be found at [2].

I assume that block, blockcontext and servlet were introduced with  
Cocoon 2.2.

Alex

[1] http://wiki.apache.org/cocoon/Protocols
[2] http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/package-summary.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org