Opencms webdav not working

2019-06-13 17:26发布

问题:

With OpenCms 7.5.3 fresh install:

  1. I create an index.htm page, then export it via webdav to disk. It
    creates index.html.xml and __properties/index.html.xml.properties. Thats ok.

  2. Delete index.html from OpenCms and publish.

  3. Try to import previously exported files via webdav and...

Error 409 conflict when importing __properties/index.html.xml

I tried with 3 different webdav clients, including the Eclipse plugin for webdav. Also tried with OpenCms 7.5.4 and 8.5.0

Any ideas? Thanks.

回答1:

It seems to be a known problem by Alkacon (OpenCms developer):

Here is a possible cause: https://github.com/alkacon/opencms-core/issues/73 ("pbeltran" is me there.)

If it helps we did the following on OpenCms 8.5 in order to avoid the error, but sacrificing properties files :(

Just edit WEB-INF/config/opencms-importexport.xml and replace with this:

<repository name="standard" class="org.opencms.repository.CmsRepository">
            <params>
                <param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperJsp</param>
                <param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperXmlContent</param>
                <param name="wrapper">org.opencms.file.wrapper.CmsResourceExtensionWrapperXmlPage</param>
                <param name="wrapper">org.opencms.file.wrapper.CmsResourceWrapperSystemFolder</param>
                <!--param name="wrapper">org.opencms.file.wrapper.CmsResourceWrapperPropertyFile</param-->
            </params>
            <filter type="include">
                <regex>/</regex>
                <!--regex>/__properties/.*</regex-->
                <regex>/sites/.*</regex>
                <regex>/system/</regex>
                <!--regex>/system/__properties/.*</regex-->
                <regex>/system/galleries/.*</regex>
                <regex>/system/modules/.*</regex>
                <!--regex>/system/workplace/.*</regex-->
            </filter>
        </repository>

Afer that restart your server.

We do regular exports from OpenCms of the modules to keep the whole package (files and properties) in order to keep the solution under control version (SVN). You can create a module with a resource pointing to sites/default to do that. But it's critical to select root site before doing any import/export of that module (if you dont you can break your ocms installation).



回答2:

Since some months, I'm using the Linux FUSE driver (gentoo's davfs 1.4.7) to mount OpenCms resources. I was quite irritated with the lot of LOG CmsVfsResourceNotFoundException errors, so I ended up removing the __properties dirs from the exported Repository.

If you don't need these __properties files, I'll recommend you to ignore that error and remove the files from the repository as per the instructions in the link.

The corresponding fstab entry:

# WebDAV (opencms)
# http://myserver:8080/opencms/webdav /home/alberto/mnt/myserver-opencms-dav davfs rw,user,noauto  0  0


回答3:

I have never had Eclipse with webdav up and running, but I successfully use OpenCms 7.5 and 8 daily with webdav:// and webdavs:// from KDE's Kate editor. Maybe give it a try.

In case you want to try, here the URL you need to use to browse the VFS:

webdav(s)://server(:port)/webdav