- From: Roger Menday <roger.menday@uk.fujitsu.com>
- Date: Sun, 13 Jan 2013 21:24:37 +0000
- To: Steve Speicher <sspeiche@gmail.com>
- CC: "Wilde, Erik" <Erik.Wilde@emc.com>, "public-ldp-wg@w3.org" <public-ldp-wg@w3.org>
- Message-ID: <4628E8A4-5C42-4F08-8989-2D3CE4F60858@uk.fujitsu.com>
On 13 Jan 2013, at 17:36, Steve Speicher wrote: > The wiki page for ISSUE-37 [1] has been updated to include the > description of the model. We can discuss next steps in the call > tomorrow though I tried to summarize a the beginning of the page the > intent and some next steps. hi Steve, I've just read your notes about the intention of issue 37. I thought the stuff I wrote on Friday [1], would fit quite well into issue 37 discussions (and I've been working on content for the wiki - also prompted by Ashok). But, if it doesn't go there, where would it go ? regards, Roger [1] http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jan/0040.html > > On Sun, Dec 16, 2012 at 2:14 AM, Wilde, Erik <Erik.Wilde@emc.com> wrote: >> hello all. >> >> a few more details regarding ISSUE-37 and what would be important to >> decide on. since i have already created the model description of AtomPub >> on the http://www.w3.org/2012/ldp/wiki/ISSUE-37 page, i'll stick with >> that, because we have to make the exact same decisions, in this way or a >> slightly different way, but along the same axes. excuse my XML along the >> way, but that is how that other model works. it really makes no difference >> at all in the end; for the protocol, we need to have a data model will >> well-defined semantics, and an interaction model that uses this data >> model. let's start with the interaction model: >> >> AtomPub allows to POST two kinds of things: application/atom+xml <entry> >> at "regular" atom collections, and other media types when allowed by the >> access policy of the server and advertised in the service document. when >> clients POST <entry> resources, this will create a regular member entry, >> and the server simply accepts and stores (and serves upon request) the >> POSTed entry. when clients POST non-<entry> media types accepted by the >> server, the server accepts the media resource, and creates a media link >> entry. so the server now has created and manages two entries. >> >> for POSTing <entry> resources, there's some magic hidden in Atom's data >> model. for the AtomPub, it simply stores whatever clients POST, and it may >> use the Atom metadata model to provide additional services, such as >> providing filtering and/or sorting capabilities (which are outside of >> AtomPub itself). so from that point of view, members are fully contained >> in the collection, and only exist in that context. however, Atom's data >> model allows <entry><content>... for embedded content, and <entry><content >> src=""> for linked content. so it's completely ok for clients to POST such >> an entry with a link to an AtomPub server, and while the server is not in >> control of the content (it may be a link to anywhere), it will happily >> manage the entry based on its Atom metadata. however, if you delete such >> an entry, the linked content of course will not go away. but on the >> protocol level, everything is fine: the semantics are you can POST >> embedded or linked, and when you DELETE, you simply DELETE whatever you >> POSTed. for media entries this is different, but that's because AtomPub >> assumes that for media resources, even though there are two resources as >> well (the media link entry and the media resource), both are managed by >> the same server, and thus the protocol can be defined so that a DELETE >> actually deletes both. AtomPub is kind of cautious here though and only >> says that DELETEing the media link entry SHOULD DELETE the corresponding >> media resource as well (http://tools.ietf.org/html/rfc5023#section-9.4). >> >> this embedding model is possible courtesy of Atom's <content> model, which >> says that @src should be treated (pretty much... excuse a slight >> generalization here) in the same way as embedded content >> (http://tools.ietf.org/html/rfc4287#section-4.1.3.2). because of this >> definition of the data model, servers can choose to be blind wrt embedded >> vs. linked content, and simply serve back whatever they have been handed >> as the entries to manage (of course they also could have internal policies >> treating these cases differently, but that's an option and doesn't need to >> be addressed on the protocol level at all, it could just be a >> service-level policy where a specific server would for example say "i am >> not accepting linked content"). >> >> to start all of this, clients need to find out the capabilities of a >> server. if a client is linked by a "collection" link from somewhere to a >> server, it will not know whether that server is an AtomPub server, or an >> LDP server. clients should be able to find out at runtime who they're >> talking to. when they do an OPTIONS on the "collection" resource and it is >> an AtomPub server, they will get something like Accept: GET POST and >> Content-Type: application/atom+xml. when they do an OPTIONS on an LDP >> server, they will probably also get something like Accept: GET POST, but >> the media type would need to expose the server's LDP capabilities. then >> clients can start understanding that they either need to compose <entry> >> resources and POST them, or LDP resources and POST them (if they support >> both media types). >> >> cheers, >> >> dret. >> >> > > > > -- > - Steve >
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Sunday, 13 January 2013 21:25:27 UTC