[Zope] Webdav and emacs, eldav, nd problem.

Dieter Maurer dieter at handshake.de
Fri May 20 15:14:41 EDT 2005


Gaute Amundsen wrote at 2005-5-20 17:05 +0200:
>We just upgraded to Zope 2.7.5-1.fc3, python 2.3.4, and now I am having 
>problems with authoring "Script (Python)"
>
>(using ssh tunnel:  "ssh -L 2001:localhost:8081 root at remotehost")
>
>I am using emacs, using eldav, using nd.
>I have traced the problem to this command issued by eldav in the process of 
>saving changes to a file.
>
>"nd -S -p /localpath/script.py -a Zope 
>http://localhost:2001/path/on/remote/server/script.py"
>
>The problem is replicated on the commandline.

Unfortunately, the Zope world is much more complex than
WebDAV expects. WebDAV knows only two types of resources:
collection resources and non-collection resources.
Zope, on the other hand, knows arbitrary many resouce types:
Folders, PageTemplate, PythonScripts, DTMLMethods, Files, Images, ....

When you create a new object via WebDAV (or FTP or another
filesystem oriented protocol), then Zope does not have
enough information to determine which type of object it should
create. Therefore, it calls a hook, the so called "PUT_Factory",
to determine the object type.

Obviously, the "PUT_Factory" active in your context got it wrong.
There is a HowTo around, how to set up your own "PUT_Factory".

Note, in a CMF/Plone context (you did not tell us your context),
the "PUT_Factory" is called "content_type_registry".


-- 
Dieter


More information about the Zope mailing list