Hello people,
I'm currently working with some content editors that would like to
keep their current WYSIWYG tools and use them in combination with
Zope/Plone, and using the DAV interface seemed like the best approach,
and it does indeed mostly work. One of the larger problems we face
using this approach is that quite a few products expose objects via
DAV that are not roundtrip-safe; getting-then-putting will result in
unwanted behaviour in some cases, and for other objects I don't see
much value in allowing them to be accessed over DAV (like the contents
of acl_users).
I wrote the attached monkey patch to address this (be kind, I'm pretty
new to Python), and Sidnei da Silva (author of DavPack) suggested I
post the patch on these lists to see if there was an interest into
this approach.
What it does is disable DAV access for non-collection resources in
general and then selectively turns it on for some (non-exhaustive)
list. Folderish objects are enabled by default but can be turned off.
Objects/classes can also disable or enable themselves by explicitly
setting __dav_resource__ to 0 or 1. I'm not suggesting this particular
list is the correct one.
Thoughts?
With kind regard,
Emiliano Heyns
I'm currently working with some content editors that would like to
keep their current WYSIWYG tools and use them in combination with
Zope/Plone, and using the DAV interface seemed like the best approach,
and it does indeed mostly work. One of the larger problems we face
using this approach is that quite a few products expose objects via
DAV that are not roundtrip-safe; getting-then-putting will result in
unwanted behaviour in some cases, and for other objects I don't see
much value in allowing them to be accessed over DAV (like the contents
of acl_users).
I wrote the attached monkey patch to address this (be kind, I'm pretty
new to Python), and Sidnei da Silva (author of DavPack) suggested I
post the patch on these lists to see if there was an interest into
this approach.
What it does is disable DAV access for non-collection resources in
general and then selectively turns it on for some (non-exhaustive)
list. Folderish objects are enabled by default but can be turned off.
Objects/classes can also disable or enable themselves by explicitly
setting __dav_resource__ to 0 or 1. I'm not suggesting this particular
list is the correct one.
Thoughts?
With kind regard,
Emiliano Heyns