[Zope] Re: GoLive and WebDAV

Jeffrey P Shell jeffrey@Digicool.com
Mon, 02 Apr 2001 11:01:06 -0400


On 4/2/01 6:40 AM, "Paul Everitt" <paul@digicool.com> wrote:

> 
> I'm cc'ing in Jeffrey "Mr. GoLive" Shell.  Jeffrey, please respond to
> the Zope list with answers to Chris' questions.
> 
> Here's my shot, though, on your three points.
> 
> 1) Put .html on your Zope ids.  But if you're saying that we don't send
> back the content type on the source port, then that's gotta be a bug.

It doesn't.  But one of the reasons that it doesn't is that a DTML Method
can actually impersonate a lot of things, just by having the first line
being:

Content-type: application/x-msword

DTML Methods themselves don't know that this is set until render time, so
the content type WebDAV property never quite works with them.  I *believe*
ZPT should be architected to handle this issue better, but DTML Methods
never were.

This is the biggest thing though that I'd like to see fixed in the next
GoLive - better content sniffing.  I believe it should at least *try* to
open something it doesn't recognize.  But then again, if you have the items
'connect' and 'openConnection' in a folder, can you tell which one is a
database connection?  I'm guessing that GoLive 5 errs on the side of
conservatism by trying *not* to open unrecognized objects, since WebDAV is
also being used by others as a way of getting data into an object database
and, like in Zope, not everything is easily rendered into something that can
be edited over WebDAV.

> 2) I guess the answer here is the same as (1).  I can't think of a
> better solution.  Perhaps something like getting the PUT handler to look
> for a meta type?  That way you could encode in your documents the
> meta_type you'd like to create.  Just seems kludgy though.  Hack the PUT
> factory in the folder, and make sure anything you stick in there is
> going to be of the same type (or spend some extra time on the logic).
> 
> 3) Doing a "site" means creating a site file on your local box, I
> believe.
> 
> Regarding locks...make sure you use the latest-and-greatest in CVS.
> Jeffrey put lock support into the trunk, so it will be there in Zope
> 2.4.

Yep.  You'll need the Zope trunk/ Zope 2.4 for this.  If you want to make
your own objects lockable, you should read over the document in the
WriteLocking project at dev.zope.og:

http://dev.zope.org/Wikis/DevSite/Projects/WriteLocking/BeingLockable

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