Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 37505 invoked from network); 3 Nov 2006 01:50:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2006 01:50:16 -0000 Received: (qmail 81188 invoked by uid 500); 3 Nov 2006 01:50:27 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 81045 invoked by uid 500); 3 Nov 2006 01:50:27 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 81034 invoked by uid 99); 3 Nov 2006 01:50:27 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Nov 2006 17:50:27 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [63.247.81.241] (HELO tss8.serverconfig.com) (63.247.81.241) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Nov 2006 17:50:15 -0800 Received: from dsl204-77.bhi.com ([216.185.204.77] helo=[192.168.0.12]) by tss8.serverconfig.com with esmtpa (Exim 4.52) id 1GfoBt-0005It-GN for users@jackrabbit.apache.org; Thu, 02 Nov 2006 20:49:53 -0500 Message-ID: <454AA068.8010702@decoursey.net> Date: Thu, 02 Nov 2006 19:50:32 -0600 From: Paul J DeCoursey User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: users@jackrabbit.apache.org Subject: Re: Any Suggestions for Implementing Global Revision/Change Set References: <20061103001943.72876.qmail@web31706.mail.mud.yahoo.com> In-Reply-To: <20061103001943.72876.qmail@web31706.mail.mud.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - tss8.serverconfig.com X-AntiAbuse: Original Domain - jackrabbit.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - decoursey.net X-Source: X-Source-Args: X-Source-Dir: X-Virus-Checked: Checked by ClamAV on apache.org Aloke Agarwal wrote: > Hi, > > We are evaluation jackrabbit for one of our project. The project is to provide an XML repository with the following functional requirements: > > 1. Ability to have different document types to be stored in repository. (For example: /toys/action/x.xml, book/x etc). > 2. All the documents stored are all xml documents which needs to be querieable through xquery (for example get all book where book.author etc). > 3. Ability to store all documents as versionable. > 4. Ability to retrieve documents based on global revision. The concept of global revision is similar to "subversion" concept where a user can submit x number of documents and the system returns a unique id back to the user. The user can then use this id to get "any" document in the repository at that point in time not just what he/she checked in. > > Based on the above requirement we were evaluating jackrabbit and have an initial implementation of "globalrevision" and xpath like capability. Our solution is as follows: > > We have root node called: > > Why does each node need the globalrevisionid? why not just keep that ID on the root node? > root (mix:versionable) > - child1 > -property called (globalrevisionid) > - child 2 > -property called (globalrevisionid) > > - child 3 > -property called (globalrevisionid) > > > globalrevisionroot (mix: versionable) > - globalrevision1 > - globalrevision2 > > So every time there is a commit we save the nodes that are checked in and then walk the whole tree to set the property called "globalrevisionid" on all the nodes under root at that point in time. > > Our problem is as follows: > 1. The performance is really bad with a repository with 500 nodes it takes 10 minutes after every save to put this globalrevision property on all the nodes. > If you move the revisionid to a single node then this shouldn't be an issue. > 2. It does a checkout/set property/checkin in all the root nodes and hence creates an unneccesary revision in the repository. > 3. The lucene search indexing takes a long time everytime > > > Has anyway tried implementing something similar to what we are trying to do?. Is there any better way to do what we are trying to do in JCR. > > > Thanks > Aloke > > > > I think that have 1 instance of the revisionid will solve all your issues.