Skip to end of metadata
Go to start of metadata


ATutor Social is a social networking module that allows ATutor users to connect with each other. They can gather contacts, create a public profile, track network activity, create and join groups, and customize the environment with any of the thousands of OpenSocial gadgets available all over the Web. ATutor Social can be used alone as a social networking application, or it can be used with the ATutor Learning Management System to create a social learning environment.

ATutor Social is built on the Apache Shindig Project, which includes several useful APIs. ATutor is currently using Apache Shindig 1.0.1 and the OpenSocial API v0.8.1 specification.

OpenSocial APIs

Apache Shindig implements several OpenSocial APIs:

  • OpenSocial REST: for server to server communication
  • OpenSocial JSON-RPC: for gadget to server communication
  • Javascript: for gadgets

OpenSocial REST

There are four types of REST services which can be exposed by Apache Shindig: people, activities, appdata and groups. There are URI Templates defined for each type of service. 

An Example: User "Harris Test2"(uid: 219) from's demo can be obtained through





6.1 People

    Collection of all people connected to user <uid>
    Collection of all people connected to user <uid>
    Collection of all friends of user <uid>; subset of @all
    Collection of all people connected to user <uid> in group <groupid>
    Individual person record for a specific person known to <uid>; shows <uid>'s view of <pid>.
    Profile record for user <uid>
    Profile record for requestor


6.2 Group

    Collection of groups associated with user <uid>


6.3 Activities

    Collection of activities generated by given user
    Collection of activities for friends of the given user <guid>
    Collection of activities for people in group <groupid> belonging to given user <uid>
    Individual activity resource; usually discovered from collection


6.4 AppData

    All app data for user <uid>, app <appid>
    All app data for friends of user <uid> and app <appid>; read-only (only GET and HEAD supported)
    Just the count field for user <uid>, app <appid>

OpenSocial JSON-RPC

Apache Shindig implements all required RPC services: People, Activities, Appdata, Messages and System.

Note: Apache Shindig doesn't implement all methods defined in OpenSocial RPC Protocol, Section 8, Services but these missing methods are not required to be OpenSocial compliant.





8.1 People

    Retrieve a single person or list of opensocial.Person objects.
    List the supported fields for this service.


8.2 Activities

    Support creating opensocial.Activity objects as the targets of a relationship with the specified user.
    Retrieve a one or list of opensocial.Activity objects.
    Support updating opensocial.Activity objects as the targets of a relationship with the specified user.
    Support removing the relationship between an opensocial.Activity and the specified user.
    List the supported fields for this service.  


8.3 AppData

    Not defined in the spec. Support creating key-value pairs in a user appdata.
    Retrieve a map of key-value pairs for the list of specified keys.
    Add or replace key-value pairs stored in a users appdata with the key-vaues in the data parameter.
    Remove the specifed keys from a users appdata and returned the values associated with those removed keys.


8.4 Messaging

    Not defined in the spec. Support creating opensocial.Message objects.
    Not defined in the spec. etrieve a one or list of opensocial.Message objects.
    Not defined in the spec. Support updating opensocial.ActivityMessage objects.
    Not defined in the spec. Support removing opensocial.ActivityMessage objects.


8.5 System

    Returns an array of all methods supported by the endpoint including the system methods.
    Not implemented yet. Returns a method signature describing the types of the parameters.
    Not implemented yet. Returns a textual description of the operation identified by the methodName parameter.

Javascript API

Apache Shindig includes all JavaScript APIs as described in OpenSocial API Reference and Gadgets API Reference.

See also the JavascriptDoc for Apache Shindig 1.1.x.

ATutor OAuth

There are very useful information on OpenSocial Documentation OAuth Usecase. You may also want to check out some OpenSocial Client Libraries to get you started.

ATutor End points are as follow:

  • Request Token URL: mods/_standard/social/lib/oauth/request_token.php
  • Authorization URL: mods/_standard/social/lib/oauth/authorize.php
  • Access Token URL: mods/_standard/social/lib/oauth/access_token.php


Q. Is ATutor planning on updating its OpenSocial specification?
A. Yes. ATutor is piloted on Apache Shindig, we will update when Apache Shindig is stabled on supporting the newer specification.

Q. Is REST supported in ATutor Social?
A. Yes.

Q. How does OAuth work in ATutor?
A. You need to have a client that connects to our endpoints for authentication. OpenSocial has some great explanation here. If you are not familiar with OAuth, there is tihs great beginner's guide from hueniverse to get you started. I would also suggest you to try playing around with the opensocial-php-client to try connecting to our endpoints given above.


Apache Shindig Overview
OpenSocial 0.8.1 JSON-RPC Spec.
OpenSocial 0.8.1 REST Spec.
OpenSocial Tutorials

  • No labels