简体   繁体   中英

jackrabbit editing repository files using webdav

I have deployed jackrabbit2.6.3.war in tomcat7.0 .

By using jackrabbit standalone jar . Written a program to save a file in repository

I can save/push a file to jackrabbit default repository. If I'm trying to save/push the same file,It is creating a new version of the same file.

Now My Question is I want to edit these files by using webdav . I have changed IE settings and am able to open in read-only mode. I want to open in read-write mode.

Another Question : Even if I open a file in read-write mode and change something in it , will jackrabbit create new version of the file OR will the file get overridden?

But according to JCR regulation,one file cannot overrite the existing file,always create a new version of it.

Thanks..

1/ IE is not a webdav client, you have to use 'web folders' network neighborhood to 'mount' the repository.

2/ That depends on your configuration, if you want a versionned node or not. I don't know which JCR regulations you are referring to.

Well I don't know but at Silverpeas they are using it to edit document in Ms Office or Open/Libre Office via webdav directly and the document is updated. If I 'mount' the directory I can add files, folders etc (provided I have the rights to do so of course).

For Windows Explorer configuration take a look at http://answers.microsoft.com/en-us/ie/forum/ie8-windows_other/windows-7-webdav-web-folders-support-for-64bit/a48a13a3-b9c4-4d4f-a3cd-47ce9e52d7a9 for example.

I have been able to open in read/write mode using some Filter code from net.java.dev.webdav.webdav-interop

I have been using maven to compile the checked out webdav-interop svn sources into my local repository.

adding the following to my pom.xml in jackrabbit-webapp builds the jackrabbit-webapp with the dependencies.

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

you might need to change the webdav-interop code a bit in order to cover the index.jsp of the jackrabbit-webapp

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM