- From: Aaron Parecki <aaron@parecki.com>
- Date: Thu, 07 May 2015 15:32:57 +0000
- To: James M Snell <jasnell@gmail.com>, Sandro Hawke <sandro@w3.org>
- Cc: "public-socialweb@w3.org" <public-socialweb@w3.org>
- Message-ID: <CAGBSGjrv6z7zZzo-Ti8pd-+8ZNVgYLc+XYEqnmVc-sydf7e+dQ@mail.gmail.com>
Yes I believe we were actually referring to the ActivityPump API On Thu, May 7, 2015 at 5:12 PM James M Snell <jasnell@gmail.com> wrote: > On Thu, May 7, 2015 at 6:10 AM, Sandro Hawke <sandro@w3.org> wrote: > > Summary: it might be good to re-organize AS2 to separate the CRUD > > operations from the "social" vocabulary > > > > AS2 does not have any CRUD operations. > > When I send something like the following to a server, I'm notifying > not instructing: > > POST / HTTP/1.1 > Host: example.org > Content-Type: application/activity+json > > { > "@type": "Follow", > "actor": "acct:joe@example.org", > "object": "acct:sally@example.org" > } > > Depending on the server, there might be some side effects that occur > after receiving the POST, but the AS2 payload itself does not carry > any behavioral semantics or expectations whatsoever. > > > Thinking about Activity Streams in light of this last meeting, where I > > finally came to understand the role it plays in Activity Pump, I'm > wondering > > if it would be good to change the design in a fundamental way. I'm > sorry I > > didn't understand this well enough to say it months ago. > > > > Right now, as I understand it, an Activity describes a change in the > state > > of the world. I think it might be good to instead have a way to describe > > the state of the world and a separate way to talk about state changes. > We > > could frame it like this: > > > > * A "status" is a post which states something about the world at some > point > > in time. > > > > * An "update" is a post which creates, modifies, or deletes a status. > > > > It makes sense to create such distinctions within the API but not the > AS2 spec itself. > > - James > > > In the common case where one is just creating a new status, there's > minimal > > value in separating them. But when you think about fixing a typo in a > > Note, and how you propagate that change, and who should be sent that > change, > > and who is allowed to see that change, and how to efficiently distribute > the > > change, and who has permission to make the change, ..., and what happens > > when a server is down and changes can't be sent right now, ... then I > > suspect things become a lot simpler when we separate them. > > > > The "social API" then can consist of doing CRUD on status resources. > Those > > CRUD operations might be done by creating updates (something like > > update/delete in micropub) or more directly using http verbs as in LDP > or a > > whole bunch of them might be streamed in a JSON-LD document (as I think > > ActivityPump envisions). The federation protocol can largely consist > of of > > sending around Updates. The updates can also be kept around as a change > > log. > > > > I'm interesting in spelling this all out in more detail if others think > it's > > promising. > > > > I suspect the pushback will be that it's somewhat harder to implement > very > > simple systems. The payoff doesn't come until you want ACLs or > federation > > or something else non-trivial. Beyond that, are there are other > problems > > with this style? > > > > My apologies if I'm missing something obvious that makes this clearly a > bad > > idea. > > > > -- Sandro > > > > > >
Received on Thursday, 7 May 2015 15:33:29 UTC