[Zope] re: Preventing WebDAV locks.

Jeffrey P Shell jeffrey@Digicool.com
Wed, 28 Feb 2001 09:19:59 -0500


> ----- Forwarded message from "Capesius, Alan" <CapesiusA@Sysmex.com> -----
> 
> Subject: [Zope] Preventing WebDAV locks?
> From: "Capesius, Alan" <CapesiusA@Sysmex.com>
> To: zope@zope.org
> Delivery-date: Tue, 27 Feb 2001 22:48:38 +0100
> X-BeenThere: zope@zope.org
> 
> I have some pages configured to return Excel format to the user using the
> technique detailed at: http://twsite.bizland.com/twzop0014.htm
> 
> When executed from Netscape everything works fine, when executed from IE
> 5.5, if the user opens the file directly into Excel via embedded OLE (clicks
> open or has the XLS associated), the client is locking the file on the
> server, preventing other users from accessing the data.
> 
> Another client attempting to access the same file will not receive a
> response until the first user times out (3 minutes).
> 
> Zope is unresponsive until the lock is released.
>
> Is it possible to prevent these client locks from the server? or to force
> read-only in Excel?
> The user is anonymous.

If the user is Anonymous, they shouldn't even be actually getting locks, as
they're protected by the "WebDAV Lock items" permission.  This permission
protects the webdav.Resource.LOCK() method itself, so the client should be
getting an unauthorized exception on the LOCK command (unless you've granted
the permission to Anonymous users).

I set up a situation in GoLive 5 where the user had access to every
permission *except* "WebDAV Lock items" and "WebDAV Unlock items".  When I
opened documents to edit, it would warn me about being unauthorized to lock
items, but open the document anyways.  While the document was open, Zope was
still responsive.  Even after I granted access to Locks, Zope was still
responsive while the Lock was in place.

There seem to be some issues with IE 5.5 and "Content-Disposition" or some
other header or setting that seems to cause it not to close connections
properly on certain requests.

> [27/Feb/2001:21:31:57 -0500] "LOCK /IOTA/report_ordersmtd?format=xls
> HTTP/1.1" 200 817 "" "Microsoft Data Access Internet Publishing Provider
> DAV"
> [27/Feb/2001:21:32:21 -0500] "GET /IOTA/report_ordersmtd?format=xls
> HTTP/1.1" 200 71207 "" "Microsoft Data Access Internet Publishing Provider
> DAV"
> [27/Feb/2001:21:32:21 -0500] "UNLOCK /IOTA/report_ordersmtd?format=xls
> HTTP/1.1" 204 240 "" "Microsoft Data Access Internet Publishing Provider
> DAV"

Jeffrey P Shell, jeffrey@Digicool.com
http://www.digicool.com/ | http://www.zope.org