On 10/07/2011 12:58 AM, Fabián Mandelbaum wrote:
>
> I'm having the following problem using the DAV Drive addon with XXE
> 5.0.0 (under Linux 32 bit architecture):
>
> 1) I select the URL chooser for File>  Open.
> 2) I type the server's DAV "entry point" URL on the File>  Open dialog
> (which in my test case is
> http://localhost:9000/workspaces/W1/classifications/), then click on
> the Browse Remote Files button.
> 3) After authentication (the server uses HTTP Basic authentication),
> I'm being shown the collections on the server, but
> not all of them (ALL_FILES is missing).
> 4) If I choose one of the collections, which I know it has files, NO
> files are listed (it's showing as if the collection is empty).
>
> Notes:
>
> The same server response with XXE 4.9.1 + DAV Drive plugin works
> without problems. Problems started with XXE 5.0.0.
>
> This is the server's response on the DAV "entry point" mentionned in
> point 2) above:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <multistatus xmlns="DAV:">
>       <response>
>               
> <href>http://localhost:9000/workspaces/W1/classifications/RECYCLE_BIN/</href>
>               <propstat>
>                       <prop>
>                               
> <creationdate>2011-10-06T22:46:54Z</creationdate>
>                               <displayname>RECYCLE_BIN</displayname>
>                               <getlastmodified>Thu, 06 Oct 2011 22:46:54 
> GMT</getlastmodified>
>                               <lockdiscovery />
>                               <resourcetype>
>                                       <collection />
>                               </resourcetype>
>                               <supportedlock />
>                       </prop>
>                       <status>HTTP/1.1 200 OK</status>
>               </propstat>
>               <propstat>
>                       <prop>
>                               <checked-in />
>                               <executable 
> xmlns="http://apache.org/dav/props/"; />
>                               <checked-out />
>                               <getcontentlength />
>                       </prop>
>                       <status>HTTP/1.1 404 Not Found</status>
>               </propstat>
>       </response>
>       <response>
>               
> <href>http://localhost:9000/workspaces/W1/classifications/ALL_FILES/</href>
>               <propstat>
>                       <prop>
>                               
> <creationdate>2011-10-06T22:46:54Z</creationdate>
>                               <displayname>ALL_FILES</displayname>
>                               <getlastmodified>Thu, 06 Oct 2011 22:46:54 
> GMT</getlastmodified>
>                               <lockdiscovery />
>                               <resourcetype>
>                                       <collection />
>                               </resourcetype>
>                               <supportedlock />
>                       </prop>
>                       <status>HTTP/1.1 200 OK</status>
>               </propstat>
>               <propstat>
>                       <prop>
>                               <checked-in />
>                               <executable 
> xmlns="http://apache.org/dav/props/"; />
>                               <checked-out />
>                               <getcontentlength />
>                       </prop>
>                       <status>HTTP/1.1 404 Not Found</status>
>               </propstat>
>       </response>
>       <response>
>               
> <href>http://localhost:9000/workspaces/W1/classifications/C1/</href>
>               <propstat>
>                       <prop>
>                               
> <creationdate>2011-10-06T22:47:02Z</creationdate>
>                               <displayname>C1</displayname>
>                               <getlastmodified>Thu, 06 Oct 2011 22:47:02 
> GMT</getlastmodified>
>                               <lockdiscovery />
>                               <resourcetype>
>                                       <collection />
>                               </resourcetype>
>                               <supportedlock />
>                       </prop>
>                       <status>HTTP/1.1 200 OK</status>
>               </propstat>
>               <propstat>
>                       <prop>
>                               <checked-in />
>                               <executable 
> xmlns="http://apache.org/dav/props/"; />
>                               <checked-out />
>                               <getcontentlength />
>                       </prop>
>                       <status>HTTP/1.1 404 Not Found</status>
>               </propstat>
>       </response>
>       <response>
>               
> <href>http://localhost:9000/workspaces/W1/classifications/By%20Geolocation/</href>
>               <propstat>
>                       <prop>
>                               
> <creationdate>2011-10-06T22:47:08Z</creationdate>
>                               <displayname>By Geolocation</displayname>
>                               <getlastmodified>Thu, 06 Oct 2011 22:47:08 
> GMT</getlastmodified>
>                               <lockdiscovery />
>                               <resourcetype>
>                                       <collection />
>                               </resourcetype>
>                               <supportedlock />
>                       </prop>
>                       <status>HTTP/1.1 200 OK</status>
>               </propstat>
>               <propstat>
>                       <prop>
>                               <checked-in />
>                               <executable 
> xmlns="http://apache.org/dav/props/"; />
>                               <checked-out />
>                               <getcontentlength />
>                       </prop>
>                       <status>HTTP/1.1 404 Not Found</status>
>               </propstat>
>       </response>
> </multistatus>
>
> Other DAV clients work OK (tested with cadaver under Linux, and with
> Windows XP's "web folders"). Any ideas?
>

--> Despite the fact that it works with Cadaver and Windows Web Folders, 
the WebDAV server you use is not conforming to this very basic point of 
the specification:

http://www.webdav.org/specs/rfc2518.html#METHOD_PROPFIND
---
8.1 PROPFIND

The PROPFIND method retrieves properties defined on the resource 
identified by the Request-URI, if the resource does not have any 
internal members, or on the resource identified by the Request-URI and 
potentially its member resources, if the resource is a collection that 
has internal member URIs.
---

In a nutshell, the list returned by your WebDAV server is missing the 
item concerning the Collection which is the subject of the PROPFIND 
request ("http://localhost:9000/workspaces/W1/classifications/"; in the 
above example).

We strongly urge you to report this bug to the developers of your WebDAV 
server. (By the way, which is this WebDAV server?)

--> It worked with XXE v4.9.1 because the old WebDAV virtual drive 
plug-in had a *workaround* for this bug. We have rewritten the WebDAV 
virtual drive plug-in in order to better support the new "Open Folder" 
feature found in XXE v5. We have omitted to port the workaround, 
thinking that after all these years, WebDAV servers could not possibly 
have such trivial bug. We were wrong.

We'll port the workaround today[*] and point you to the new WebDAV 
virtual drive plug-in (v2.1.5). Because we have no way to test this 
workaround, please be kind enough to confirm that it actually solves 
your problem. After you do that, we'll officially publish the new 
plug-in on our Web sites, making it available to all users.

Thank you in advance.

---
[*] This is probably wrong as this encourages the developers of WebDAV 
servers not to fix their bugs.



 
--
XMLmind XML Editor Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xmleditor-support

Reply via email to