You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/08/08 04:05:00 UTC

[jira] [Commented] (JCR-4354) VFS (commons-vfs) based FileSystem for VFS backend based Persistence Manager

    [ https://issues.apache.org/jira/browse/JCR-4354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16572641#comment-16572641 ] 

ASF GitHub Bot commented on JCR-4354:
-------------------------------------

GitHub user woonsan opened a pull request:

    https://github.com/apache/jackrabbit/pull/60

    JCR-4354: VFS (commons-vfs) based FileSystem for VFS backend based Persistence Manager

    Hi,
    
    I've made a pull request and I'd like to ask for your reviews.
    As described in https://issues.apache.org/jira/browse/JCR-4354, this PR implements `VFSFileSystem` with a full unit test which behaves equivalently to `LocalFileSystem` with a difference that the former uses Commons VFS2 library to access various backends such as SFTP server, instead of local file system.
    
    For my own demonstration purpose, I also created an example project which shows how to use this `VFSFileSystem` for `versioning` with an SFTP backend with instructions:
    - https://github.com/woonsanko/hippo-davstore-demo/tree/feature/vfs-file-system
    
    Could someone review the PR and merge it if okay?
    
    Thanks in advance,
    
    Woonsan

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/woonsan/jackrabbit feature/JCR-4354

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jackrabbit/pull/60.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #60
    
----
commit d5b60dae76a5b57efea4e8e526bebbe5d9eb7384
Author: Woonsan Ko <wo...@...>
Date:   2018-08-07T00:48:27Z

    JCR-4354: Initial VFSFileSystem implementation

commit 869e5068755e7238df23c6cf64d56c58cc8dad4e
Author: Woonsan Ko <wo...@...>
Date:   2018-08-08T03:35:07Z

    JCR-4354: close its vfs file system on close

----


> VFS (commons-vfs) based FileSystem for VFS backend based Persistence Manager
> ----------------------------------------------------------------------------
>
>                 Key: JCR-4354
>                 URL: https://issues.apache.org/jira/browse/JCR-4354
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>            Reporter: Woonsan Ko
>            Priority: Major
>
> I think it would be nice to have a VFS (commons-vfs) based {{FileSystem}} which then can be used by {{BundleFsPersistenceManager}}.
> For example, I have worked with a Jackrabbit based WCMS product which recommends using one of {{BundleDbPersistenceManager}} components for both workspaces and version, which makes it easier for clustering.
> One typical problem is that the version storage in DBMS keeps increasing, so as a result we've recommended cleaning up older version items periodically. (You may google "cms version cleaner" for more info.)
> In this case, if they were able to configure a VFS based {{FileSystem}} and the generic {{PersistenceManager}}, {{BundleFsPersistenceManager}}, for the versions, their DB size would keep small enough, and they may keep the version items almost infinitely. Actually versioning are used relatively less than other normal functionalities such as content retrieval and searching, only when authoring users publish a document in our case. So, keeping version data separately from database wouldn't be a problem, as long as it supports easier clustering (through WebDAV or SFTP in this option).
> Another possible use case is that some people may use VFS based solution for both workspaces and version, backed by a clustered WebDAV server or SFTP server. They can use VFS-based DataStore provided by JCR-3975 as well. This would increase architectural options around Jackrabbit ecosystem.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)