OpenSocial, Meet the Enterprise

Sure, OpenSocial has mostly focused on consumery stuff — Ning, MySpace, Orkut — and that's cool, but it has great potential behind the firewall. Atlassian is leading the charge here, using OpenSocial to help our products exchange data and components, and opening the door to new types of interoperability between enterprise and consumer systems.

JIRA Dashboard

Atlassian and OpenSocial

Atlassian is taking OpenSocial behind the firewall and into the enterprise. We are embracing dashboards and OpenSocial gadgets as a method of integration between our own products and between other enterprise software, and also as a mechanism to inject functionality and information from Atlassian products into other OpenSocial-compliant containers on the Internet, like Gmail or iGoogle.

Atlassian recognises that team software development and collaboration is inherently social. We are investing in the capabilities OpenSocial provides to increase the awareness of activity across software development teams — from filing a bug to writing code — and helping those teams become more effective.

OpenSocial

The OpenSocial 'stack' provides a comprehensive set of application programming interfaces (APIs) that help developers create social applications, improve interoperability between applications and accelerate the portability of web-based components. Atlassian has implemented OpenSocial through Shindig as a series of Plugins 2 plugins. JIRA 4 is the first Atlassian product to support this plugin.

JIRA

JIRA 4 is the first OpenSocial Gadgets container in our portfolio. JIRA has implemented OpenSocial through Shindig as a series of Atlassian Plugins 2 plugins, called the Atlassian Gadgets plugins.

JIRA produces Gadgets that can be displayed by other OpenSocial-compliant containers, including Confluence, iGoogle and Gmail.

JIRA JIRA
JIRA JIRA JIRA

Confluence

Beginning with Confluence 3.1, Confluence becomes an OpenSocial Gadgets container able to display Gadgets within any page. Administrators first register Gadgets via the administrative interface. Users can then browse all available Gadgets and insert them into the page through a visual interface.

Beginning with Confluence 3.1, Confluence also joins other products in the portfolio as a gadget producer. Confluence produces an Activity Stream Gadget, which displays a summary of recent activity in your Confluence site, and a QuickNav Gadget, which lets you search your Confluence site while offering suggested results as you type.

Confluence
Confluence

FishEye

FishEye 2.0 and later exposes OpenSocial gadgets and supports creation of new gadgets via its REST API.

Confluence
FishEye

Crucible

Crucible 2.0 and later exposes OpenSocial gadgets and supports creation of new gadgets via its REST API.

Crucible

Bamboo

Bamboo 2.3 and later exposes OpenSocial gadgets and supports creation of new gadgets via its REST API.

Clover

Clover 2.6 and later can be integrated with Bamboo in a single click, and provides a Clover Coverage gadget showing code coverage reports for recent builds.

Clover

GreenHopper

GreenHopper exposes OpenSocial gadgets for agile software development with JIRA.

Generic OpenSocial

This diagram shows the standard high-level technical architecture of OpenSocial Gadgets. A Gadget Hosting Server is any web server that hosts a Gadget Spec XML file. The Gadget Rendering Server is responsible for tranforming the Gadget Spec into HTML. A Container is any application that puts a Gadget in one of its Web pages. Gadgets can make request to Backend Applications by proxying requests through the Rendering Server using OpenSocial's JavaScript API.

OpenSocial @Atlassian

This diagram shows the high-level technical architecture of OpenSocial Gadgest mapped to Atlassian applications. Each of the OpenSocial components — Gadget Hosting Server, Rending Server and Container — are implemented as Atlassian Plugins. An Atlassian application — JIRA, as an example — can act as both a Gadget Hosting Server and Container. Atlassian applictions can have different roles as well. For example, Bamboo can act as a Gadget Hosting Server and provide a Bamboo Build Status Gadget that JIRA renders and displays on its dashboard.

Request Detail

This diagram shows what happens when a browser requests content from an Atlassian application that can render Gadgets. It details the flow of information from the initial browser request to the Gadget Hosting Server through to the web service that provides data for the Gadget to display. All requests are made over HTTP.