cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Torsten Schlabach" <tschlab...@apache.org>
Subject Re: JCR question
Date Fri, 29 Jul 2005 15:53:28 GMT
Josias,

thank you very much for your explaination! It really helped me over the
hurdle. For the first time, I was able to get something out of my
repository.

I also start to understand the difference between a repository and a plain
filesystem and that the JCR source basically proposes a very specific view
on the repository to make it act like a filesystem again.

Gotta put some thoughts to this ... But thank you in the meanwhile. You
probably made my weekend!

Regards,
Torsten

> On Fri, 2005-07-29 at 16:20 +0200, Torsten Schlabach wrote:
>> Josias,
>>
>> >> <content-node type="nt:resource"
>> >>   content-prop="jcr:data"
>> >>   mimetype-prop="jcr:mimeType"
>> >>   lastmodified-prop="jcr:lastModified"
>> >>   validity-prop="jcr:lastModified"/>
>>
>> That piece was definitely missing. But I am not yet sure that I have
>> fully
>> understood this stuff. I have imported the sample as you can see it from
>>
>> http://incubator.apache.org/jackrabbit/firststeps.html
>>
>> and changed my repository config in Cocoon to find that repository which
>> Jackrabbit has created. So far that worked fine. Now I am trying to get
>> back any piece of that XML document that got imported in the first steps
>> example.
>>
>> >From reading the JCR (JSR-170) spec on page 16 I got the impression,
>> that
>> actual content is always a property, not a node. My understanding of
>> page
>> 16 of the spec was that nodes are just some kind of directory, but that
>> might be wrong.
>
> Yes, in JCR the content is always stored in a property.
> But with the jcr:// protocol, you are referring to nodes. The trick is
> that nodes have a type, and depending on the type, the jcr:// protocol
> will either regard the node as a "folder" or as a "file". Only files can
> have actual content.
> If you specifiy the path to a file-node with the jcr:// protocol, the
> corresponding content-property will be fetched and the content returned.
> Which nodetypes are folders and which are files is defined in the
> configuration of the JCRSourceFactory. You also have to define which
> property holds the content. BTW, the javadoc of this class has a good
> explanation.
>
> As far as I understood it, the JCR-block is quite filesystem-oriented.
> That means that a folder cannot have content of its own.
> In JCR, this is certainly possible, any node can have subnodes and
> properties at the same time.
> In the firststeps example of jackrabbit, all nodes in the "import"
> branch seem to have type "nt:unstructured". So I see no way to define
> which nodes are folders and which are files.
> To me it seems that you cannot really use an arbitrary repository with
> the JCR block.
>
> But I'm no JCR expert at all, and I might be wrong.
>
> Josias
>
>
>
>
>>
>> > Does your configuration match your repository?
>>
>> No, I have no idea how
>>
>> >> <content-node type="nt:resource"
>> >>   content-prop="jcr:data"
>> >>   mimetype-prop="jcr:mimeType"
>> >>   lastmodified-prop="jcr:lastModified"
>> >>   validity-prop="jcr:lastModified"/>
>>
>> might match my repository or not.
>>
>> Regards,
>> Torsten
>>
>>
>> > On Thu, 2005-07-28 at 17:17 +0200, Josias Thoeny wrote:
>> >> On Thu, 2005-07-28 at 16:28 +0200, Torsten Schlabach wrote:
>> >> > Hi guys,
>> >> >
>> >> > I have successfully achieved this:
>> >> >
>> >> > 1. I have built Jackrabbit and created a sample repository using
>> the
>> >> > examples (First Steps) code samples. This is a repository which is
>> >> > entirely independent of Cocoon.
>> >> >
>> >> > 2. I have imported some XML stuff into the repository, also
>> following
>> >> that
>> >> > XHTML/MathML example from the Jackrabbit First Steps page.
>> >> >
>> >> > 3. I managed to make this repository known to Cocoon's JCR block by
>> >> > editing cocoon.xconf approprietely.
>> >> >
>> >> > 4. I can generate the collections through the TraversableGenerator
>> in
>> >> > webapp/samples/blocks/jcr of Cocoon (though on the blocks overview
>> >> page it
>> >> > says the jcr block did not have any samples). I can see the
>> collection
>> >> of
>> >> > nodes that were created by the Jackrabbit example, such as
>> /xmlimport
>> >> for
>> >> > example.
>> >> >
>> >> > But this is where I am stuck.
>> >> >
>> >> > In order not to get the collections but an actual property (read:
>> >> piece of
>> >> > content) from the repository, I tried something like:
>> >> >
>> >> > <map:generate
>> src="jcr://importxml/xhtml:html/xhtml:body/xhtml:p[2]"
>> >> />
>> >> >
>> >> > But no matter what node I try, I keep getting
>> >> >
>> >> > org.apache.cocoon.ProcessingException: Exception during source
>> >> resolving.:
>> >> > org.apache.excalibur.source.SourceException: Path
>> >> > 'jcr://importxml/xhtml:html/xhtml:body/xhtml:p[2]' is a collection
>> >> >
>> >> > What do I have to put into the jcr:// URI in order to access
>> content,
>> >> not
>> >> > meta-information.
>> >>
>> >> What is the configuration of your JCRSourceFactory?
>> >> I think to define which nodes actually contain the data, you have to
>> >> define a file-node with a content-node having a content-prop, like
>> e.g.:
>> >
>> > oops, accidentally sent...
>> >
>> > Here is a part of the sample configuration of the JCRSourceFactory:
>> >
>> > <file-node content-ref="jcr:content" type="nt:linkedFile"/>
>> >                <content-node type="nt:resource"
>> >                              content-prop="jcr:data"
>> >                              mimetype-prop="jcr:mimeType"
>> >                              lastmodified-prop="jcr:lastModified"
>> >                              validity-prop="jcr:lastModified"/>
>> >
>> > It means there will be a "jcr:content" node with a property "jcr:data"
>> > which will contain the actual data.
>> > Does your configuration match your repository?
>> >
>> > hth,
>> > Josias
>> >
>> >
>> >>
>> >>
>> >> >
>> >> > Regards,
>> >> > Torsten
>> >> >
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > 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
>
>


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


Mime
View raw message