- From: Cyrus Daboo <cyrus@daboo.name>
- Date: Mon, 22 Sep 2008 12:26:22 -0400
- To: Julian Reschke <julian.reschke@gmx.de>, WebDAV <w3c-dist-auth@w3.org>
Hi Julian,
--On September 22, 2008 5:42:54 PM +0200 Julian Reschke
<julian.reschke@gmx.de> wrote:
> FYI -- this is an early draft of what I proposed in July
> (<http://lists.w3.org/Archives/Public/w3c-dist-auth/2008JulSep/0011.html>
> ).
>
> F
Looks good overall. Some comments:
1) When I first read the title I somehow thought this was talking about
using POST to "create" collections. Perhaps change it to:
Using POST to add members to Web Distributed Authoring and Versioning
(WebDAV)
Collections
2) I think this is a sufficiently worthy addition to WebDAV that using DAV:
for the namespace is OK (just as we did with the current-user-principal
property).
3) What about COPY/MOVE behavior? Is it OK to use the add-member property
value as the Destination for COPY or MOVE when creating a new member in the
destination? Or does a client instead have to user POST to create an empty
resource first, then target that with the COPY/MOVE?
4) Something needs to be stated about error handling: e.g., "If there are
pre-conditions related to creating a resource in the collection using a PUT
request, then those same pre-conditions apply to the new POST request
behavior, and the same DAV:error response body returned on failure". This
would be a "catch-all" to allow protocols such as CalDAV, which restrict
certain aspects of the data stored in collections, to simply return the
same pre-condition failure information for POST as for PUT.
5) Is the server allowed to re-use new member URIs? i.e. /a/b.txt exists at
some point, then is deleted. Is the server then allowed to use b.txt as a
new member of /a/, or does the new member path segment have to be unique
for the entire existence of that collection? If the member path segment is
expected to be unique there should be some guidance to servers on how they
might implement that (uuid's for instance).
6) It is also worth adding a note to client implementors stating that the
server-generated member path segment is likely to not be suitable for
direct presentation to end users, and instead clients should rely on the
DAV:displayname property for presentation purposes.
7) Security consideration: "Servers MUST NOT derive the member path segment
from the data being stored in the resource". This is important because you
don't want server's leaking information in the URI that would not otherwise
be visible (e.g. a user can PROPFIND the members but cannot read the
content of the members - leaking content in the URI would be bad). Note
this impacts how the server generates the member path segment. e.g. an md5
hash of the data only may not be appropriate.
--
Cyrus Daboo
Received on Monday, 22 September 2008 16:27:04 UTC