http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ec2b3e4f/website/publish/docs/activity/index.html
----------------------------------------------------------------------
diff --git a/website/publish/docs/activity/index.html
b/website/publish/docs/activity/index.html
deleted file mode 100644
index 02ca848..0000000
--- a/website/publish/docs/activity/index.html
+++ /dev/null
@@ -1,1338 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <title>Apache Usergrid (incubating) â Activity</title>
- <meta http-equiv="x-ua-compatible" content="ie=edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1,
minimum-scale=1, maximum-scale=1" />
- <meta name="keywords" content="Apache Usergrid, Usergrid, BaaS,
Backend-as-a-Service">
- <meta name="description" content="An open-source Backend-as-a-Service
stack for web & mobile applications, based on RESTful APIs." />
- <meta property="og:title" content="Apache Usergrid" />
- <meta property="og:description" content="An open-source
Backend-as-a-Service stack for web & mobile applications, based on RESTful
APIs." />
- <!-- Loading Typekit -->
- <script type="text/javascript" src="//use.typekit.net/ddl7izx.js"></script>
- <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
- <!-- Loading Bootstrap -->
- <link href="/bootstrap/bootstrap.min.css" rel="stylesheet" type='text/css'>
- <link href="/css/bootflat.css" rel="stylesheet" type='text/css'>
- <link href="/css/usergrid-site.css" rel="stylesheet" type='text/css'>
- <link
href="https://fonts.googleapis.com/css?family=Open+Sans:200,400,500,300,600,800,700,400italic,600italic,700italic,800italic,300italic"
rel="stylesheet" type="text/css">
- <link href="/css/font-awesome.min.css" rel="stylesheet" type='text/css'>
-
-
-
- <!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the
end of file. -->
- <!--[if lt IE 9]>
- <script src="js/html5shiv.js"></script>
- <script src="js/respond.min.js"></script>
- <![endif]-->
-</head>
-<body>
-
- <header class="navbar navbar-inverse navbar-fixed-top bf-docs-nav
secondary" role="banner">
- <div class="container">
- <div class="navbar-header">
- <button class="navbar-toggle" type="button" data-toggle="collapse"
data-target=".bf-navbar-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- </div>
- <a href="/" class="navbar-brand">
- <img id="home-logo"
src="/img/apache_usergrid_logo_white_small.png" />
- </a>
- <nav class="collapse navbar-collapse bf-navbar-collapse"
role="navigation">
- <ul class="nav navbar-nav navbar-right">
- <li class=""><a href="/community/"><span class="icns
icon-group"></span></a></li>
- <li><a href="http://usergrid.readthedocs.org/"
target="_blank"><span class="icns icon-book"></span></a></li>
- <li><a href="http://github.com/apache/incubator-usergrid"
target="_blank"><span class="icns icon-github-sign"></span></a></li>
- <!--<li><a href="https://trello.com/b/exQmJIOn/usergrid"
target="_blank"><span class="icns icon-trello"></span></a></li>-->
- <li><a
href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=23&view=planning&selectedIssue=USERGRID-362&epics=visible"
target="_blank"><span class="icns icon-bug"></span></a></li>
- <li><a href="http://stackoverflow.com/search?q=usergrid"
target="_blank"><span class="icns icon-stackexchange"></span></a></li>
- <li><a href="/community/#live"><span class="icns
icon-comments"></span></a></li>
- <!--<li><a
href="https://groups.google.com/forum/#!forum/usergrid" target="_blank"><span
class="icns icon-envelope"></span></a></li>-->
- <li><a href="https://twitter.com/usergrid"
target="_blank"><span class="icns icon-twitter"></span></a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/usergrid/"
target="_blank"><span class="icns icon-wiki"></span></a></li>
- <li><a href="/releases/"><span class="icns
icon-releases"></span></a></li>
- </ul>
- </nav>
- </div>
- </header>
-
-
-
-<div class="container bf-docs-container">
- <div class="row">
- <div class="col-md-3">
- <div class="bf-sidebar hidden-print" role="complementary">
- <ul class="nav nav-list">
- <li><a
href="/docs/getting-up-and-running-locally/">Getting Up & Running
Locally</a></li>
- <li><a href="/docs/deploy-local/">Deploying to local
Tomcat & Cassandra</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/ugc#usergrid-command-line-ugc"><code>ugc</code>
â the Command-line Client</a></li>
-
- <li class="nav-header"><span>Concepts</span></li>
- <li>
- <a href="/docs/organizations-admins/">Organizations &
Admins</a>
- <ul>
- <li>
- <a href="/docs/applications/">Applications</a>
- <ul>
- <li><a
href="/docs/roles-and-permissions/">Roles & Permissions</a></li>
- <!--<li><a href="#">Queues</a></li>-->
- <li><a
href="/docs/events-and-counters/">Events & Counters</a></li>
- <li><a
href="/docs/relationships/">Relationships (Joins)</a></li>
- <li>
- <a
href="/docs/collections">Collections</a>
- <ul>
- <li><a
href="/docs/query-language/">Query Language</a></li>
- <li><a
href="/docs/users-devices/">Users & Devices</a></li>
- <li><a
href="/docs/groups/">Groups</a></li>
- <li><a
href="/docs/activities/">Activities</a></li>
- <li><a
href="/docs/assets/">Assets</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
-
-
- <li class="nav-header"><span>Usage</span></li>
- <!-- <li>REST API â Coming Soon</li> -->
- <li><a class="icns-apple"
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/ios">iOS
SDK</a></li>
- <li><a class="icns-android"
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/android">Android
SDK</a></li>
- <li><a class="icns-html5" href="">HTML5 / JavaScript
SDK</a></li>
- <li><a class="icns-windows"
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/dotnet">Windows
8 / Windows Phone / .net SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/nodejs">Node.js
module</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/ruby">Ruby
gem</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/ruby-on-rails">Ruby
on Rails gem</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/php">PHP
library</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/tree/master/sdks/java">Java
library</a></li>
-
- <!--<li class="nav-header"><span>Internals</span></li>
- <li>Design & Goals â Coming Soon</li>
- <li>Java Architecture â Coming Soon</li>
- <li>Cassandra Schema â Coming Soon</li>-->
-
- <li class="nav-header"><span>Operations</span></li>
- <!--<li>Deploying â Coming Soon</li>-->
- <!-- <li>Monitoring â Coming Soon</li> -->
- <li><a href="/docs/upgrading/">Upgrading</a></li>
- <!-- <li>Security â Coming Soon</li> -->
-
- <li class="nav-header"><span>Presentations &
Videos</span></li>
- <li><a href="/docs/presentations/">Presentations</a></li>
- <li><a href="/docs/videos/">Videos</a></li>
-
- <li class="nav-header"><span>We need your help!</span></li>
- <li><a href="/docs/contribute-code/">How to Contribute
Code & Docs</a></li>
- <!--
- <li><a href="/docs/contribute-docs">How to contribute
docs</a></li>
- -->
- </ul>
- </div>
- </div>
-
- <div class="col-md-9 main-article" role="main">
- <div class="page-article">
- <div class="page-header">
- <h1>Activity</h1>
- <!-- TODO: reenable this when we sync SVN to GitHub
- <small><a target="_blank"
href="https://github.com/usergrid/website/blob/master/content/docs/activity.md">contribute
to this article on github</a></small>
- -->
- </div>
- <div class="toc">
- <ul>
-<li>
-<a href="#activity">Activity</a><ul>
-<li>
-<a href="#creating-an-activity">Creating an activity</a><ul>
-<li><a href="#request-uri">Request URI</a></li>
-<li><a href="#parameters">Parameters</a></li>
-<li><a href="#example---request">Example - Request</a></li>
-<li><a href="#example---response">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#posting-an-activity-to-a-group">Posting an activity to a
group</a><ul>
-<li><a href="#parameters-1">Parameters</a></li>
-<li><a href="#example---request-1">Example - Request</a></li>
-<li><a href="#example---response-1">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#creating-an-activity-for-a-users-followers-in-a-group">Creating an
activity for a userâs followers in a group</a><ul>
-<li><a href="#request-uri-1">Request URI</a></li>
-<li><a href="#parameters-2">Parameters</a></li>
-<li><a href="#example---request-2">Example - Request</a></li>
-<li><a href="#example---response-2">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#getting-a-users-activities">Getting a userâs activities</a><ul>
-<li><a href="#request-uri-2">Request URI</a></li>
-<li><a href="#parameters-3">Parameters</a></li>
-<li><a href="#example---request-3">Example - Request</a></li>
-<li><a href="#example---response-3">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#getting-a-groups-activities">Getting a groupâs activities</a><ul>
-<li><a href="#request-uri-3">Request URI</a></li>
-<li><a href="#parameters-4">Parameters</a></li>
-<li><a href="#example---request-4">Example - Request</a></li>
-<li><a href="#example---response-4">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#getting-a-users-feed">Getting a userâs feed</a><ul>
-<li><a href="#request-uri-4">Request URI</a></li>
-<li><a href="#parameters-5">Parameters</a></li>
-<li><a href="#example---request-5">Example - Request</a></li>
-<li><a href="#example---response-5">Example - Response</a></li>
-</ul>
-</li>
-<li>
-<a href="#getting-a-groups-feed">Getting a groupâs feed</a><ul>
-<li><a href="#request-uri-5">Request URI</a></li>
-<li><a href="#parameters-6">Parameters</a></li>
-<li><a href="#example---request-6">Example - Request</a></li>
-<li><a href="#example---response-6">Example - Response</a></li>
-</ul>
-</li>
-<li><a href="#activity-properties">Activity properties</a></li>
-<li><a href="#set-property">Set property </a></li>
-<li><a href="#sample-app">Sample app</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<h1 id="activity">Activity</h1>
-<p>Most modern applications struggle to manage data streams, such as those
that contain an ongoing list of comments, activities, and tweets. In
particular, mobile applications are prone to generating very large amounts of
data in a data stream. Beyond that, additions to a data stream must often be
routed automatically to subscribers or filtered or counted.</p>
-<p>App services provides an activity entity that is specifically designed for
data streams. An activity is an entity type that represents activity stream
actions (see the <a href="http://activitystrea.ms/specs/json/1.0/">JSON
Activity Streams 1.0 specification</a> for more information about these
actions).</p>
-<p>When a user creates an activity, it creates a relationship between the
activity and the user who created it. Because this relationship exists, the
activity will appear in the feed of any of the userâs followers. Think of the
Activities endpoint (/users/{uuid|username}/activities) as an âoutboxâ of
news items created by the user. Think of the Feed endpoint
(/users/{uuid|username}/feed) as an âinboxâ of news items meant to be seen
or consumed by the user.</p>
-<p>A user can also post an activity to a group (located at
/groups/{uuid|groupname}/activities). This allows you to emulate Facebook-style
group functionality, where a limited number of users can share content on a
common âwallâ. In any of these cases, there is no need to construct
publish/subscribe relationships manually.</p>
-<p>Activity entities are particularly useful in applications that enable users
to post content to activity streams (also called feeds) and to display activity
streams. Some examples of these applications are Twitter, foursquare, and
Pinterest. For example, when a Twitter user posts a short, 140-character or
less, âtweetâ, that activity gets added to the userâs activity stream for
display as well as to the activity streams of any of the userâs followers.</p>
-<p>Using App services APIs you can create, retrieve, update, and delete
activity entities. See You do not have access to view this node for
descriptions of these APIs.</p>
-<p><strong>Note:</strong>Â Although not shown in the API examples below, you
need to provide a valid access token with each API call. See <a
href="/authenticating-users-and-application-clients">Authenticating users and
application clients</a> for details.</p>
-<h2 id="creating-an-activity" dir="ltr">Creating an activity</h2>
-<p>Use the  POST method to create an activity in the activities
collection.</p>
-<h3 id="request-uri">Request URI</h3>
-<p>POST /{org_id}/{app_id}/users/{uuid|username}/activities {request body}</p>
-<h3 id="parameters">Parameters</h3>
-<table>
-<col width="50%">
-<col width="50%">
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left"><p>arg uuid|string org_id</p></td>
-<td align="left"><p>Organization UUID or organization name</p></td>
-</tr>
-<tr class="even">
-<td align="left"><p>arg uuid|string app_id</p></td>
-<td align="left"><p>Application UUID or application name</p></td>
-</tr>
-<tr class="odd">
-<td align="left"><p>request body</p></td>
-<td align="left">
-<p>One or more sets of activity properties:</p>
-<pre><code>{
-Â Â "actor":
-Â Â Â Â {
-Â Â Â Â "displayName":"John Doe",
-Â Â Â Â "uuid":"1f3567aa-da83-11e1-a</code></pre>
-<p>fad-12313b01d5c1â, Â Â Â Â âusernameâ:âjohn.doeâ, Â Â Â Â
âimageâ:{ Â Â Â Â Â Â âdurationâ:0, Â Â Â Â Â Â âheightâ:80, Â Â Â
   âurlâ:âhttp://www.gravatar .com/avatar/â,âwidthâ:80},  Â
âemailâ:âjohn....@gmail.comâ}, Â Â âverbâ:âpostâ, Â Â
âcontentâ:âHello World!â    }</p>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request">Example - Request</h3>
-<ul>
-<li><a href="#curl_create_activity">cURL</a></li>
-<li><a href="#javascript_create_activity">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_create_activity">Ruby</a></li>
-<li><a href="#nodejs_create_activity">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X POST
"https://api.usergrid.com/my-org/my-app/users/john.doe/activities" -d
'{"actor":{"displayName":"John
Doe","uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1","username":"john.doe",
-"image":{"duration":0,"height":80,"url":"http://www.gravatar.com/avatar/","width":80},
-"email":"john....@gmail.com"},"verb":"post","content":"Hello
World!"}'</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'users/john.doe/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- // success â POST worked. Data will contain raw results from API
call
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app.create_activity { actor: { displayName: 'John Doe', uuid:
'1f3567aa-da83-11e1-afad-12313b01d5c1', username: 'john.doe', image: {
duration: 0, height: 80, url: 'http://www.gravatar.com/avatar/', width: 80 },
email: 'john....@gmail.com' }, verb: 'post', content: 'Hello World!'
}</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'users/john.doe/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- // success â POST worked. Data will contain raw results from API
call
- }
-});</code></pre>
-<h3 id="example---response">Example - Response</h3>
-<pre><code>{
-Â "action" : "post",
-Â "application" : "5111c463-6a42-11e1-b6dd-1231380a0284",
-Â "params" : {
-Â },
-Â "path" : "/users/1f3567aa-da83-11e1-afad-12313b01d5c1/activities",
-Â "uri" :
"https://api.usergrid.com/5111c463-6a42-11e1-b6dd-1231380a0284/users/1f3567aa-da83-11e1-afad-12313b01d5c1/activities",
-Â "entities" : [ {
-Â Â Â "uuid" : "da448955-f3aa-11e1-8042-12313d331ae8",
-Â Â Â "type" : "activity",
-Â Â Â "created" : 1346445092974,
-Â Â Â "modified" : 1346445092974,
-Â Â Â "actor" : {
-Â Â Â Â Â "displayName" : "John Doe",
-Â Â Â Â Â "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
-Â Â Â Â Â "username" : "john.doe",
-Â Â Â Â Â "image" : {
-Â Â Â Â Â Â Â "duration" : 0,
-Â Â Â Â Â Â Â "height" : 80,
-Â Â Â Â Â Â Â "url" : "http://www.gravatar.com/avatar/",
-Â Â Â Â Â Â Â "width" : 80
-Â Â Â Â Â },
-Â Â Â Â Â "email" : "john....@gmail.com"
-Â Â Â },
-Â Â Â "content" : "Hello World!",
-Â Â Â "metadata" : {
-Â Â Â Â Â "path" :
"/users/1f3567aa-da83-11e1-afad-12313b01d5c1/activities/da448955-f3aa-11e1-8042-12313d331ae8"
-Â Â Â },
-Â Â Â "published" : 1346445092974,
-Â Â Â "verb" : "post"
-Â } ],
-Â "timestamp" : 1346445092827,
-Â "duration" : 1406,
-Â "organization": "my-org",
-Â "applicationName": "my-app"
-}</code></pre>
-<p><strong>Note:</strong> Anytime a logged-in user makes a request, you can
substitute âmeâ for the uuid or username. So the format of a request to
create an activity for the currently logged-in user would look like this:</p>
-<p>POST /{org_id}/{app_id}/users/me/activities {request body}</p>
-<p>The users/me endpoint is accessible only if you provide an access token
with the request. If you donât provide an access token with the request, that
is, you make an anonymous (or âguestâ) call, the system will not be able to
determine which user to return as /users/me.</p>
-<p>When you create an activity it creates a relationship between the activity
and the user who created it. In other words, the newly created activity above
belongs to john.doe. Another way of saying this is the user âownsâ the
activity. And because this relationship exists, the activity will appear in the
feed of any of the userâs followers (in this example, anyone who is following
john.doe). However, it will not appear in the feed of people the user follows.
The activity is accessible at the /activites endpoint to users who have the
permission to read that endpoint.</p>
-<p>Notice the properties specified in the request body in the previous example
are <em>actor</em>, <em>verb</em>, and <em>content</em>. The <em>actor</em>,
<em>verb</em>, and <em>content</em> properties are built into the Activity
entity (see <a href="#properties">System-defined activity properties</a>). The
actor property specifies properties of the entity that performs the action
(here, user john.doe). The gravatar URL is used to create an icon for the
activity. And because an Activity is simply an Apache Usergrid entity, you can
also create custom properties.</p>
-<p>The <em>verb</em> parameter is descriptive. You can use it to indicate what
type of activity is posted, for example, an image versus text. The
value<em>post</em> is defined in the JSON Activity Streams specification as
âthe act of authoring an object and then publishing it online.â</p>
-<h2 id="posting-an-activity-to-a-group" dir="ltr">Posting an activity to a
group</h2>
-<p>Use the POST method to post an activity to a specific group. In this case
the activity is created in the activities collection and is accessible at the
/activities endpoint to users who have the permission to read that endpoint. In
addition, a relationship is established between the activity and the group, and
because of that, the activity will appear in the groupâs feed. The group
âownsâ the activity. Also, the activity will be published in the feed of
all users that are members of the group.</p>
-<p>Request URI</p>
-<p>POST /{org_id}/{app_id}/groups/{uuid|groupname}/activities {request
body}</p>
-<h3 id="parameters-1">Parameters</h3>
-<table>
-<col width="50%">
-<col width="50%">
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left"><p>arg uuid|string org_id</p></td>
-<td align="left"><p>Organization UUID or organization name</p></td>
-</tr>
-<tr class="even">
-<td align="left"><p>arg uuid|string app_id</p></td>
-<td align="left"><p>Application UUID or application name</p></td>
-</tr>
-<tr class="odd">
-<td align="left"><p>arg uuid|string groupname</p></td>
-<td align="left"><p>UUID or name of the group</p></td>
-</tr>
-<tr class="even">
-<td align="left"><p>request body</p></td>
-<td align="left">
-<p>One or more sets of activity properties:</p>
-<pre><code>{
-Â Â "actor":
-Â Â Â Â {
-Â Â Â Â "displayName":"John Doe",
-Â Â Â Â "uuid":"1f3567aa-da83-11e1-a</code></pre>
-<p>fad-12313b01d5c1â, Â Â Â Â âusernameâ:âjohn.doeâ, Â Â Â Â
âimageâ:{ Â Â Â Â Â Â âdurationâ:0, Â Â Â Â Â Â âheightâ:80, Â Â Â
   âurlâ:âhttp://www.gravatar .com/avatar/â,âwidthâ:80},  Â
âemailâ:âjohn....@gmail.comâ}, Â Â âverbâ:âpostâ, Â Â
âcontentâ:âHello World!â    }</p>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-1">Example - Request</h3>
-<ul>
-<li><a href="#curl_post_activity_group">cURL</a></li>
-<li><a href="#javascript_post_activity_group">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_post_activity_group">Ruby</a></li>
-<li><a href="#nodejs_post_activity_group">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X POST
"https://api.usergrid.com/my-org/my-app/groups/mygroup/activities" -d
'{"actor":{"displayName":"John
Doe","uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1","username":"john.doe",
-"image":{"duration":0,"height":80,"url":"http://www.gravatar.com/avatar/","width":80},
-"email":"john....@gmail.com"},"verb":"post","content":"Hello
World!"}'</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'groups/mygroup/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- //success â POST worked. Data will contain raw results from API
call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['groups/mygroup/activities'].post { actor:{ displayName: 'John Doe', uuid
: '1f3567aa-da83-11e1-afad-12313b01d5c1', username: 'john.doe', image: {
duration: 0, height: 80, url: 'http://www.gravatar.com/avatar/', width: 80 },
email: 'john....@gmail.com' }, verb: 'post', content: 'Hello World!'
}</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'groups/mygroup/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- //success â POST worked. Data will contain raw results from API
call.
- }
-});</code></pre>
-<p>Because this relationship exists, this activity will appear in the feed of
all users who are members of mygroup. It wonât appear in the feeds of the
group membersâ followers or in feeds of users they follow.</p>
-<h3 id="example---response-1">Example - Response</h3>
-<pre><code>{
- "action": "post",
- "application": "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
- "params": {},
- "path": "/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities",
- "uri":
"https://api.usergrid.com/my-org/my-app/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities",
- "entities": [
- {
- "uuid": "563f5d96-37f3-11e2-a0f7-02e81ae640dc",
- "type": "activity",
- "created": 1353952903811,
- "modified": 1353952903811,
- "actor": {
- "displayName": "John Doe",
- "uuid": "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username": "john.doe",
- "image": {
- "duration": 0,
- "height": 80,
- "url": "http://www.gravatar.com/avatar/",
- "width": 80
- },
- "email": "john....@gmail.com"
- },
- "content": "Hello World!",
- "metadata": {
- "path":
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities/563f5d96-37f3-11e2-a0f7-02e81ae640dc"
- },
- "published": 1353952903811,
- "verb": "post"
- }
- ],
- "timestamp": 1353952903800,
- "duration": 81,
- "organization": "my-org",
- "applicationName": "my-app"</code></pre>
-<h2 id="creating-an-activity-for-a-users-followers-in-a-group"
dir="ltr">Creating an activity for a userâs followers in a group</h2>
-<p>Use the POST method to create an activity that will be published only in
the feeds of users who (1) follow you, and (2) are in the same group to which
you posted the activity. This is useful if you want to create specific groups
of friends (for example, acquaintances or colleagues) and publish content to
them with more precise privacy settings. This allows you to re-create a privacy
model similar to Google+âs Circles or Facebook current privacy system.</p>
-<p>When you create an activity for a userâs followers in a group:</p>
-<ul>
-<li>The activity is accessible at the /activities endpoint to users who have
the permission to read that endpoint. The activity will not be cross-posted to
the groupâs activity endpoint (/groups/{uuid|groupname}/activities)</li>
-<li>A relationship is automatically created between the activity entity that
was just created and the user within that group
(/groups/{uuid|groupname}/users/{uuid|username})</li>
-<li>The user within the group (/groups/{uuid|groupname}/users/{uuid|username})
becomes the owner of the activity (through the owner property in the
activity).</li>
-</ul>
-<h3 id="request-uri-1">Request URI</h3>
-<p>POST
/{org_id}/{app_id}/groups/{uuid|groupname}/users/{uuid|username}/activities
{request body}</p>
-<h3 id="parameters-2">Parameters</h3>
-<table>
-<col width="50%">
-<col width="50%">
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left"><p>arg uuid|string org_id</p></td>
-<td align="left"><p>Organization UUID or organization name</p></td>
-</tr>
-<tr class="even">
-<td align="left"><p>arg uuid|string app_id</p></td>
-<td align="left"><p>Application UUID or application name</p></td>
-</tr>
-<tr class="odd">
-<td align="left"><p>arg uuid|string groupname</p></td>
-<td align="left"><p>UUID or name of the group</p></td>
-</tr>
-<tr class="even">
-<td align="left"><p>arg uuid|string username</p></td>
-<td align="left"><p>UUID or name of the user</p></td>
-</tr>
-<tr class="odd">
-<td align="left"><p>request body</p></td>
-<td align="left">
-<p>One or more sets of activity properties:</p>
-<pre><code>{
-Â Â "actor":
-Â Â Â Â {
-Â Â Â Â "displayName":"John Doe",
-Â Â Â Â "uuid":"1f3567aa-da83-11e1-a</code></pre>
-<p>fad-12313b01d5c1â, Â Â Â Â âusernameâ:âjohn.doeâ, Â Â Â Â
âimageâ:{ Â Â Â Â Â Â âdurationâ:0, Â Â Â Â Â Â âheightâ:80, Â Â Â
   âurlâ:âhttp://www.gravatar .com/avatar/â,âwidthâ:80},  Â
âemailâ:âjohn....@gmail.comâ}, Â Â âverbâ:âpostâ, Â Â
âcontentâ:âHello World!â    }</p>
-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-2">Example - Request</h3>
-<ul>
-<li><a href="#curl_post_activity_user_group">cURL</a></li>
-<li><a href="#javascript_post_activity_user_group">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_post_activity_user_group">Ruby</a></li>
-<li><a href="#nodejs_post_activity_user_group">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X POST
"https://api.usergrid.com/my-org/my-app/groups/mygroup/users/john.doe/activities"
-d '{"actor":{"displayName":"John
Doe","uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1","username":"john.doe",
-"image":{"duration":0,"height":80,"url":"http://www.gravatar.com/avatar/","width":80},
-"email":"john....@gmail.com"},"verb":"post","content":"Hello
World!"}'</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'groups/mygroup/users/john.doe/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- //success â POST worked. Data will contain raw results from API
call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['groups/mygroup/users/john.doe/activities'].post { actor:{ displayName:
'John Doe', uuid : '1f3567aa-da83-11e1-afad-12313b01d5c1', username:
'john.doe', image: { duration: 0, height: 80, url:
'http://www.gravatar.com/avatar/', width: 80 }, email: 'john....@gmail.com' },
verb: 'post', content: 'Hello World!' }</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'POST',
- endpoint:'groups/mygroup/users/john.doe/activities',
- body:{"actor":
- {"displayName":"John Doe",
- "uuid":"1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username":"john.doe",
- "image":
- {"duration":0,
- "height":80,
- "url":"http://www.gravatar.com/avatar/",
- "width":80},
- "email":"john....@gmail.com"},
- "verb":"post",
- "content":"Hello World!"}
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â POST failed
- } else {
- //success â POST worked. Data will contain raw results from API
call.
- }
-});</code></pre>
-<p>Because this relationship exists, this activity will appear in the feed of
all users who are members of mygroup. It wonât appear in the feeds of the
group membersâ followers or in feeds of users they follow.</p>
-<h3 id="example---response-2">Example - Response</h3>
-<pre><code>{
- "action" : "post",
- "application" : "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
- "params" : { },
- "path" :
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities",
- "uri" : "https://api.usergrid.com/my-org/my-app/
-/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities",
- "entities" : [ {
- "uuid" : "2440ca58-49ff-11e2-84c0-02e81adcf3d0",
- "type" : "activity",
- "created" : 1355937094825,
- "modified" : 1355937094825,
- "actor" : {
- "displayName" : "John Doe",
- "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "username" : "john.doe",
- "image" : {
- "duration" : 0,
- "height" : 80,
- "url" : "http://www.gravatar.com/avatar/",
- "width" : 80
- },
- "email" : "john....@gmail.com"
- },
- "content" : "Happy New Year!",
- "metadata" : {
- "path" :
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities/2440ca58-49ff-11e2-84c0-02e81adcf3d0"
- },
- "published" : 1355937094825,
- "verb" : "post"
- } ],
- "timestamp" : 1355937094789,
- "duration" : 95,
- "organization" : "my-org",
- "applicationName" : "my-app"</code></pre>
-<h2 id="getting-a-users-activities" dir="ltr">Getting a userâs
activities</h2>
-<p>Use the GET method to retrieve a userâs activities. This returns the
activities posted on the user (that is, to /users/{uuid|username}/activities),
but not the activities of the people that user follows. To retrieve the
userâs activities and activities of the users he follows, you need to get the
userâs feed.</p>
-<h3 id="request-uri-2">Request URI</h3>
-<p>GET /{org_id}/{app_id}/users/{uuid|username}/activities</p>
-<h3 id="parameters-3">Parameters</h3>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">arg uuid|string org_id</td>
-<td align="left">Organization UUID or organization name</td>
-</tr>
-<tr class="even">
-<td align="left">arg uuid|string app_id</td>
-<td align="left">Application UUID or application name</td>
-</tr>
-<tr class="odd">
-<td align="left">arg uuid|string username</td>
-<td align="left">UUID or name of the user</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-3">Example - Request</h3>
-<ul>
-<li><a href="#curl_get_user_activities">cURL</a></li>
-<li><a href="#javascript_get_user_activities">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_get_user_activities">Ruby</a></li>
-<li><a href="#nodejs_get_user_activities">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X GET
"https://api.usergrid.com/my-org/my-app/users/john.doe/activities"</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'users/john.doe/activities'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['users/john.doe/activities'].get</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'users/john.doe/activities'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<h3 id="example---response-3">Example - Response</h3>
-<pre><code>{
- "action" : "get",
- "application" : "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
- "params" : { },
- "path" : "/users/5c0c1789-d503-11e1-b36a-12313b01d5c1/activities",
- "uri" :
"https://api.usergrid.com/my-org/my-app/users/5c0c1789-d503-11e1-b36a-12313b01d5c1/activities",
- "entities" : [ {
- "uuid" : "d57e5b00-37f1-11e2-a0f7-02e81ae640dc",
- "type" : "activity",
- "created" : 1353952258301,
- "modified" : 1353952258301,
- "actor" : {
- "displayName" : "John Doe",
- "image" : {
- "duration" : 0,
- "height" : 80,
- "url" : "http://www.gravatar.com/avatar/",
- "width" : 80
- },
- "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "email" : "john....@gmail.com",
- "username" : "john.doe"
- },
- "content" : "Hello World!",
- "metadata" : {
- "path" :
"/users/5c0c1789-d503-11e1-b36a-12313b01d5c1/activities/d57e5b00-37f1-11e2-a0f7-02e81ae640dc"
- },
- "published" : 1353952258301,
- "verb" : "post"
- },
- "timestamp" : 1355933909077,
- "duration" : 39,
- "organization" : "my-org",
- "applicationName" : "my-app"}</code></pre>
-<h2 id="getting-a-groups-activities" dir="ltr">Getting a groupâs
activities</h2>
-<p>Use the GET method to retrieve a groupâs activities. This returns the
activities created on or by the group (that is, to
/groups/{uuid|groupname}/activities), but not the activities of followers of
group members. To retrieve the groupâs activities and activities of
followers, you need to get the groupâs feed.</p>
-<h3 id="request-uri-3">Request URI</h3>
-<p>GET /{org_id}/{app_id}/groups/{uuid|groupname}/activities</p>
-<h3 id="parameters-4">Parameters</h3>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">arg uuid|string org_id</td>
-<td align="left">Organization UUID or organization name</td>
-</tr>
-<tr class="even">
-<td align="left">arg uuid|string app_id</td>
-<td align="left">Application UUID or application name</td>
-</tr>
-<tr class="odd">
-<td align="left">arg uuid|string groupname</td>
-<td align="left">UUID or name of the group</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-4">Example - Request</h3>
-<ul>
-<li><a href="#curl_get_group_activities">cURL</a></li>
-<li><a href="#javascript_get_group_activities">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_get_group_activities">Ruby</a></li>
-<li><a href="#nodejs_get_group_activities">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X GET
"https://api.usergrid.com/my-org/my-app/groups/mygroup/activities"</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'groups/mygroup/activities'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['groups/mygroup/activities'].get</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'groups/mygroup/activities'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<h3 id="example---response-4">Example - Response</h3>
-<pre><code>{
- "action" : "get",
- "application" : "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
- "params" : { },
- "path" : "/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities",
- "uri" :
"https://api.usergrid.com/my-org/my-app//groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities",
- "entities" : [ {
- "uuid" : "e7a47a41-4310-11e2-8861-02e81adcf3d0",
- "type" : "activity",
- "created" : 1355175065939,
- "modified" : 1355175065939,
- "actor" : {
- "displayName" : "Martin Smith",
- "id" : "tag:example.org,2011:martin",
- "image" : {
- "duration" : 0,
- "height" : 250,
- "url" : "http://example.org/martin/image",
- "width" : 250
- },
- "objectType" : "person",
- "url" : "http://example.org/martin"
- },
- "metadata" : {
- "path" :
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities/e7a47a41-4310-11e2-8861-02e81adcf3d0"
- },
- "object" : {
- "id" : "tag:example.org,2011:abc123/xyz",
- "url" : "http://example.org/blog/2011/02/entry"
- },
- "published" : 1355175065939,
- "target" : {
- "url" : "http://example.org/blog/",
- "objectType" : "blog",
- "id" : "tag:example.org,2011:abc123",
- "displayName" : "Martin's Blog"
- },
- "verb" : "post"
- }, {
- "uuid" : "563f5d96-37f3-11e2-a0f7-02e81ae640dc",
- "type" : "activity",
- "created" : 1353952903811,
- "modified" : 1353952903811,
- "actor" : {
- "displayName" : "John Doe",
- "image" : {
- "duration" : 0,
- "height" : 80,
- "url" : "http://www.gravatar.com/avatar/",
- "width" : 80
- },
- "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "email" : "john....@gmail.com",
- "username" : "john.doe"
- },
- "content" : "Hello World!",
- "metadata" : {
- "path" :
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/activities/563f5d96-37f3-11e2-a0f7-02e81ae640dc"
- },
- "published" : 1353952903811,
- "verb" : "post"
- } ],
- "timestamp" : 1355934203039,
- "duration" : 141,
- "organization" : "my-org",
- "applicationName" : "my-app"
-}</code></pre>
-<h2 id="getting-a-users-feed" dir="ltr">Getting a userâs feed</h2>
-<p>Use the GET method to retrieve a userâs feed.</p>
-<h3 id="request-uri-4">Request URI</h3>
-<p>GET /{org_id}/{app_id}/users/{uuid|username}/feed</p>
-<h3 id="parameters-5">Parameters</h3>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">arg uuid|string org_id</td>
-<td align="left">Organization UUID or organization name</td>
-</tr>
-<tr class="even">
-<td align="left">arg uuid|string app_id</td>
-<td align="left">Application UUID or application name</td>
-</tr>
-<tr class="odd">
-<td align="left">arg uuid|string username</td>
-<td align="left">UUID or name of the user</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-5">Example - Request</h3>
-<ul>
-<li><a href="#curl_get_user_feed">cURL</a></li>
-<li><a href="#javascript_get_user_feed">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_get_user_feed">Ruby</a></li>
-<li><a href="#nodejs_get_user_feed">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X GET
"https://api.usergrid.com/my-org/my-app/users/john.doe/feed"</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'users/john.doe/feed'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['users/john.doe/feed'].get</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'users/john.doe/feed'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<h3 id="example---response-5">Example - Response</h3>
-<pre><code>{
- "action" : "get",
- "application" : "5111c463-6a42-11e1-b6dd-1231380a0284",
- "params" : {
- "_" : [ "1346438183429" ]
- },
- "path" : "/users/1f3567aa-da83-11e1-afad-12313b01d5c1/feed",
- "uri" :
"https://api.usergrid.com/5111c463-6a42-11e1-b6dd-1231380a0284/users/1f3567aa-da83-11e1-afad-12313b01d5c1/feed",
- "entities" : [ {
- "uuid" : "ffd79647-f399-11e1-aec3-12313b06ae01",
- "type" : "activity",
- "created" : 1346437854569,
- "modified" : 1346437854569,
- "actor" : {
- "displayName" : "John Doe",
- "image" : {
- "duration" : 0,
- "height" : 80,
- "url" : "http://www.gravatar.com/avatar/",
- "width" : 80
- },
- "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "email" : "john....@gmail.com",
- "username" : "john.doe"
- },
- "content" : "Hello World!",
- "metadata" : {
- "cursor" :
"gGkAAQMAgGkABgE5ffM1aQCAdQAQ_9eWR_OZEeGuwxIxOwauAQCAdQAQABlaOvOaEeGuwxIxOwauAQA",
- "path" :
"/users/1f3567aa-da83-11e1-afad-12313b01d5c1/feed/ffd79647-f399-11e1-aec3-12313b06ae01"
- },
- "published" : 1346437854569,
- "verb" : "post"
- }, {
- "uuid" : "2482a1c5-e7d0-11e1-96f6-12313b06d112",
- "type" : "activity",
- "created" : 1345141694958,
- "modified" : 1345141694958,
- "actor" : {
- "displayName" : "moab",
- "image" : {
- "duration" : 0,
- "height" : 80,
- "url" : "http://www.gravatar.com/avatar/",
- "width" : 80
- },
- "uuid" : "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "email" : "masso...@mfdsadfdsaoabl.com",
- "username" : "moab"
- },
- "content" : "checking in code left and right!!",
- "metadata" : {
- "cursor" :
"gGkAAQMAgGkABgE5MLFh7gCAdQAQJIKhxefQEeGW9hIxOwbREgCAdQAQJNEP6ufQEeGW9hIxOwbREgA",
- "path" :
"/users/1f3567aa-da83-11e1-afad-12313b01d5c1/feed/2482a1c5-e7d0-11e1-96f6-12313b06d112"
- },
- "published" : 1345141694958,
- "verb" : "post"
- } ],
- "timestamp" : 1346438331316,
- "duration" : 144,
- "organization": "my-org",
- "applicationName": "my-app"
-}</code></pre>
-<p>When a user creates an activity, a relationship is established between the
activity and the user who created it. The activities in the userâs feed are
based on this relationship as well as  any following relationships that the
user has, and any groups in which the user belongs. So when a user asks to get
his feed, what he gets is a list of (1) all the activities that the user owns,
(2) all the activities posted by any users this user is following, and (3) any
activities owned by any groups in which this user belongs.</p>
-<p>The user john.doeâs feed includes activities posted by user moab because
john.doe follows moab.</p>
-<h2 id="getting-a-groups-feed" dir="ltr">Getting a groupâs feed</h2>
-<p>Use the GET method to retrieve the feed for a group. This gets a list of
all the activities that have been posted to this group, that is, the activities
for which this group has a relationship (owns).</p>
-<h3 id="request-uri-5">Request URI</h3>
-<p>GET /{org_id}/{app_id}/groups/{uuid|groupname}/feed</p>
-<h3 id="parameters-6">Parameters</h3>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Parameter</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">arg uuid|string org_id</td>
-<td align="left">Organization UUID or organization name</td>
-</tr>
-<tr class="even">
-<td align="left">arg uuid|string app_id</td>
-<td align="left">Application UUID or application name</td>
-</tr>
-<tr class="odd">
-<td align="left">arg uuid|string groupname</td>
-<td align="left">UUID or name of the group</td>
-</tr>
-</tbody>
-</table>
-<h3 id="example---request-6">Example - Request</h3>
-<ul>
-<li><a href="#curl_get_group_feed">cURL</a></li>
-<li><a href="#javascript_get_group_feed">JavaScript (HTML5)</a></li>
-<li><a href="#ruby_get_group_feed">Ruby</a></li>
-<li><a href="#nodejs_get_group_feed">Node.js</a></li>
-</ul>
-<!-- -->
-
-<pre><code>curl -X GET
"https://api.usergrid.com/my-org/my-app/groups/mygroup/feed"</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-javascript-sdk">JavaScript (HTML5)
SDK</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'groups/mygroup/feed'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success â GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/scottganyo/usergrid_iron">Ruby SDK</a>.</p>
-<pre><code>app = Usergrid::Application.new
'https://api.usergrid.com/my-org/my-app/'
-app['groups/mygroup/feed'].get</code></pre>
-<p>The example assumes use of the <a
href="https://github.com/apigee/usergrid-node-module">Node.js module</a>.</p>
-<pre><code>var options = {
- method:'GET',
- endpoint:'groups/mygroup/feed'
-};
-client.request(options, function (err, data) {
- if (err) {
- //error â GET failed
- } else {
- //success â GET worked. Data will contain raw results from API call.
- }
-});</code></pre>
-<h3 id="example---response-6">Example - Response</h3>
-<pre><code>{
- "action": "get",
- "application": "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
- "params": {},
- "path": "/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/feed",
- "uri":
"https://api.usergrid.com/my-org/my-app/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/feed",
- "entities": [
- {
- "uuid": "563f5d96-37f3-11e2-a0f7-02e81ae640dc",
- "type": "activity",
- "created": 1353952903811,
- "modified": 1353952903811,
- "actor": {
- "displayName": "John Doe",
- "image": {
- "duration": 0,
- "height": 80,
- "url": "http://www.gravatar.com/avatar/",
- "width": 80
- },
- "uuid": "1f3567aa-da83-11e1-afad-12313b01d5c1",
- "email": "john....@gmail.com",
- "username": "john.doe"
- },
- "content": "Hello World!",
- "metadata": {
- "cursor":
"gGkAAQMAgGkABgE7PeHCgwCAdQAQVj9dljfzEeKg9wLoGuZA3ACAdQAQVkVRCTfzEeKg9wLoGuZA3AA",
- "path":
"/groups/d87edec7-fc4d-11e1-9917-12313d1520f1/feed/563f5d96-37f3-11e2-a0f7-02e81ae640dc"
- },
- "published": 1353952903811,
- "verb": "post"
- }
- ],
- "timestamp": 1353953272756,
- "duration": 29,
- "organization": "my-org",
- "applicationName": "my-app"</code></pre>
-<h2 id="activity-properties">Activity properties</h2>
-<p>The following are the system-defined properties for activity entities. You
can create application-specific properties for an activity entity in addition
to the system-defined properties. The system-defined properties are reserved.
You cannot use these names to create other properties for an activity entity.
In addition the activities name is reserved for the activities collection â
you canât use it to name another collection.</p>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Property</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">uuid</td>
-<td align="left">UUID</td>
-<td align="left">Activityâs unique entity ID</td>
-</tr>
-<tr class="even">
-<td align="left">type</td>
-<td align="left">string</td>
-<td align="left">âactivityâ</td>
-</tr>
-<tr class="odd">
-<td align="left">created</td>
-<td align="left">long</td>
-<td align="left">
-<a href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity
creation</td>
-</tr>
-<tr class="even">
-<td align="left">modified</td>
-<td align="left">long</td>
-<td align="left">
-<a href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity
modification</td>
-</tr>
-<tr class="odd">
-<td align="left">actor</td>
-<td align="left">ActivityObject</td>
-<td align="left">Entity that performs the action of the activity (see <a
href="http://activitystrea.ms/specs/json/1.0/">JSON Activity Streams 1.0
specification</a>)</td>
-</tr>
-<tr class="even">
-<td align="left">content</td>
-<td align="left">string</td>
-<td align="left">Description of the activity</td>
-</tr>
-<tr class="odd">
-<td align="left">icon</td>
-<td align="left">MediaLink</td>
-<td align="left">Visual representation of a media link resource (see <a
href="http://activitystrea.ms/specs/json/1.0/">JSON Activity Streams 1.0
specification</a>)</td>
-</tr>
-<tr class="even">
-<td align="left">category</td>
-<td align="left">string</td>
-<td align="left">Category used to organize activities</td>
-</tr>
-<tr class="odd">
-<td align="left">verb</td>
-<td align="left">string</td>
-<td align="left">Action that the actor performs (for example,
<em>post</em>)</td>
-</tr>
-<tr class="even">
-<td align="left">published</td>
-<td align="left">long</td>
-<td align="left">
-<a href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> when the
activity was published</td>
-</tr>
-<tr class="odd">
-<td align="left">object</td>
-<td align="left">ActivityObject</td>
-<td align="left">Object on which the action is performed (see <a
href="http://activitystrea.ms/specs/json/1.0/">JSON Activity Streams 1.0
specification</a>)</td>
-</tr>
-<tr class="even">
-<td align="left">title</td>
-<td align="left">string</td>
-<td align="left">Title or headline for the activity</td>
-</tr>
-</tbody>
-</table>
-<h2 id="set-property">Set property </h2>
-<p>Activities have the following set property.</p>
-<table>
-<thead>
-<tr class="header">
-<th align="left">Set</th>
-<th align="left">Type</th>
-<th align="left">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td align="left">connections</td>
-<td align="left">string</td>
-<td align="left">Set of connections for the activity</td>
-</tr>
-</tbody>
-</table>
-<p>Â </p>
-<h2 id="sample-app">Sample app</h2>
-<p>The Messagee sample app is a simple Twitter-style messaging application
that leverages the activity stream functionality of App services. The source
for the application is available in HTML5 (JavaScript), iOS, and Android. You
can download the source from github at:</p>
-<ul>
-<li>
-<a
href="https://github.com/apigee/usergrid-sample-html5-messagee">https://github.com/apigee/usergrid-sample-html5-messagee</a>
 (HTML5)</li>
-<li>
-<a
href="https://github.com/apache/incubator-usergrid-sample-ios-messagee">https://github.com/apache/incubator-usergrid-sample-ios-messagee</a>
(iOS)</li>
-<li>
-<a
href="https://github.com/apigee/usergrid-sample-android-messagee">https://github.com/apigee/usergrid-sample-android-messagee</a>
(Android)</li>
-</ul>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-3"></div>
- <div class="col-md-9">
- <div class="github-callout">
- <strong>Questions?</strong> Please do <a href="/community">ask
on the mailing-lists</a>!<br/>
- <!--
- <strong>Found an error?</strong> Weâd greatly appreciate a
pull request about <a target="_blank"
href="https://github.com/usergrid/website/blob/master/content/docs/activity.md">this
article on github</a>.</div>
- -->
- </div>
- </div>
- </div>
-</div>
-
-
-<footer class="bf-footer" role="contentinfo">
- <div class="container">
- <div class="row">
- <div class="col-md-2">
- <ul class="nav nav-list">
- <li class="nav-header"><a href="/">Home</a></li>
- <li class="nav-header"><a
href="/community/">Community</a></li>
- <li><a href="/community/#events">Events</a></li>
- <li><a href="/community/#mailing-lists">Mailing
Lists</a></li>
- <li><a
href="/community/#deployments">Deployments</a></li>
- <li><a href="/community/#committers">Commiters</a></li>
- </ul>
- </div>
- <div class="col-md-2">
- <ul class="nav nav-list">
- <li class="nav-header"><a
href="https://github.com/apache/incubator-usergrid/"
target="_blank">Code</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/stack"
target="_blank">Server Stack</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/portal"
target="_blank">Admin Portal</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/ugc"
target="_blank">ugc command line</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/ios"
target="_blank">iOS SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/android"
target="_blank">Android SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/html5-javascript"
target="_blank">HTML5/JS SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/nodejs"
target="_blank">node.js module</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/ruby-on-rails"
target="_blank">Ruby on Rails gem</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/ruby"
target="_blank">Ruby gem</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/php"
target="_blank">PHP SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/java"
target="_blank">Java SDK</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/sdks/dotnet"
target="_blank">.NET / Windows SDK</a></li>
- </ul>
- </div>
- <div class="col-md-2">
- <ul class="nav nav-list">
- <li class="nav-header">Resources</li>
- <li><a href="http://github.com/apache/incubator-usergrid"
target="_blank">GitHub Code</a></li>
- <li><a href="http://usergrid.readthedocs.org/"
target="_blank">Docs</a></li>
- <li><a
href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=23&view=planning&selectedIssue=USERGRID-362&epics=visible"
target="_blank">JIRA Bug Tracker</a></li>
- <li><a href="http://stackoverflow.com/search?q=usergrid"
target="_blank">StackOverflow</a></li>
- <li><a href="/community/#live">Live Chat</a></li>
- <li><a href="https://twitter.com/usergrid"
target="_blank">Twitter</a></li>
- <li><a
href="http://incubator.apache.org/projects/usergrid.html"
target="_blank">Podling Listing</a></li>
- <li><a
href="https://github.com/apache/incubator-usergrid/blob/master/stack#requirements"
target="_blank">Getting Started</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/usergrid/GitHub+Based+Contribution+Workflow"
target="_blank">Contribution Guidelines</a></li>
- </ul>
- </div>
- <div class="col-md-2">
- <ul class="nav nav-list">
- <li class="nav-header">Apache</li>
- <li><a href="http://www.apache.org/licenses/"
target="_blank">License</a></li>
- <li><a
href="http://www.apache.org/foundation/sponsorship.html"
target="_blank">Sponsorship</a></li>
- <li><a href="http://www.apache.org/foundation/thanks.html"
target="_blank">Thanks</a></li>
- <li><a
href="http://www.apache.org/security/">Security</a></li>
- <li><a href="http://www.apache.org/"
target="_blank">Apache Foundation</a></li>
- </ul>
- </div>
- <div class="col-md-4">
- <a class="twitter-timeline"
href="https://twitter.com/search?q=%23usergrid"
data-widget-id="401499136807038976" data-related="usergrid" height="400px"
style="overflow:hidden">Tweets about "usergrid"</a>
- <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
- </div>
- <!--
- <div class="col-md-4">
- <div class="input-group form-search">
- <input type="text" class="form-control search-query">
- <span class="input-group-btn">
- <button type="submit" class="btn btn-primary"
data-type="last">Search</button>
- </span>
- </div>
- </div> -->
- </div>
- <div class="row">
- <div id="copyright">
- <img src="/img/egg-logo.png" /><br/><br/>
- <p>Apache Usergrid is an effort undergoing incubation at The
Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness or
stability of the code, it does indicate that the project has yet to be fully
endorsed by the ASF.</p>
- <p>Copyright © 2013 The Apache Software Foundation, Licensed
under the Apache License, Version 2.0.<br>
- Apache and the Apache feather logos are trademarks of The
Apache Software Foundation.</p>
- <p class="credits">Site designed & assembled with love by <a
href="https://github.com/ryuneeee">@ryuneeee</a> + <a
href="https://github.com/realbeast">@realbeast</a> + <a
href="https://twitter.com/timanglade">@timanglade</a>.</p>
- </div>
- </div>
- </div>
-</footer>
-
-<script type="text/javascript" src="/js/head.js"></script>
-<script type="text/javascript">
- head.js("/js/jquery-1.10.1.min.js", "/js/bootstrap.min.js",
"/js/usergrid-site.js");
-</script>
-<script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
-
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
- ga('create', 'UA-45815079-1', 'apache.org');
- ga('send', 'pageview');
-
-</script>
-
-
-
-</body>
-</html>