- From: Steve Speicher <sspeiche@gmail.com>
- Date: Tue, 17 Sep 2013 16:42:58 -0400
- To: "public-ldp-wg@w3.org" <public-ldp-wg@w3.org>
- Message-ID: <CAOUJ7Jo_0+C=mys1eg3ZhbDoP=RDiw039UDkt8xXqKP1bmCJhA@mail.gmail.com>
Hi, I've outlined some of the sections in question and provided some early proposals on how to resolve. I wasn't so concerned about getting the exact specification text right but getting it going in the right direction, leaving it to the editors to get it in shape if accepted. Existing text: [[ 4.5.1 If HTTP PUT is performed on an existing resource, LDPR servers must replace the entire persistent state of the identified resource with the entity representation in the body of the request. LDPR servers may ignore server managed properties such as dcterms:modified and dcterms:creator if they are not under client control. Any LDPR servers that wish to support a more sophisticated merge of data provided by the client with existing state stored on the server for a resource must use HTTP PATCH, not HTTP PUT. ]] Proposed change: Additional clause: [[ 4.5.1.1 LDPR servers MAY inform clients that some of the triples they provided were ignored by using a success (2xx range) status code including the HTTP response header Warning with descriptive text. Servers always have the options to provide additional details within the HTTP entity body of the response [[HTTP11]] ]] Justification: This is about "server-managed properties" and not about "unknown content" (which is covered below). It seems quite reasonable that these "hands off" triples are not under the control of a client. There could be some server implementations where they do absolutely no checking, for example a client could make an immediate change and set the dcterms:modified value to be a date from the early 1970s. If this were an error case, a client would need to rebuild the request by learning about this server-managed properties and remove those triples from the request's entity body. When the server ignores these triples provided in the request entity body, it could be useful to provide a Warning header such as: HTTP/1.1 204 No content ETag: "ABC" Warning: LDP server ignored some server-managed properties Extensions to LDP or future versions could provide a standard response body or a way for a client to learn about which properties are server-managed. Existing text: [[ 4.5.4 LDPR clients should assume that an LDPR server could discard triples whose predicates the server does not recognize or otherwise chooses not to persist. In other words, LDPR servers may restrict themselves to a known set of predicates, but LDPR clients must not restrict themselves to a known set of predicates when their intent is to perform a later HTTP PUT to update the resource. ]] Proposed change: [[ 4.5.4 LDPR servers MUST NOT discard triples the server does not recognize or otherwise chooses not to persist. If an LDPR server is unable to persist any triples, it MUST respond with an appropriate 4xx range status code [[HTTP11]]. LDPR servers MAY provide a message in the 4xx response body that provides details about which triples could not be persisted. The format of the 4xx response body is left open to the server to define. ]] Justification: See discussion that caused http://www.w3.org/2013/meeting/ldp/2013-09-12#resolution_8 Extensions to LDP or future versions could provide a standard response body or a way for a client to learn about which properties a server can't persist. - Steve Speicher
Received on Tuesday, 17 September 2013 20:43:25 UTC