jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Janne Jalkanen <Janne.Jalka...@ecyrd.com>
Subject Re: Storing a jackrabbit repository as versioned files in git
Date Sun, 28 Feb 2010 09:40:39 GMT

The version control as such shouldn't really be a problem, as long as  
you don't actually modify the files (essentially using git as a backup  
system). But modifying the files needs rather deep understanding of  
what is going on, so I wouldn't recommend it.

I'm not sure whether anyone has written a Jackrabbit PM which stores  
the files as-is.  I know that Priha (www.priha.org) has one.  But if  
you just do backup, then the actual physical structure shouldn't  
matter anyway.


On Feb 26, 2010, at 20:18 , Premkumar Stephen wrote:

> Hi Alex,
> Can there be a persistence manager that generally does not need to be
> optimized but could persist just the tree structure as shown on the  
> side?
> I am not sure what this is being optimized on, but I could choose to  
> not
> optimize on space, etc.
> In that case, would reads get slower?
> I agree, there should not be external entities changing the files  
> while it
> is running.
> We shut down our app ( which internally shuts down jackrabbit) and  
> then do
> our version control.
> Could you help me get started with the implementation of such a  
> persistence,
> or is this too deep and complicated for a newbie?
> Regards,
> Prem
> On Fri, Feb 26, 2010 at 12:10 PM, Alexander Klimetschek <aklimets@day.com 
> >wrote:
>> On Fri, Feb 26, 2010 at 13:02, Premkumar Stephen <prem18@gmail.com>  
>> wrote:
>>> We are using the jackrabbit repository (which comes pre-built into a
>>> Business Rules solution - http://www.jboss.org/drools/drools-guvnor.html
>> )
>>> Now, as a standard, we use git to store these files.
>> Which files? The files beneath the repository home directory? What
>> persistence manager do you use?
>>> However, because of the way jackrabbit stores them, it becomes  
>>> impossible
>> to
>>> do operations such as diffs, merges, etc.
>>> For those assets that are versioned, can they each be in their own  
>>> file,
>> so
>>> that git can take care of changes to them?
>> IIUC and you want to store the repository files (whatever persistence
>> manager and data store you are using) so that you can version them,
>> this is generally not possible. Jackrabbit's persistence architecture
>> is optimized and doesn't necessarily represent the tree structure  
>> seen
>> on the JCR API side. Also, it is not advisable to change those files
>> while Jackrabbit is running.
>> However, JCR has versioning built-in, so you can use that for
>> versioning purposes. Note that actual diff/merge tools are not
>> included in the JCR API (since it's too app and file format  
>> specific).
>> Regards,
>> Alex
>> --
>> Alexander Klimetschek
>> alexander.klimetschek@day.com

View raw message