使用webdav编辑存储库文件的jackrabbit

时间:2013-08-27 05:50:06

标签: java tomcat webdav jackrabbit

我在 tomcat7.0 中部署了 jackrabbit2.6.3.war

使用 jackrabbit独立jar 。编写一个程序来保存存储库中的文件

我可以将文件保存/推送到jackrabbit默认存储库。 如果我正在尝试保存/推送同一个文件,它正在创建同一文件的新版本。

现在我的问题 我想使用webdav编辑这些文件。我更改了IE设置,并且能够以只读模式打开。我想以读写模式打开。

另一个问题: 即使我以读写模式打开文件并更改其中的内容,jackrabbit也会创建新版本的文件,或者文件是否会获得覆盖?

但是根据JCR规定,一个文件不能覆盖现有文件,总是创建它的新版本。

谢谢..

3 个答案:

答案 0 :(得分:1)

1 / IE不是webdav客户端,你必须使用'web folders'网络邻居来“挂载”存储库。

2 /这取决于您的配置,如果您想要版本化节点。我不知道您指的是哪种JCR规则。

答案 1 :(得分:1)

嗯,我不知道,但在Silverpeas,他们正在使用它直接通过webdav编辑Ms Office或Open / Libre Office中的文档,并更新文档。 如果我“挂载”目录,我可以添加文件,文件夹等(前提是我有权这样做)。

对于Windows资源管理器配置,请查看http://answers.microsoft.com/en-us/ie/forum/ie8-windows_other/windows-7-webdav-web-folders-support-for-64bit/a48a13a3-b9c4-4d4f-a3cd-47ce9e52d7a9,例如。

答案 2 :(得分:0)

我已经能够使用net.java.dev.webdav.webdav-interop中的一些过滤器代码以读/写模式打开

我一直在使用maven将签出的webdav-interop svn源编译到我的本地存储库中。

将以下内容添加到jackrabbit-webapp中的pom.xml中 使用依赖项构建jackrabbit-webapp。

<dependency>
  <groupId>net.java.dev.webdav</groupId>
  <artifactId>webdav-interop</artifactId>
  <version>1.2.2-SNAPSHOT</version>
  <scope>compile</scope>
</dependency>

您可能需要更改webdav-interop代码以覆盖jackrabbit-webapp的index.jsp

            final boolean isRoot = (uri.equals(ROOT_RESOURCE) || uri.equals(ROOT_RESOURCE+"index.jsp")) ;