Plone 5.2 and latest Zope 4: Needs Webdav expert!

Plone 5.2 should follow up with Zope 4 releases. (currently we are on Zope 4.1.3).

First, in Zope 4.2 WebDAV was reintroduced for ZServer. Probably this is for some of you good news....
Now we managed to make 4.2.1 work on Python 3, but with Archetypes on Python 2.7 it fails. See Pull Request here: https://github.com/plone/buildout.coredev/pull/644

Who with some insight knowledge in WebDAV and Archetypes can help here?

Next step is then to go further to Zope 4.3 - which enables WebDAV also for WSGI servers. Given we're fine on Zope 4.2.1 there should not be larger problems left - I hope.

There is also a problem left in Products.CMFQuickInstallerTool PR23 which needs some love.

Upcoming:
For Plone 6 we want to have Zope 5 as base (which main difference is to be Python 3 only) - and a precondition is to have a Plone on Zope 4.3 without the Zope 5 deprecation warnings running (most of them were eliminated at Alpine City Sprint).

1 Like

I maintain (and sponsor) the fs.webdavfs driver for pyfilesystem2.
The underlaying testsuite (73 tests!) is used to test my xmldirector.connector against various WebDAV backends:

https://travis-ci.org/zopyx/xmldirector.connector

(all red due to some buildout issue).

The driver itself is properly tested

https://travis-ci.org/PyFilesystem/webdavfs

and the testsuite can be configured through an environment variable to use an arbitrary WebDAV backend.

1 Like

I am at least looking into Zope 5.0a1 and WebDAV now and see how the webdavfs testsuite behaves with Zope 5.

1 Like

The test result for Zope 5/Webdav against our test suite is: 24 fails ouf of 73 tests...

A simple encoding fix in Zope's WebDAV code will bring the fails down to 5 out of 75..I will check into the remaining issues in order to make the implementation more compliant.

I committed a few fixes to the Zope 5 core that will fix some WebDAV issues.
The implementation of Zope 5 is then fully compliant with our own extensive WebDAV testsuite.

2 Likes

Hi Andreas,

With Zope2 via FTP I was able to download DTML documents exactly as they were inside Zope for backup purposes (i.e. it would not render out the statements.

With Zope5 and WebDAV it is rendering all the DTML statements and displaying all the code as if I was viewing the source of the webpage through a web browser.

Is there a way to stop this from happening? I need to be able to backup individual files from Zope5 so that I retain the exact code I've written.

Sorry, I can not comment on the current state. Haven't used WebDAV in the latest Plone versions for a while.

For anyone else who needs to know the answer, while it took forever to figure it out, it's actually really simple.

Edit the zope.ini in the server:main section and remove both the host and port directives. Then use the listen directive and specify two different ports. For example:

listen = 127.0.0.1:12345 127.0.0.1:23456

Now edit the zope.conf file and uncomment the webdav-source-port line and make it:

webdav-source-port 23456

You need to use proxy and proxyreverse in apache to translate the request over to zope on port 23456 and it will work properly.

The issue was that I was connecting to webdav over the same port as the main webserving portion of zope, and did not have a separate listener established strictly for webdav purposes. Zope treats webdav requests differently than standard web serving requests (as it should).

1 Like