Every concept in Oahu is stored and accessible as an Object.

Those objects interact with each other to create value for you and your users.

Clients (That’s You !)

A Client is a root object, to which are associated all the other objects.

It can own :

  • One or several Projects, allowing to silo the Client’s content and applications
  • One or several Publication Accounts (PubAccounts)
  • One or several Applications, allowing to silo the users’s activities.


A Project is an object that owns Resources, Applications and Publication Accounts.

A Project will be able to publish Resources to its Publication Accounts, aggregate Statistics, and serve Applications to Users

A Project unites your applications and content as a self contained logical entity.


Resources are media content associated to a project. The following types are defined :

  • Images
  • Videos
  • ImageLists
  • VideoLists

Resources can be Published to Social Networks, used in Applications, instanciated as Widgets, or shown in iframe and standalone html pages.

Statistics are aggregated to those objects, so you can get high-level overview of the performance of a unit of contents across multiple web presences.


The end-users of the platform are represented by Accounts, owning one or more Provider Accounts.

Those Provider Accounts represent a link to a social network, created when a user accepts the Oahu application for this network.

We support authentication for the following networks :

  • Facebook
  • Twitter
  • OpenID Providers

For each Account, only one Provider Account of a given type can be associated. If the user links a new Provider Account of a type already linked to his Account, the previous one will be replaced.


An application is the channel through which the end-user will interact with Oahu for a given campaign It can be owned by a Project or a Client, and is scoped to its owner.

If an Application belongs to a Project, it will not be able to access a Client’s content for example.

Applications are the heart of the platform’s services, and the owner of several object types. They also categorize a Player’s actions and allow easier retreival. Every Activity generated on the platform will be owned by an Application


When a user interacts with an Application, a Player is automatically created, and associated to his Account and the Application.

This Player will be the owner of all the data and actions created for the current Application

Many actions of a Player will generate Activities, such as Sharing, Viewing (a video), Winning a Badge, Liking stuff, and so on…

Those activities will be scoped to the Application for the current page.

Publication Accounts

A Project (or a Client) can own several Publication Accounts.

We handle the publication of contents to the following places :

  • Facebook Wall
  • Twitter
  • YouTube

An administrator can use Oahu’s Backend to Publish contents to a Publication Account.

Several features are available, such as automatic video transcoding, image resizing, Album management, Scheduled publication, automatic retries and so on…

When a content is published through Oahu, the public’s activity pertaining to this content is tracked by Oahu and aggregated, allowing the administrator to monitor the Views, Shares, Replies, Retweets, Comments, from Oahu, moderate them, and access individual and aggregated Statistics.

All of those Publications, and the social activity they generate create Activites on the platform, associated to the Client and the Project, and is available to request in the Activity Feeds for an Application.


Activities are “stories” about an event on the platform.
They are automatically created.

Publishing a Resource on a network, A user earning a badge, sharing something, playing a game will all generate activities.

Those Activities are aggregated as Activity Feeds, that can be customized and displayed in numerous ways.

Activity feeds can be generic, or personalized.

For more information, see Activities

Game Objects

A set of objects pertaining to the Gamification api. When setting up your application, you can create those objects and define how players interact with those.

Game objects are : Achievements, Badges, Currencies, and Equipments, and User-generated content

For more information, see the Games Reference