- From: Henry Story <henry.story@bblfish.net>
- Date: Tue, 10 Apr 2012 20:57:45 +0200
- To: Alexandre Bertails <bertails@w3.org>
- Cc: Read-Write-Web <public-rww@w3.org>
On 10 Apr 2012, at 15:54, Henry Story wrote: > > On 9 Apr 2012, at 15:12, Alexandre Bertails wrote: > >> Hi Henry, >> >> On 04/08/2012 06:20 PM, Henry Story wrote: >>> Hi, >>> >>> As I understand POSTing a resource to a Collection should create a new resource. >>> We want to allow collections to be POST only so that unknown people can post into >>> a collection without seeing the other resource in it. (whilst perhaps allowing the >>> POSTer to edit the resources he created in that collection). We would like the owner >>> of the collection to be able to know what is in the collection: so that he can for >>> example find the new resources POSTed there. >>> >>> So some user should be able to >>> >>> POST /collection/ HTTP/1.1 >>> >>> thereby having the read-write-web server create the resource >>> >>> /collection/r42 >>> >>> which he could later edit in case he made a mistake. But he would not be >>> albe to find the elements of the collection by doing a >>> >>> GET /collection/ >> >> There is no perfect solution for handling collections. I kind of like >> Sandro's idea [1]. Also, this is a place where using the WebDav verbs >> (eg. MKCOL) should be considered IMO. But this could be a problem in >> the browser. > > > Thanks. I added file creation to a collection with the last patch > > https://dvcs.w3.org/hg/read-write-web/rev/5cf67ba5c0d4 > > in particular > > https://dvcs.w3.org/hg/read-write-web/file/5cf67ba5c0d4/src/main/scala/ReadWriteWeb.scala#l115 > > I'll try to do directory listings next, and also read up more closely on the > other comments on the list.... Btw. one very nice feature of POSTing docs to collections, is that you can POST a document with a relative URL say <#me> a foaf:Person . and have the <#me> then bound to the URL of the to-be-created document. So that if above document is POSTed to <http://example.com/collection/> creating in the process <http://example.com/collection/doc21231.rdf> then the URI of the user above will be <http://example.com/collection/doc21231.rdf#me> It works pretty much out of the box and I added a test case for it here: https://dvcs.w3.org/hg/read-write-web/file/5e48ef562a36/src/test/scala/CreateContentSpecs.scala#l78 Henry > > > >> Alexandre. >> >> [1] http://www.w3.org/2001/sw/wiki/REST#Creating_Collections >> >>> >>> as that would be protected. He certainly could not edit what ends up being the >>> equivalent of /collection/index{.rdf} since he does not have access to that >>> file. It must therefore be up to the ReadWriteWeb server to do three things: >>> >>> 1. create a name for the POSTed resource >>> 2. update/display the collection (sioc:Collection?) index retrieved when >>> doing a GET /collection/ >>> 3. Only show a subset of those elements of the collection that an agent >>> has read access to >>> >>> I think the scala read-write-web does not have POST on a collection (a directory >>> in unix terminology) create a new file currently. (It has a POST of a SPARQL update >>> on an rdf information resource change it.) >>> >>> Does that sound right? >>> >>> Henry >>> >>> >>> Social Web Architect >>> http://bblfish.net/ >>> >>> >> > > Social Web Architect > http://bblfish.net/ > Social Web Architect http://bblfish.net/
Received on Tuesday, 10 April 2012 18:58:20 UTC