[Zope] More WebDAV fun.

Martijn Pieters mj@digicool.com
Mon, 9 Apr 2001 14:41:22 +0200


--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Apr 09, 2001 at 02:21:14PM +0100, Chris Withers wrote:
> Tino Wildenhain wrote:
> > 
> > Ah, sure, you are right. But then, what is a method supposed to
> > return via DAV? For now there seems no real interface to override
> > FTP/DAV behavior with ZClasses via web.
> 
> This has nothing to do with ZClasses, they are the work of the devil ;-)
> 
> Sorry, I didnt' mention in the original post, I'm trying to edit DTML Methods
> with GoLive over WebDAV. GoLive won't open anything that doesn't have a content
> type, and DTML Methods don't provide one, so I can't edit them over WebDAV.

I did some mnore experimentation, making sure that both PROPFIND and GET
will return (at least) the default_content_type attribute for the content
type of DTMLMethods (using attached patch, which I also put in the
COllector). GoLive still will not edit it.

The GoLive UI even tells me it knows the content type is 'text/html', but
it will *only* edit objects with a .html extension. *sigh*.

-- 
Martijn Pieters
| Software Engineer  mailto:mj@digicool.com
| Digital Creations  http://www.digicool.com/
| Creators of Zope   http://www.zope.org/
---------------------------------------------

--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=ctpatch

Index: lib/python/OFS/PropertySheets.py
===================================================================
RCS file: /cvs-repository/Zope2/lib/python/OFS/PropertySheets.py,v
retrieving revision 1.63.4.5
diff -u -r1.63.4.5 PropertySheets.py
--- lib/python/OFS/PropertySheets.py	2001/03/30 17:39:09	1.63.4.5
+++ lib/python/OFS/PropertySheets.py	2001/04/09 13:07:24
@@ -578,6 +578,8 @@
         vself=self.v_self()
         if hasattr(vself, 'content_type'):
             return vself.content_type
+        if hasattr(vself, 'default_content_type'):
+            return absattr(vself.default_content_type)
         return ''
 
     def dav__getcontentlength(self):

--opJtzjQTFsWo+cga--