[
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 <woonsan.ko@...>
Date: 2018-08-07T00:48:27Z
JCR-4354: Initial VFSFileSystem implementation
commit 869e5068755e7238df23c6cf64d56c58cc8dad4e
Author: Woonsan Ko <woonsan.ko@...>
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)