- From: Henry Story <henry.story@bblfish.net>
- Date: Wed, 2 Oct 2013 14:18:31 +0200
- To: John Arwe <johnarwe@us.ibm.com>
- Cc: public-ldp-wg@w3.org
- Message-Id: <8BDE0445-D6B1-4B44-AE5B-CDBFA8EB9B3C@bblfish.net>
On 25 Sep 2013, at 14:25, John Arwe <johnarwe@us.ibm.com> wrote: > > I was trying to explain this to someone recently and it seemed to us > > there's a big whole in this design. How is a client supposed to > > know where it can PUT things? > > Valid question. Applies to PATCH-as-create too, I suspect. I hedge only because I remember that 5789 does say PATCH can be used to create new resources, but I don't remember if it suggests a PUT-like, POST-like, or no (silent on) interaction model. > > > And if it does PUT things there, do > > they end up linked from anywhere? What seems right to me, taking > > a stab in the dark, is that at LDPC can have some associated URL > > space, and if you do a PUT-to-create in that space, it's pretty much > > the same as POSTing to the LDPC. So the new PUT URL ends up as a > > resource in the LDPC as well. yes, that's an addition reaon for one of the proposals I put forward for an iContainer. http://www.w3.org/2012/ldp/track/issues/50 This was closed in a hurry in Spain this summer. I don't think it was a very considerate closing > > As long as the URL you selected is not already in use, that's the fuzzy model I've had in my head. Given that I don't know of anyone on my end planning to implement create-via-PUT, I have not thought it through deeply myself. > > IMO the important distinction is the "create" semantic, not the HTTP method used. I would expect the same consequences on membership triples as the result of any create, irrespective of the HTTP method employed on the request. > > > I imagine an LDPC could advertise > > this functionality with a triple or like: { <> ldp:memberCreationURLPrefix > > "http://example.org/container75_" }. > > > Alternatively, we might > > just agree the URL prefix is the LDPC URL (plus a slash). > > Then we > > just need a flag like { <> a ldp:Puttable }. I think the simpler solution is the most intuitve one. Just allow us to define a subclass of containers that behave the way people expect. > > The Allow response headers seem sufficient to convey the semantic I infer from your choice of predicate. > I don't know that it's the semantic you want though - saying that PUT is allowed gives a client no guarantees that Create is allowed via PUT. This is analogous to the issue I raised when we were naming the proposed Accept-Post header. > > > ... and I guess you > > don't even need that flag with Vanilla servers, which always have > > that flag set? > > If we decide (as proposed) that vanilla servers MUST support PUT, then yes knowing that it's a vanilla server is enough *for an LDP-aware client* to know that create-via-PUT is supported by the server. If your goal is to have a more broadly useful flag (ala the Accept-Post discussion) that any *"new-flag-aware" HTTP client* could use, then you'd still want some additional message content. > > Betcha can't tell I've been looking at the Conformance section changes over the past 2 days (not committed yet though - tease). > > > I'm not sure why anyone would want to do this. Maybe for some apps > > the clients have an algorithm for picking the URLs and the server > > doesn't know it or can't implement it, itself? Dunno. > > I'm unclear on what/how much of the preceding you mean by "this". Your "it seemed to us there's a big whole" statement implied to me that we're discussing something likely to result in/seed a new issue, but your ending calls that into question. > > I could posit cases where the server might not know (all) the potential URL space(s), but without a concrete use case that would just be random speculation (and the one I have in mind I could probably play the "it's an access control issue" Jedi mind trick with). > > Best Regards, John > > Voice US 845-435-9470 BluePages > Tivoli OSLC Lead - Show me the Scenario > > Social Web Architect http://bblfish.net/
Received on Wednesday, 2 October 2013 12:19:08 UTC