Hi Sascha,
what is missing for merging trunk and jackrabbit branch ? Cheers, -- Erwan de FERRIERES |
Hi Erwan,
in my opinion step one is done. Includes: An abstract and completely independent framework module to attach any JCR implementations you want to OFBiz, Jackrabbit is the default implementation. The basic CRUD functions, versioning and support for different languages works and looks stable :-). What is missing: Someone who reviews the architecture :-), have a short look to my code and gives a feedback. From my point view we could back merge without any problems because there are now cross dependencies to other modules. Cheers Sascha 2011/11/8 Erwan de FERRIERES <[hidden email]> > Hi Sascha, > > what is missing for merging trunk and jackrabbit branch ? > > Cheers, > > > -- > Erwan de FERRIERES > -- Sascha Rodekamp Visit the new german OFBiz Blog: http://www.ofbiz.biz Lynx-Consulting GmbH Johanniskirchplatz 6 D-33615 Bielefeld http://www.lynx.de |
Hi Sascha,
Please excuse my ignorance but does this branch mean that content information such as images will be stored in the database base instead of on the app servers? Thanks Sam On 8 Nov 2011, at 21:55, Sascha Rodekamp wrote: > Hi Erwan, > > in my opinion step one is done. > Includes: An abstract and completely independent framework module to attach > any JCR implementations you want to OFBiz, Jackrabbit is the default > implementation. > > The basic CRUD functions, versioning and support for different languages > works and looks stable :-). > > What is missing: Someone who reviews the architecture :-), have a short > look to my code and gives a feedback. > > From my point view we could back merge without any problems because there > are now cross dependencies to other modules. > > Cheers > Sascha > > > > > 2011/11/8 Erwan de FERRIERES <[hidden email]> > >> Hi Sascha, >> >> what is missing for merging trunk and jackrabbit branch ? >> >> Cheers, >> >> >> -- >> Erwan de FERRIERES >> > > > > -- > > Sascha Rodekamp > Visit the new german OFBiz Blog: http://www.ofbiz.biz > Lynx-Consulting GmbH > Johanniskirchplatz 6 > D-33615 Bielefeld > http://www.lynx.de smime.p7s (6K) Download Attachment |
Hi Sam,
nope. Content information (images, text, files ...) will be stored in a content repository beside our normal (SQL) Database. A content repository is an information management system that provides various services for storing, accessing, and managing content. In addition to a hierarchically structured storage, common services of a content repository are versioning, access control, full text searching, and event monitoring (see http://jackrabbit.apache.org/frequently-asked-questions.html ). In our current configuration of Jackrabbit we have to differentiate between file and other content. Because files are normally larger than normal text i adviced Jackrabbit to store files directly on the file system and create a reference in the repository (that have performance reasons). On the other side text content is directly stored in the repository nodes (each item in a repository is called node, a node have different attributes which contains the content and metadata). Hope that answered your question?! Regards Sascha 2011/11/11 Sam Hamilton <[hidden email]> > Hi Sascha, > > Please excuse my ignorance but does this branch mean that content > information such as images will be stored in the database base instead of > on the app servers? > > Thanks > Sam > > > > On 8 Nov 2011, at 21:55, Sascha Rodekamp wrote: > > > Hi Erwan, > > > > in my opinion step one is done. > > Includes: An abstract and completely independent framework module to > attach > > any JCR implementations you want to OFBiz, Jackrabbit is the default > > implementation. > > > > The basic CRUD functions, versioning and support for different languages > > works and looks stable :-). > > > > What is missing: Someone who reviews the architecture :-), have a short > > look to my code and gives a feedback. > > > > From my point view we could back merge without any problems because there > > are now cross dependencies to other modules. > > > > Cheers > > Sascha > > > > > > > > > > 2011/11/8 Erwan de FERRIERES <[hidden email]> > > > >> Hi Sascha, > >> > >> what is missing for merging trunk and jackrabbit branch ? > >> > >> Cheers, > >> > >> > >> -- > >> Erwan de FERRIERES > >> > > > > > > > > -- > > > > Sascha Rodekamp > > Visit the new german OFBiz Blog: http://www.ofbiz.biz > > Lynx-Consulting GmbH > > Johanniskirchplatz 6 > > D-33615 Bielefeld > > http://www.lynx.de > > -- Sascha Rodekamp Visit the new german OFBiz Blog: http://www.ofbiz.biz Lynx-Consulting GmbH Johanniskirchplatz 6 D-33615 Bielefeld http://www.lynx.de |
Hi Sascha - thanks for the reply!
So if I understand right images will not be stored on the app servers but on another server that is running the jackrabbit storage services? After these changes are merged only one copy of a product image will need to be saved in jackrabbit and now removes the need to sync image files between app servers if you are running a load balanced or cluster setup?? Thanks Sam On 11 Nov 2011, at 15:27, Sascha Rodekamp wrote: > Hi Sam, > nope. Content information (images, text, files ...) will be stored in a > content repository beside our normal (SQL) Database. > > A content repository is an information management system that provides > various services for storing, accessing, and managing content. In addition > to a hierarchically structured storage, common services of a content > repository are versioning, access control, full text searching, and event > monitoring (see http://jackrabbit.apache.org/frequently-asked-questions.html > ). > > In our current configuration of Jackrabbit we have to differentiate between > file and other content. > Because files are normally larger than normal text i adviced Jackrabbit to > store files directly on the file system and create a reference in the > repository (that have performance reasons). On the other side text content > is directly stored in the repository nodes (each item in a repository is > called node, a node have different attributes which contains the content > and metadata). > > Hope that answered your question?! > Regards > Sascha > > > 2011/11/11 Sam Hamilton <[hidden email]> > >> Hi Sascha, >> >> Please excuse my ignorance but does this branch mean that content >> information such as images will be stored in the database base instead of >> on the app servers? >> >> Thanks >> Sam >> >> >> >> On 8 Nov 2011, at 21:55, Sascha Rodekamp wrote: >> >>> Hi Erwan, >>> >>> in my opinion step one is done. >>> Includes: An abstract and completely independent framework module to >> attach >>> any JCR implementations you want to OFBiz, Jackrabbit is the default >>> implementation. >>> >>> The basic CRUD functions, versioning and support for different languages >>> works and looks stable :-). >>> >>> What is missing: Someone who reviews the architecture :-), have a short >>> look to my code and gives a feedback. >>> >>> From my point view we could back merge without any problems because there >>> are now cross dependencies to other modules. >>> >>> Cheers >>> Sascha >>> >>> >>> >>> >>> 2011/11/8 Erwan de FERRIERES <[hidden email]> >>> >>>> Hi Sascha, >>>> >>>> what is missing for merging trunk and jackrabbit branch ? >>>> >>>> Cheers, >>>> >>>> >>>> -- >>>> Erwan de FERRIERES >>>> >>> >>> >>> >>> -- >>> >>> Sascha Rodekamp >>> Visit the new german OFBiz Blog: http://www.ofbiz.biz >>> Lynx-Consulting GmbH >>> Johanniskirchplatz 6 >>> D-33615 Bielefeld >>> http://www.lynx.de >> >> > > > -- > > Sascha Rodekamp > Visit the new german OFBiz Blog: http://www.ofbiz.biz > Lynx-Consulting GmbH > Johanniskirchplatz 6 > D-33615 Bielefeld > http://www.lynx.de smime.p7s (6K) Download Attachment |
Hi Sam,
that is possible. At the moment the Jackrabbit Repository runs embedded in the ofbiz instance. But it is not much work to run the JCR Repository on an separate server instance and let this server stream your content. Descripted here http://jackrabbit.apache.org/standalone-server.html The only thing that have to be changed is the Repository Connection in something like: Repository repository = new URLRemoteRepository("http://localhost:8080/rmi"); (This could also be made configurable). Just a side node. For step one i didn't migrated all the content applications. There is only the API to work with the content repository, everything else will follow ... 2011/11/11 Sam Hamilton <[hidden email]> > > Hi Sascha - thanks for the reply! > > So if I understand right images will not be stored on the app servers but on another server that is running the jackrabbit storage services? After these changes are merged only one copy of a product image will need to be saved in jackrabbit and now removes the need to sync image files between app servers if you are running a load balanced or cluster setup?? > > Thanks > Sam > > > > On 11 Nov 2011, at 15:27, Sascha Rodekamp wrote: > > > Hi Sam, > > nope. Content information (images, text, files ...) will be stored in a > > content repository beside our normal (SQL) Database. > > > > A content repository is an information management system that provides > > various services for storing, accessing, and managing content. In addition > > to a hierarchically structured storage, common services of a content > > repository are versioning, access control, full text searching, and event > > monitoring (see http://jackrabbit.apache.org/frequently-asked-questions.html > > ). > > > > In our current configuration of Jackrabbit we have to differentiate between > > file and other content. > > Because files are normally larger than normal text i adviced Jackrabbit to > > store files directly on the file system and create a reference in the > > repository (that have performance reasons). On the other side text content > > is directly stored in the repository nodes (each item in a repository is > > called node, a node have different attributes which contains the content > > and metadata). > > > > Hope that answered your question?! > > Regards > > Sascha > > > > > > 2011/11/11 Sam Hamilton <[hidden email]> > > > >> Hi Sascha, > >> > >> Please excuse my ignorance but does this branch mean that content > >> information such as images will be stored in the database base instead of > >> on the app servers? > >> > >> Thanks > >> Sam > >> > >> > >> > >> On 8 Nov 2011, at 21:55, Sascha Rodekamp wrote: > >> > >>> Hi Erwan, > >>> > >>> in my opinion step one is done. > >>> Includes: An abstract and completely independent framework module to > >> attach > >>> any JCR implementations you want to OFBiz, Jackrabbit is the default > >>> implementation. > >>> > >>> The basic CRUD functions, versioning and support for different languages > >>> works and looks stable :-). > >>> > >>> What is missing: Someone who reviews the architecture :-), have a short > >>> look to my code and gives a feedback. > >>> > >>> From my point view we could back merge without any problems because there > >>> are now cross dependencies to other modules. > >>> > >>> Cheers > >>> Sascha > >>> > >>> > >>> > >>> > >>> 2011/11/8 Erwan de FERRIERES <[hidden email]> > >>> > >>>> Hi Sascha, > >>>> > >>>> what is missing for merging trunk and jackrabbit branch ? > >>>> > >>>> Cheers, > >>>> > >>>> > >>>> -- > >>>> Erwan de FERRIERES > >>>> > >>> > >>> > >>> > >>> -- > >>> > >>> Sascha Rodekamp > >>> Visit the new german OFBiz Blog: http://www.ofbiz.biz > >>> Lynx-Consulting GmbH > >>> Johanniskirchplatz 6 > >>> D-33615 Bielefeld > >>> http://www.lynx.de > >> > >> > > > > > > -- > > > > Sascha Rodekamp > > Visit the new german OFBiz Blog: http://www.ofbiz.biz > > Lynx-Consulting GmbH > > Johanniskirchplatz 6 > > D-33615 Bielefeld > > http://www.lynx.de > -- Sascha Rodekamp Visit the new german OFBiz Blog: http://www.ofbiz.biz Lynx-Consulting GmbH Johanniskirchplatz 6 D-33615 Bielefeld http://www.lynx.de |
Hi guys,
here are some notes from my first look at JCR branch: There are some jars which already exists in the project (with different versions though). Is that needed? pdfbox slf4j-api tika-core tika-parsers I see also some interfaces and classes not used at all. HealthCheck, HealthCheckJackrabbit DBAccess Constants JcrEventHandler JcrUtil - Do we need an interface for a utility class? OfbizRepositoryMappingJackrabbitArticle - can we shorten this naming convention. For example to ArticleNode RepositoryAccess - may be change it to JcrRepositoryAccessor Dublicate code in JcrFileHelper getRepositoryContent method JcrTests - may be indicate in the name that we are testing the Jackrabbit implementation. There are tests which rely on the previous test to pass successfully. I think each test should be independent. testCreateRepositoryNewsNode testReadRepositoryNewsNode Then there are tests which are actually not asserting the actual operation stated in its name. Instead they are asserting that the intermidiate object was created. testUpdateRepositoryNewsNode (for example in this test there is no need to assert assertNotNull(orm) but instead a check that the content was updated as expected is needed) testRemoveRepositoryNewsNode testCreateRepositoryFileNode testCreateRepositoryFileNode_2 testRemoveRepositoryFileNode Example component Change label jackrabbitsandbox What about creating a factory class that instantiates RepositoryAccessJackrabbit object and returns it as RepositoryAccess Then we can use that factory in JackrabbitEvents, where currently RepositoryAccessJackrabbit is created explicitely. This way we can hide the jackrabbit implementation. I was expecting to not see any jackrabbit packages, but only jcr in JackrabbitEvents but that will require more work Are there any changes to Content component, in the svn history there are changes, but then I cannot see any? HTH Bilgin Ibryam On Fri, Nov 11, 2011 at 8:36 AM, Sascha Rodekamp <[hidden email]> wrote: > Hi Sam, > > that is possible. At the moment the Jackrabbit Repository runs > embedded in the ofbiz instance. But it is not much work to run the JCR > Repository on an separate server instance and let this server stream > your content. > > Descripted here http://jackrabbit.apache.org/standalone-server.html > > The only thing that have to be changed is the Repository Connection in > something like: > > Repository repository = > new URLRemoteRepository("http://localhost:8080/rmi"); > > (This could also be made configurable). > > Just a side node. For step one i didn't migrated all the content applications. > There is only the API to work with the content repository, everything > else will follow ... > > 2011/11/11 Sam Hamilton <[hidden email]> >> >> Hi Sascha - thanks for the reply! >> >> So if I understand right images will not be stored on the app servers but on another server that is running the jackrabbit storage services? After these changes are merged only one copy of a product image will need to be saved in jackrabbit and now removes the need to sync image files between app servers if you are running a load balanced or cluster setup?? >> >> Thanks >> Sam >> >> >> >> On 11 Nov 2011, at 15:27, Sascha Rodekamp wrote: >> >> > Hi Sam, >> > nope. Content information (images, text, files ...) will be stored in a >> > content repository beside our normal (SQL) Database. >> > >> > A content repository is an information management system that provides >> > various services for storing, accessing, and managing content. In addition >> > to a hierarchically structured storage, common services of a content >> > repository are versioning, access control, full text searching, and event >> > monitoring (see http://jackrabbit.apache.org/frequently-asked-questions.html >> > ). >> > >> > In our current configuration of Jackrabbit we have to differentiate between >> > file and other content. >> > Because files are normally larger than normal text i adviced Jackrabbit to >> > store files directly on the file system and create a reference in the >> > repository (that have performance reasons). On the other side text content >> > is directly stored in the repository nodes (each item in a repository is >> > called node, a node have different attributes which contains the content >> > and metadata). >> > >> > Hope that answered your question?! >> > Regards >> > Sascha >> > >> > >> > 2011/11/11 Sam Hamilton <[hidden email]> >> > >> >> Hi Sascha, >> >> >> >> Please excuse my ignorance but does this branch mean that content >> >> information such as images will be stored in the database base instead of >> >> on the app servers? >> >> >> >> Thanks >> >> Sam >> >> >> >> >> >> >> >> On 8 Nov 2011, at 21:55, Sascha Rodekamp wrote: >> >> >> >>> Hi Erwan, >> >>> >> >>> in my opinion step one is done. >> >>> Includes: An abstract and completely independent framework module to >> >> attach >> >>> any JCR implementations you want to OFBiz, Jackrabbit is the default >> >>> implementation. >> >>> >> >>> The basic CRUD functions, versioning and support for different languages >> >>> works and looks stable :-). >> >>> >> >>> What is missing: Someone who reviews the architecture :-), have a short >> >>> look to my code and gives a feedback. >> >>> >> >>> From my point view we could back merge without any problems because there >> >>> are now cross dependencies to other modules. >> >>> >> >>> Cheers >> >>> Sascha >> >>> >> >>> >> >>> >> >>> >> >>> 2011/11/8 Erwan de FERRIERES <[hidden email]> >> >>> >> >>>> Hi Sascha, >> >>>> >> >>>> what is missing for merging trunk and jackrabbit branch ? >> >>>> >> >>>> Cheers, >> >>>> >> >>>> >> >>>> -- >> >>>> Erwan de FERRIERES >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> >> >>> Sascha Rodekamp >> >>> Visit the new german OFBiz Blog: http://www.ofbiz.biz >> >>> Lynx-Consulting GmbH >> >>> Johanniskirchplatz 6 >> >>> D-33615 Bielefeld >> >>> http://www.lynx.de >> >> >> >> >> > >> > >> > -- >> > >> > Sascha Rodekamp >> > Visit the new german OFBiz Blog: http://www.ofbiz.biz >> > Lynx-Consulting GmbH >> > Johanniskirchplatz 6 >> > D-33615 Bielefeld >> > http://www.lynx.de >> > > > > -- > > Sascha Rodekamp > Visit the new german OFBiz Blog: http://www.ofbiz.biz > Lynx-Consulting GmbH > Johanniskirchplatz 6 > D-33615 Bielefeld > http://www.lynx.de > |
Hi Bilgin,
many thanks for your review: > There are some jars which already exists in the project Jap i deleted the duplicated libraries > I see also some interfaces and classes not used at all. HealthCheck, HealthCheckJackrabbit, DBAccess: First i thought they would nice to have, but at the current state they are unnecessary. Also the constants and JcrUtil interface. The JcrEventHandler should be an interface for content streaming (i.e. Image Streaming in the browser) that have to be implemented and is, from my point of view, not superfluous. > can we shorten this naming Yes of course we should > RepositoryAccess - may be change it to JcrRepositoryAccessor That is really a better name > There are tests which rely on the previous test to pass successfully. Yes the tests could be more straight forward, i will rewrite them > Dublicate code in JcrFileHelper getRepositoryContent method cleaned > What about creating a factory class that instantiates Could be a good point, but the interface to the developer should be the API classes (org.ofbiz.jcr.api). The problem i faced at this point was, that i have to deal with all these different content objects which i want to hide/ simplify for the developer so i created the api layer. This should be the first layer which knows which implementation of JCR is used. I think this can be optimized, so if you have another/better approach, we should talk about it. > Are there any changes to Content component, in the svn history there are changes, but then I cannot see any? There where some changes in the content component, but i reverted them all. Because the first JCR implementation should be absolutely independent from the application module. (Except move tika libs from content component to framework jcr) Best Regards, Sascha -- Sascha Rodekamp Visit the new german OFBiz Blog: http://www.ofbiz.biz Lynx-Consulting GmbH Johanniskirchplatz 6 D-33615 Bielefeld http://www.lynx.de |
Free forum by Nabble | Edit this page |