- From: Evan Prodromou <evan@status.net>
- Date: Mon, 09 Jul 2012 11:34:53 -0400
- To: public-fedsocweb@w3.org
- Message-ID: <4FFAFA1D.5090605@status.net>
On 09/07/12 10:59 AM, Melvin Carvalho wrote:
>
> What you need is essentially a dictionary (data store) perhaps with
> autocomplete that can match the literal string to a more meaningful
> set of data (name, avatar, profile etc.).
I was using Webfinger as the identifier, with associated lookup. Just
describing a pattern, so I didn't get into the discovery particulars.
>
> 1. example.net <http://example.net> server requests an identity
> from the user.
>
>
> You'll need to identify & perhaps authenticate here.
This is what the OAuth step is for.
I think there are much better UI approaches than entering text by hand,
but for the sake of exercise here, we'll ask the user to type it in.
>
> After the first request, the user should stay "logged in" to
> example.net <http://example.net> and may continue interacting with
> content there:
>
> 1. User evan@example.com <mailto:evan@example.com> navigates to
> photo page http://example.net/joe/photo/2
> 2. User enters a comment in the comment box and clicks send.
> 3. example.net <http://example.net> publishes a "post" activity
> with a "comment" object with inReplyTo =
> http://example.net/joe/photo/2 to evan@example.com
> <mailto:evan@example.com>'s activity stream.
>
> Some kind of HTTP POST would work here
http://www.w3.org/community/activitypub/
AtomPub meets ActivityStreams.
> You need a set structure for a comment saying what the text is, who
> the user is and what the comment is in relation to.
>
> post :hasComment
> { user : user, type : comment, comment : blah }
In ActivityStreams JSON format (http://activitystrea.ms/), it would look
something like this:
{
"actor": {
"id": "http://example.com/evan"
},
"verb": "post",
"object": {
"objectType": "comment",
"inReplyTo": {
"objectType": "photo",
"url": "http://example.net/joe/photo/2"
}
"content": "Nice photo!"
}
}
For ActivityPub, you can leave off the "actor" since it's implied.
>
> Pattern is pretty great, but understand that if you're going to do a
> lookup on strings, make it a reverse lookup on a (hopefully cached)
> data store. Try to give everything you care about a URI and ulimately
> link that from your profile page.
>
> A lot more needs to be done on access control, but we're working on
> it! :)
Thanks for the feedback!
-Evan
--
Evan Prodromou, CEO and Founder, StatusNet Inc.
1124 rue Marie-Anne Est #32, Montreal, Quebec, Canada H2J 2B7
E: evan@status.net P: +1-514-554-3826
Received on Monday, 9 July 2012 15:35:32 UTC