I want to move the webdav implementation on by releasing it to cheeseshop,
supporting more content types and then working on some more interesting
aspects of the protocol itself, and maybe even supporting other applications
like Plone if there is interest.
First I need to rename it out of the zope namespace, which was a mistake on
my part in calling it this. But this brings up some packaging issues for me
that I am not sure how best to do this in a consistent fashion that I can
build on. Hence why I have delayed doing anything about this.
Currently everything is in zope.webdav. Which includes support for the
zope.app.file & zope.app.folder content types. Using zope.locking as a
locking mechanism and using zope.copypastemove for copying and moving
content. Each of the packages just mentioned should be optional (but aren't
because of the current setup, which I want to fix).
Now into future. I want to split this up into a core Zope3 WebDAV
implementation, which will handle registering the different WebDAV methods,
their implementation, declaring properties, exception handing which I could
call z3c.webdav. This module / egg on it own will be pretty useless, as it
doesn't know about any of the content or services in Zope3. Then I want for
each content type and services in Zope its own egg so to speak, for example
z3c.webdav.zopeappfolder, z3c.webdav.zopeappfile, z3c.webdav.zopefile,
z3c.webdav.zopelocking. A lot of these extra eggs will be small and easy to
write, and as more content types are supported by Zope3 I would like more
webdav modules to be written for them.
An other two options I can think of, instead of the naming convention above:
1. create a webdav namespace, webdaz (WebDAv for Zope), which would contain
webdaz.core, webdaz.zopefile, webdaz.zopelocking etc
2. Name the core webdav implementation z3c.webdav and then create eggs that
are named like zope.file.webdav (for zope.file), zope.app.file.webdav,
z3c.extfile.webdav, zope.locking.webdav etc. but which are separate from the
Does any one have any experience with this type of problem or does any one
of a preference to which one they like best. Or is there other options that I
have missed that is worth considering, in order for me to move this forward.
P.S. after writing all this down my preference is moving towards the last
Zope3-dev mailing list