Atlassian is unveiling a new dashboard that will be added to all of our products, based on the OpenSocial specification. This session explores Atlassian's use of OpenSocial, and details the new Atlassian dashboards and Gadgets.
Atlassian Speaker: Tim Moore
Key Takeaways:
* Overview of OpenSocial
* Deep-dive on Atlassian dashboards and Gadgets
* Demos, how-tos and more
35. What Do You
Need to Know?
A Dashboard Dissected
36. What Do You
Need to Know?
A Dashboard Dissected
Anatomy of a Gadget
37. What Do You
Need to Know?
A Dashboard Dissected
Anatomy of a Gadget
Requesting Data from Web
Services
38. What Do You
Need to Know?
A Dashboard Dissected
Anatomy of a Gadget
Requesting Data from Web
Services
Gadgets in an Atlassian Plugin
39. What Do You
Need to Know?
A Dashboard Dissected
Anatomy of a Gadget
Requesting Data from Web
Services
Gadgets in an Atlassian Plugin
Where to Go to Learn More
50. Anatomy of a Gadget
XML Spec File
• Metadata, HTML Content, and JavaScript
51. Anatomy of a Gadget
XML Spec File
• Metadata, HTML Content, and JavaScript
Core JavaScript API
• Access Preferences, Make Requests
52. Anatomy of a Gadget
XML Spec File
• Metadata, HTML Content, and JavaScript
Core JavaScript API
• Access Preferences, Make Requests
Gadget Features
• Additional, Optional Capabilities & APIs
62. JavaScript
// Create minimessage factory
var msg = new gadgets.MiniMessage();
// Show a small loading message to the user
var loadMessage = msg.createStaticMessage(quot;loading...quot;);
// Get configured user prefs
var prefs = new gadgets.Prefs();
var showDate = prefs.getBool(quot;show_datequot;);
var showSummary = prefs.getBool(quot;show_summquot;);
var numEntries = prefs.getInt(quot;num_entriesquot;);
// Fetch issues when the gadget loads
gadgets.util.registerOnLoadHandler(fetchIssues);
63. JavaScript
// Create minimessage factory
var msg = new gadgets.MiniMessage();
// Show a small loading message to the user
var loadMessage = msg.createStaticMessage(quot;loading...quot;);
// Get configured user prefs
var prefs = new gadgets.Prefs();
var showDate = prefs.getBool(quot;show_datequot;);
var showSummary = prefs.getBool(quot;show_summquot;);
var numEntries = prefs.getInt(quot;num_entriesquot;);
// Fetch issues when the gadget loads
gadgets.util.registerOnLoadHandler(fetchIssues);
64. JavaScript
// Create minimessage factory
var msg = new gadgets.MiniMessage();
// Show a small loading message to the user
var loadMessage = msg.createStaticMessage(quot;loading...quot;);
// Get configured user prefs
var prefs = new gadgets.Prefs();
var showDate = prefs.getBool(quot;show_datequot;);
var showSummary = prefs.getBool(quot;show_summquot;);
var numEntries = prefs.getInt(quot;num_entriesquot;);
// Fetch issues when the gadget loads
gadgets.util.registerOnLoadHandler(fetchIssues);
100. What Can You Call from
a Gadget Plugin?
Existing URLs and REST APIs —
no Java needed!
101. What Can You Call from
a Gadget Plugin?
Existing URLs and REST APIs —
no Java needed!
Custom servlet or WebWork
plugins
102. What Can You Call from
a Gadget Plugin?
Existing URLs and REST APIs —
no Java needed!
Custom servlet or WebWork
plugins
Atlassian REST Plugin Module
Type
109. If You Donʼt Remember
Anything Else…
Atlassian Dashboards are composed of Gadgets
Atlassian Gadgets are OpenSocial Gadgets
Gadgets are HTML, CSS, & JavaScript mini-apps that
can be displayed in many containers
Gadgets are defined by a static XML spec file
Gadgets make use of web services via
gadgets.io.makeRequest
Gadgets can be packaged in Atlassian Plugins for
improved portability and integration