[Zope-CMF] Re: WebDAV MKCOL

seb bacon seb@jamkit.com
Mon, 28 May 2001 11:48:51 +0100


* Jeffrey Shell <jeffrey@Digicool.com> [010525 19:05]:
> I put some thoughts together on this a few months back, even made a 
> tracker issue (that I later deferred) and put a proposal together 
> that I probably should have put in the normal dev.zope.org 
> fishbowl::
> 
> http://cmf.zope.org/PTK/Members/jshell/FolderCreationProposal.txt

from the above doc:

> The risk involved with manage_addFolder hijacking is that it would
> disallow completely the ability to create standard Folders inside of
> a PortalFolder. 

I think that the manage_MKCOL solution is a decent compromise.  It
does involve hacking the ObjectManager and NullResource source, but
doesn't hijack the existing folder method, thus avoiding any kind of
assumption about the folder nature of a Collection in its semantics.
A PUT_factory clone is uneccesary, IMO.

Is this the right place to have this discussion, or should it
take place on the Tracker, or elsewhere?

seb

> On Friday, May 25, 2001, at 12:41  PM, Phillip J. Eby wrote:
> 
> > At 06:01 PM 5/25/01 +0100, seb bacon wrote:
> >
> >>  - Perhaps a MKCOL_factory is more appropriate?  It'd be good to have
> >>    some input on this.  I thought not because I simply couldn't
> >>    envisage a scenario where one would want anything other than the
> >>    current folder type to be created, but perhaps that's not a good
> >>    enough reason...
> >
> > Shouldn't this just be delegated back to some kind of 
> > "manage_MKCOL" method on the original folder?  (Or is that what 
> > you mean by MKCOL_factory?)  The default implementation of such a 
> > method in ObjectManager could be to make a sub-folder.  
> > Specialized containers could override it as they please, since I 
> > can think of many instances where I would want to have a container 
> > create a different kind of container for its child containers.
> >
> > So, if a "null" resource simply delegated this operation back to 
> > the container it was spawned from, the container could make that 
> > decision without having to have its own class of null resource.