You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Sascha Rodekamp <sa...@googlemail.com> on 2011/04/19 11:13:22 UTC

Re: svn commit: r1094371 [1/2] - in /ofbiz/branches/jackrabbit20100709: ./ applications/content/ applications/content/data/ applications/content/entitydef/ applications/content/src/org/ofbiz/content/jcr/ applications/content/src/org/ofbiz/content/jcr

Hi Adrian,
thanks for reviewing. The implementation is spited into two parts, the first
part is the framework abstract layer which should be a connector to each JCR
implementation the second one is the concrete Jackrabbit implementation in
the content area.

The content (Text, HTML, FTL, Files) is stored in the repository not in the
entities anymore. For each repository node i create a link to the content
entities, that gives us the possibility for Ofbiz internal permission
checks, user specific content and so on. So the Content entities are only
used for maintainable reasons. I don't care about using the content entities
we could also create own repository entities but they were in place (and it
was easy to use them :-) ).
We can discuss if an abstraction in the database is needed but i'm not sure
were else we can define the connection between ofbiz and the repository to
connect users, status, permissions to a content entry.

In short:

* You can create new repository nodes
* Nodes are represented in a tree structure
* Nodes can store Text (Text, HTML, FTL ....) and File content
* There is a separate tree to store files and text content because the
repository don't allow to mix them up, but this absolutely transparent for
the user
* Each new node is linked to a content entity
* The link in the content entity can be used for maintainable reasons
(permission checks, user specific content, content status etc.)
* Everything can be tested under Exampels --> Jackrabbit Sandbox


I hope that clarify your questions and helps understanding my implementation
Thanks
Sascha



2011/4/18 Adrian Crum <ad...@sandglass-software.com>

> Sascha,
>
> Thank you for working on this! Please, could you provide a simple
> explanation of what is being implemented here? It seems to me the existing
> content component is being used as a JCR repository. If I recall correctly,
> one of the goals of the JackRabbit integration was to replace the content
> component with JCR. In other words, instead of a content service storing
> content in OFBiz entities, it would store it in a JCR repository.
>
> -Adrian
>
> On 4/18/2011 2:08 AM, sascharodekamp@apache.org wrote:
>
>> Author: sascharodekamp
>> Date: Mon Apr 18 09:08:14 2011
>> New Revision: 1094371
>>
>> URL: http://svn.apache.org/viewvc?rev=1094371&view=rev
>> Log:
>> Update - Basic CRUD operations for the Jackrabbit Repository. If you want
>> some more information about the architecture check:
>> https://cwiki.apache.org/OFBIZ/jackrabbit-branch-development.html
>>
>> With this first pre version of the jackrabbit integration you can add,
>> update remove text nodes and store or delete files in the repository, have a
>> look under: Exampels -->  Jackrabbit Sandbox
>>
>> Added:
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/JackrabbitEvents.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/JackrabbitWorker.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/helper/
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/helper/JcrFileHelperJackrabbit.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/helper/JcrTextHelperJackrabbit.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/orm/
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/jcr/orm/OfbizRepositoryMappingJackrabbit.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/test/JcrTests.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/webapp/example/jackrabbit/
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/webapp/example/jackrabbit/JackrabbitFileTree.ftl
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/widget/example/ExampleJackrabbitForms.xml
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/widget/example/ExampleJackrabbitScreens.xml
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/lib/apache-mime4j-0.6.1.jar
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/JcrFileHelper.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/JcrFileHelperAbstract.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/JcrHelperAbstract.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/JcrTextHelper.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/helper/JcrTextHelperAbstract.java
>>   (with props)
>>     ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/orm/
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/orm/OfbizRepositoryMapping.java
>>   (with props)
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/
>>     ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/
>>     ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml
>> (with props)
>> Modified:
>>     ofbiz/branches/jackrabbit20100709/.classpath
>>     ofbiz/branches/jackrabbit20100709/applications/content/build.xml
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/data/ContentTypeData.xml
>>
>> ofbiz/branches/jackrabbit20100709/applications/content/entitydef/entitymodel.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/base/config/ofbiz-containers.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/base/config/test-containers.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/config/ExampleUiLabels.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/webapp/example/WEB-INF/controller.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/widget/example/CommonScreens.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/example/widget/example/ExampleMenus.xml
>>     ofbiz/branches/jackrabbit20100709/framework/jcr/build.xml
>>     ofbiz/branches/jackrabbit20100709/framework/jcr/ofbiz-component.xml
>>
>> ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/JackrabbitContainer.java
>>
>>


-- 

Sascha Rodekamp
    Visit the new german OFBiz Blog: http://www.ofbiz.biz
    Lynx-Consulting GmbH
    Johanniskirchplatz 6
    D-33615 Bielefeld
    http://www.lynx.de