You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Derek Jean-Baptiste <de...@jeanbaptiste.org> on 2007/06/09 13:40:02 UTC

Role of the FileSystem

Hello and please pardon me if this is already in an FAQ somewhere (I 
have looked but did not find anything that really answers this).

What is the role of the FileSystem in the Repository, Version and 
Workspace? 

Is any information permanently stored there?

If you use SimpleDBPersistenceManager and a LocalFileSystem and lose the 
LocalFileSystem, can you recover from that loss?

Thanks
Derek

Re: Role of the FileSystem

Posted by Stefan Guggisberg <st...@gmail.com>.
hi derek,

sorry for the late reply...

On 6/9/07, Derek Jean-Baptiste <de...@jeanbaptiste.org> wrote:
> Hello and please pardon me if this is already in an FAQ somewhere (I
> have looked but did not find anything that really answers this).
>
> What is the role of the FileSystem in the Repository, Version and
> Workspace?

FileSystem is a an abstraction (i.e. a virtual filesystem) that can be
used by the different components (Repository, Versioning & Workspace)
for persisting their state.

some historical background information:
in early days there were only filesystem based persistence managers
(XMLPersistenceManager & ObjectPersistenceManager). since those
create many small files we soon ran into limitations of the underlying
native file system (mainly windows:(  in order to avoid those issues
we introduced the FileSystem abstraction which enabled us to
experiment with different implementations (e.g. a unix-style java
filesystem-in-a-single-file or a db-based filesystem). we then used
the FileSystem abstraction in all components that used to access
the native filesystem (i.e. java.io.File).

>
> Is any information permanently stored there?

that depends on the component. global repository state (namespace
mappings, custom node types, etc) is persisted in the virtual FileSystem.

on a workspace level it depends on the PersistenceManager implementation.

while XMLPersistenceManager & ObjectPersistenceManager do use the
FileSystem, SimpleDbPersistenceManager for example doesn't.

>
> If you use SimpleDBPersistenceManager and a LocalFileSystem and lose the
> LocalFileSystem, can you recover from that loss?

yes, assuming you can restore the workspace.xml (which is located in the
LocalFileSystem) and you store blobs in the database (externalBLOBs=false).

cheers
stefan

>
> Thanks
> Derek
>