You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Any HTTP PUT (e.g. with WebDAV or with basic curl) to a Dexterity folder receives a response HTTP 404 Not Found, but it's truly the most curious thing, because a PUT of the same file in the parent directory (Plone site) succeeds, and then a PUT of the same file in the current directory succeeds afterwards!
In the following example /manuelamador.name/ is a Plone site, and /manuelamador.name/intranet/ is a Dexterity container (regular Folder) added in the Plone site.
Listing collection `/manuelamador.name/intranet/': succeeded.
Coll: foldr 0 Apr 29 15:50
_data 0 Apr 29 16:00
dav:/manuelamador.name/intranet/> put abc.txt
Uploading abc.txt to `/manuelamador.name/intranet/abc.txt':
Progress: [=============================>] 100.0% of 15 bytes failed:
404 Not Found
dav:/manuelamador.name/intranet/> cd ..
dav:/manuelamador.name/> put abc.txt
Uploading abc.txt to `/manuelamador.name/abc.txt':
Progress: [=============================>] 100.0% of 15 bytes succeeded.
dav:/manuelamador.name/> cd intranet
dav:/manuelamador.name/intranet/> put abc.txt
Uploading abc.txt to `/manuelamador.name/intranet/abc.txt':
Progress: [=============================>] 100.0% of 15 bytes succeeded.
dav:/manuelamador.name/intranet/> rm ../abc.txt
Deleting `../abc.txt': succeeded.
dav:/manuelamador.name/intranet/> rm abc.txt
Deleting `abc.txt': succeeded.
dav:/manuelamador.name/intranet/> put abc.txt
Uploading abc.txt to `/manuelamador.name/intranet/abc.txt':
Progress: [=============================>] 100.0% of 15 bytes failed:
404 Not Found
dav:/manuelamador.name/intranet/>
This only happens with Dexterity containers. Regular Zope folders work well with HTTP PUT. So do Plone site roots.
Of course, this is bad because MKCOL inside a Plone site root creates a Dexterity container, so any new folders must be created through the ZMI. And using the ZMI is a non starter.
This appears to be caused by a defect in publishTraverse() of plone/dexterity/browser/traversal.py.
I will shortly fix it with a PR.
EDIT: I tried to fix it but I couldn't.
The text was updated successfully, but these errors were encountered:
(Formerly plone/plone.app.dexterity#327 )
Any HTTP PUT (e.g. with WebDAV or with basic
curl
) to a Dexterity folder receives a response HTTP 404 Not Found, but it's truly the most curious thing, because a PUT of the same file in the parent directory (Plone site) succeeds, and then a PUT of the same file in the current directory succeeds afterwards!In the following example
/manuelamador.name/
is a Plone site, and/manuelamador.name/intranet/
is a Dexterity container (regular Folder) added in the Plone site.This only happens with Dexterity containers. Regular Zope folders work well with HTTP PUT. So do Plone site roots.
Of course, this is bad because
MKCOL
inside a Plone site root creates a Dexterity container, so any new folders must be created through the ZMI. And using the ZMI is a non starter.This appears to be caused by a defect in
publishTraverse()
ofplone/dexterity/browser/traversal.py
.I will shortly fix it with a PR.
EDIT: I tried to fix it but I couldn't.
The text was updated successfully, but these errors were encountered: