klaus e. werner wrote: > > I'm trying to implement an easy way for our staff to edit files > (docbook, but also various formats of our own invention) using XXE > connected by *WebDAV* to an eXist database > (<http://exist-db.org/webdav.html>), and always get an annoying error > which prevents saving to WebDAV location (screenshot attached). > > This error message pops up on loading and while trying to save on the > WebDAV location. > > It seems that XXE cannot see if the file is locked or not and therefore, > in order to be on the safe side, decides to abort. In fact, I get an > advice (while loading) to "save in another location". > > Now, that can be XXE's fault (hardly) or the app's fault (more probable) > but I would be more interested to find a quick fix ... > > - Is there a way to *disable* lock pre-checking? > > - Can something be done from your side? > > Here is the location of a test file: > > <http://guest at museicapitolini.net/webdav/mcap/hrecord/0001.col.00765.xml> >
Using Options|Preferences, Open Section, "When possible, lock documents stored on remote filesystems" frame and then setting "Preferred lock mode" to "None" would *not* solve the problem. The problem is that your URL is: http://museicapitolini.net/webdav/mcap/hrecord/0001.col.00765.xml and that the response of the eXist WebDAV implementation contains info about: /webdav/db/mcap/hrecord/0001.col.00765.xml Notice the "db" after the "webdav". ------------------------------------- <D:multistatus xmlns:D="DAV:"> <D:response> <D:href>/webdav/db/mcap/hrecord/0001.col.00765.xml</D:href> <D:propstat> <D:prop> <D:resourcetype/> <D:getlastmodified>Mon, 30 Jul 2007 18:32:10 GMT</D:getlastmodified> <D:getcontentlength>4096</D:getcontentlength> <D:supportedlock> <D:lockentry> <D:lockscope> <D:exclusive/> </D:lockscope> <D:locktype> <D:write/> </D:locktype> </D:lockentry> </D:supportedlock> <D:lockdiscovery/> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> ------------------------------------- Therefore, I've tried to open http://museicapitolini.net/webdav/db/mcap/hrecord/0001.col.00765.xml and this time it worked. --> I would suggest to report this following problem to the author of eXist: When I try to browse collection "/webdav/db/mcap/hrecord/", I see nothing at all because the eXist WebDAV implementation returns information about "/webdav/db/mcap/hrecord" and not about "/webdav/db/mcap/hrecord/" (missing end '/'). And no, this is not a detail. ---------------------------------------------- DAVClient>>> PROPFIND '/webdav/db/mcap/hrecord/' Depth = '1' Content-Type = 'text/xml; charset="utf-8"' --- <?xml version="1.0" encoding="utf-8" ?> <propfind xmlns="DAV:"> <prop> <resourcetype/> <getcontentlength/> <getlastmodified/> <supportedlock/> <lockdiscovery/> </prop> </propfind> ---> 207 Multi Status <--- <?xml version="1.0" encoding="UTF-8"?> <D:multistatus xmlns:D="DAV:"> <D:response> <D:href>/webdav/db/mcap/hrecord</D:href> <D:propstat> <D:prop> <D:resourcetype> <D:collection/> </D:resourcetype> <D:getlastmodified>Mon, 02 Jul 2007 12:59:53 GMT</D:getlastmodified> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> <D:propstat> <D:prop> <D:getcontentlength/> <D:lockdiscovery/> <D:supportedlock/> </D:prop> <D:status>HTTP/1.1 404 Not Found</D:status> </D:propstat> </D:response> ... ---------------------------------------------- --> You can debug all this easily if you specify Java system property XXE_DAV_TRACE to any value. Example: java ... -DXXE_DAV_TRACE=1 .... You may do so by modifiying the script used to start XXE: xxe, xxe.bat or xxe.jstart.

