[Zope3-dev] WebDAV Future

Michael Kerrin michael.kerrin at openapp.ie
Sat Apr 21 14:41:57 EDT 2007


Hi All,

  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 
underlying module.

  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.

  Thanks,
  Michael

P.S. after writing all this down my preference is moving towards the last 
zope.file.webdav, etc.


More information about the Zope3-dev mailing list