- From: Yves Lafon <ylafon@w3.org>
- Date: Fri, 2 Oct 2009 05:47:48 -0400 (EDT)
- To: public-ws-resource-access@w3.org
The goal there is ensuring that when you are changing the price of the third item, the third item has not changed and is not the fourth at the time the change will be done on the server. There are basically two ways of doing it, the first is ensuring that you are editing the right version of the resource representation. I tried to figure out some nice ways to do that, including when it's not supported, and nothing satisfactory came out. The basic idea was to mimic ETag support of HTTP [1] and conditionnal requests. The other solution is to ensure that you are really changing what you want by providing enough context for the change to happen, even if the resource representation changed. In that case, changing price of item 3, and giving the item 3 name (or whatever helps define the current item 3), so that the change can happen even if item 3 is now item 4. This can be done by defining a PATCH method, requiring a patch format providing the necessary context + the modification instruction. PATCH differs from PUT as the payload is not PUT directly in place (on the resource or a fragment), but PATCH according to the instructions defined in the patch-dialect payload. As there might be multiple dialects to achieve this, the PATCH definition should be dialect-agnostic and leave the room for many patch-dialect format (which is really the hardest part in this proposal). To allow timely progress of the core specs, the proposal for that issue is to close it with no action for the impacted WD, and either keep this email a documentation only on the way to fix it, or produce a WG Note with the Patch method definition, but it would require a default patch-dialect, which might take time to define. Cheers, [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19 -- Baroula que barouleras, au tiéu toujou t'entourneras. ~~Yves
Received on Friday, 2 October 2009 09:47:50 UTC