[p2pu-dev] [p2pu-community] P2PU API user story

Jos Flores josmasflores at gmail.com
Thu Jun 7 12:12:42 UTC 2012


Hey guys,

a quick reply; I haven't read the whole message yet and I will, but
for the functionality that you are mentioning... would it be an option
to consider an adaptive and responsive redesign of the site instead of
creating an API?
http://blog.easy-designs.net/archives/2011/11/16/on-adaptive-vs-responsive-web-design/

John had a responsive prototype a few months back. Just a thought!

cheers,
José


On 7 June 2012 13:04, Dirk Uys <dirk at p2pu.org> wrote:
> Hi everyone
>
> We've had some thoughts, some talk, and even the start of an
> implementation for a P2PU API. It seems like everyone agrees that it's
> a good idea and something that we need, but currently we are lacking
> concrete use cases (maybe because we don't have the complete API yet -
> a bit of a chicken and egg problem).
>
> So I propose that we start by building a few prototypes of what we
> would like to use an API for. A prototype doesn't need to be a running
> program, although a running prototype would be great! We just need
> something a little bit more tangible to help us think about the ideal
> API that we want for P2PU.
>
> A prototype may look something like this:
>
> Lets say I want to build something to run a MOOC, I'll need to use the
> following parts of P2PU:
> - Authentication
> - User profiles
> - Activity
> - Notifications
> - Messaging
> - Badges
>
> So lets think a little about a user story:
>
> I go to mooc.org and see a mooc that I like - "The study of geographic
> and temporal art as encountered in urban environments - SOGTA". I
> decide to sign up for the MOOC. When I click on sign-up I get
> redirected to P2PU to sign-in to my P2PU profile. Once I signed in,
> I'm asked by P2PU if I want to allow mooc.org to send me notifications
> and publish activities to my activity feed?
>
> Once I confirm I am redirected back to mooc.org. I am now signed up
> for SOGTA with my P2PU profile. On mooc.org I can participate in group
> discussions. Whenever I get a reply to a message that I posted in a
> discussion, I receive an email in my inbox. When I reply to the email,
> my message is also posted in the group discussion thread.
>
> Every week I receive an email from the MOOC organizer that informs me
> what's happening with SOGTA.
>
> On mooc.org there is a list of courses that is relevant to SOGTA. I
> can participate in these courses together with other people that is
> also signed up for SOGTA. There is also lots of references to other
> learning resources like coursera.
>
> Finally, after participating in the MOOC, I receive a SOGTA
> participation badge to show that I completed the MOOC. This badge is
> shown on my profile at P2PU, but it's stored in my open badge
> backpack.
>
> Interaction between mooc.org and p2pu.org may look like this:
>
> When someone at mooc.org creates a new MOOC, the MOOC gets published
> to the course register at p2pu.org:
>
> https://api.p2pu.org/courses PUT {'title': 'The study of geographic
> and temporal art as encountered in urban environments', 'shortcode':
> 'SOGTA', 'signup-url':'mooc.org/sogta/sign-up', 'course-style':'MOOC',
>  'tags':['art','geo-art'], ... }
>
> Now the "The study of geographic and temporal art as encountered in
> urban environments" will show up when someone searches for "geographic
> art" on the P2PU course register!
>
> https://api.p2pu.org/courses also support GET,POST and DELETE to
> query, update and delete courses from the course register
>
> When a user signs up for a MOOC on mooc.org, the browser will be
> redirected to https://p2pu.org/login. After the user successfully
> logged in, they get a token and user profile from p2pu.org and that is
> passed onto mooc.org (handled by javascript without the user knowing
> anything about it). mooc.org then does a post to
>
> https://api.p2pu.org/user/verify-login POST
> {'user-profile':'https://p2pu.org/dirk',
> 'token':'bd46c283195c0aefaffb179f6197f18d184d38b8'}
>
> which respons with 200 OK to indicate that the user is logged in and
> that the token is valid.
>
> mooc.org can now safely add https://p2pu.org/dirk to the list of users
> that signed up for the MOOC. mooc.org also sends a message to
> https://p2pu.org/dirk to give him instructions about SOGTA
>
> https://api.p2pu.org/send-message POST
> {'user-profile':'https://p2pu.org/dirk', 'subject':'Welcome to SOGTA',
> 'content':'We are glad that you joined SOGTA ...' }
>
> p2pu.org automatically add 'app':'mooc.org' to the data and depending
> on the user's preferences is sent a message to the email address
> registered with p2pu.org
>
> Whenever a significant action is performed in SOGTA by a user,
> mooc.org does the following:
>
> https://api.p2pu.org/activity PUT {'subject':'https://p2pu.org/user',
> 'verb':'post', 'object':'https://mooc.org/sogta',
> 'verb-url':'https://mooc.org/sogta/comment/135', 'message':'user
> posted a comment in the MOOC SOGTA'}
>
> This is only allowed if user gave permission to mooc.org to post
> activity. If this failed mooc.org may choose to do
>
> https://api.p2pu.org/activity PUT {'verb':'post',
> 'object':'https://mooc.org/sogta',
> 'verb-url':'https://mooc.org/sogta/comment/135', 'message':'A new
> comment was posted in the MOOC SOGTA'}
>
> https://api.p2pu.org/activity GET {'noun':'https://p2pu.org/user'} -
> will return all activities involving user
>
> https://api.p2pu.org/activity GET {'noun':'https://mooc.org/sogta'} -
> will return all activities involving SOGTA
>
> When a user makes a comment and receives a reply, something like this
> can happen:
>
> https://api.p2pu.org/notification PUT
> {'profile':'https://p2pu.org/username', 'subject':'[SOGTA] reply to
> comment', 'message':'Someone replied to your comment',
> 'email-reply-possible':'True'}
>
> This call returns
> {'reply-token':'005f035e7d1b1c2ff6de0d4a73cc2f040d5b4127'} to mooc.org
>
> The user receives an email if notifications are allowed for mooc.org.
> The email look like this:
>
> From: reply+005f035e7d1b1c2ff6de0d4a73cc2f040d5b4127 at reply.p2pu.org
> Subject: [mooc.org] [SOGTA] reply to comment
> Message:
> Someone replied to your comment.
>
> You can respond by replying to this email with your text:
> <here>
> </here>
>
> When the user replies to the email, mooc.org gets a post from p2pu.org
> at the URL that mooc.org had to supply when registering to use the
> P2PU API:
>
> https://mooc.org/api/message-in PUT {'from':'https://p2pu.org/user',
> 'reply-token':'005f035e7d1b1c2ff6de0d4a73cc2f040d5b4127',
> 'message':'???'}
>
> I haven't yet thought through the badge API for this scenario.
>
> This email turned out to be rather long, so I posted it on my blog
> (http://disfunksioneel.blogspot.com/2012/06/p2pu-api-story.html) to
> make it slightly more readable.
>
> Now it's your turn!
>
> Cheers
> d
>
> ps. I'll by beer for anyone that can figure out where the tokens come
> from. You'll have to be in Berlin during July to get your beer :)
>
> --
> You received this message because you are subscribed to the "P2PU Community" group. Please stick to the ground rules:
> http://groups.google.com/group/p2pu-community/web/ground-rules
>
> Specific topics such as research, web development and course design are discussed in separate working groups:
> http://wiki.p2pu.org/mailing-lists


More information about the p2pu-dev mailing list