-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Specify the semantics of DELETE #41
Comments
Propose we rename this issue to: "Specify the semantics of DELETE". In addition to the questions you raised in the description, I would also add: Related issues:
Other important questions:
|
Oh, uh.. one other question :) is DELETE supposed to return |
Both 200/204 are fine; I don’t think we need to specify. |
@RubenVerborgh Sure, but would a non-normative note be useful to state that success return codes (i.e. generally, not just for DELETE) are the range 200-299 ('cos I think your typical client-side developer might only explicitly check for a 200)? In other words, would W3C specs normally state basic principals of HTTP like this, even non-normatively...? |
Yes; but we should avoid repeating the HTTP spec too much. |
It'd be an |
Yes, if and only if they have Write access to the container and all contained resources.
Yes, following above.
Yes, pending resolution of #44 |
Covered in https://github.com/solid/solid-spec/issues/195#issuecomment-559619352 , https://github.com/solid/solid-spec/issues/195#issuecomment-559799154 , https://github.com/solid/solid-spec/issues/195#issuecomment-559810431 , #41 (comment) . Summary/Proposal: Both Write on the resource and the container is required, factoring in updates to containment triples as well as recursive deletion behaviour.
Covered in https://github.com/solid/solid-spec/issues/196#issuecomment-560377845 . Summary/Proposal: Write on resource or associated ACL is the only requirement to delete ACL.
Covered in https://github.com/solid/solid-spec/issues/195#issuecomment-559810431 , #41 (comment) .
Covered in solid/solid-spec#157 (comment) . Summary/Proposal: There is no |
👍 to that, but I would like to have a decision on #126 , so that we can found the decision on a more general principle.
This seems trickier... I would suggest that write on resource does not suffice, since if you just delete the ACL, it changes the permissions on the resource, since it would then use an inherited ACL. Thus, I would suggest that deleting the resource, which also deletes the ACL requires just
I think we haven't really settled this yet, one thing is to delete resources, another thing is to delete containers. I.e. I think I'll bring solid-spec/190 over to the specification repo, and continue the discussion there. But for now, this is my proposal: We constrain ourselves to define
👍 Good formulation! |
I'm returning to the test suite, and I would find it very useful if we could find rough consensus on this. Apart from the things where there clearly is consensus above, I'd like to propose two things:
Anyone opposed? |
No objection to either of the points. Related to point 2, delete ACL requiring Control is aligned with rough consensus on Control being required to update ACL ( #42 ). |
Come to think of it, the operation of So, what we're really looking at now is |
Right but I think we can be more specific. I think it boils down to: If the operation is atomic, it would mean that a container can be deleted if and only if all of its containments and associated resources can be deleted. If not, non-containers and associated resources can be deleted independently. The latter probably requires a response indicating what didn't get deleted. |
The LDP specification makes DELETE optional. For a Solid server implementing
DELETE
, what, if any, constraints are on delete?Specifically, can a client
DELETE
a non-empty container? If so, is that request recursive? Does the presence of contained resources affect the value of theAllow
response header? If aDELETE
operation is attempted on a non-empty container (and the request is rejected), is there a recommendedldp:constrainedBy
relation that a server should use to inform a client why the request failed?The text was updated successfully, but these errors were encountered: