SlideShare a Scribd company logo
OpenSocial Gadgets
& Eclipse
Benjamin Cabé
<bcabe@sierrawireless.com
>
OpenSocial gadgets at Eclipse
What is OpenSocial?
• Open Specification
– 1.0 version released in March
– Many companies involved
• Lightweight web components
• Modularity in mind
• Social features
Write once, run anywhere 
• Many social networking sites are OpenSocial
compatible
– MySpace, Hi5, LinkedIn, iGoogle, Orkut…
• Eclipse
– e4 team working on an OpenSocial
implementation too
Enterprise usage
• Many enterprise-oriented gadgets
– Calendar, To-Do List, Map, Doodle, …
– Atlassian provides gadgets for JIRA metrics
• Bringing OpenSocial support into an existing
application is not that hard
– Existing web apps: Apache Shindig
– Rich client apps: e4!
• “Social Enterprise”
Social, you said?
• Many APIs to crawl user’s social network
• Data model
– Person (friends, groups, tastes, …)
• AppData for each gadget
– Activities (music being listened, …)
– Messages, Albums, …
OpenSocial gadgets at Eclipse
Gadget/module definition
• XML file
– Metadata
– Dependencies
– Application implementation
• In-line HTML / CSS / JavaScript
• or URL to external definition (a la IFRAME)
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Hello, world!«
author="Benjamin Cabé">
<Require feature="opensocial-0.8"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script type="text/javascript">
function init() {
$("handler").innerHTML = "Hello, world."
;
}
gadgets.util.registerOnLoadHandler(function() {
init();
});
</script>
<div id="handler"></div>
]]>
</Content>
</Module>
Core Gadget API
• gadgets.flash
• gadgets.io
• gadgets.json
• gadgets.MiniMess
age
• gadgets.Prefs
• gadgets.pubsub
• gadgets.rpc
• gadgets.skins
• gadgets.Tab
• gadgets.TabSet
• gadgets.util
• gadgets.views
• gadgets.window
The simple way…
• Stand-alone HTML/JS/CSS in your preferred
editor
• Worry about gadget.xml later
– Debug made easier
• Wrap in gadget.xml at the very end
– “url” content-type => IFRAME
OpenSocial
Development Environment
• Built-in Shindig server for local testing
• Forms editor for the gadget definition
• Social data handling (embedded database)
• Testing
– Easy iGoogle deployment
– Performance testing with Firefox
OpenSocial gadgets at Eclipse
Why?
• Deploy existing gadgets into views
• … and develop new ones leveraging Eclipse
services
– Only HTML, CSS & Javascript
– Not mandatory to know the Eclipse API
– OpenSocial spec fits quite well in Eclipse
architecture
– De-facto self-hosting
Collaborative development
• Make e4 « social-aware »
– Communicate with co-workers
– Share information (project, code snippets) with
your social network
– Share gadgets themselves (« Coworker John
suggests you to add the XYZ gadget »)
OpenSocial gadgets at Eclipse
Implementation overview
• HTML rendering: SWT Browser widget
• Since 3.5, the Browser is on steroids:
– Browser#evaluate(String) allows
evaluation of arbitrary JavaScript from your Java
code
– BrowserFunction allows to have Java
implementation for JavaScript functions
Implementation overview
• Modules express dependencies towards features
– Extension point to register new OpenSocial features in
the container
– OSGi Resolver to solve constraints expressed by a
Module
• Available features in the container: mapped to Bundles
• Features required by a module: Require-Bundle
directives
• Eclipse specific APIs exposed through
the e4 OpenSocial feature
Plan
• Create bridges to more Eclipse Application
Services
• Merge some of recent investigations made in
http://github.com/kartben
• ATF integration (JS/CSS debugging support)
• Social REST APIs directly exposed by ECF
Questions?
Further reading
• http://www.opensocial.org
• http://wiki.opensocial.org/index.php?title=JavaScript_API_Reference
• http://shindig.apache.org/
• https://sites.google.com/site/opensocialdevenv/
• http://borisoneclipse.blogspot.com/2009/11/opensocial-igoogle-gadgets-in-eclipse.html

More Related Content

PPTX
Digital Publishing Made Easy with the OSCI Toolkit
PDF
Intro to SharePoint 2010 development for .NET developers
PDF
Devfest09 OpenSocial Enterprise
PDF
Apereo OAE - Bootcamp
PDF
Alfresco Day Stockholm 2015 - Rapid UI Development
PDF
用Serverless技術快速開發line聊天機器人
PDF
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
PPTX
Design for scale
Digital Publishing Made Easy with the OSCI Toolkit
Intro to SharePoint 2010 development for .NET developers
Devfest09 OpenSocial Enterprise
Apereo OAE - Bootcamp
Alfresco Day Stockholm 2015 - Rapid UI Development
用Serverless技術快速開發line聊天機器人
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Design for scale

What's hot (20)

PDF
Manage your external libraries with CocoaPods
PPTX
Mainframe, the fast PHP framework
PPT
Jive, dropbox and other integrations
PPTX
LTI Advantage: The Next Big Thing in LMS Integration
PPTX
Our First ADF Experience
PPTX
EDS selection & implementation @ CCC
PPTX
PDF
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
PPTX
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
PPTX
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
PDF
AD1545 - Extending the XPages Extension Library
PPTX
Alfresco DevCon 2019 Performance Tools of the Trade
PDF
PLAT-5 Jive, Dropbox & Other Integrations
PPTX
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
PDF
Web APIs
PDF
eMusic: WordPress in the Enterprise
ZIP
Using Features
PPTX
Anatomy and Architecture of a WordPress Theme
PPTX
Lokalise
PDF
Scot Hacker: Building a Killer Bucketlist Site with Python/Django
Manage your external libraries with CocoaPods
Mainframe, the fast PHP framework
Jive, dropbox and other integrations
LTI Advantage: The Next Big Thing in LMS Integration
Our First ADF Experience
EDS selection & implementation @ CCC
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
AD1545 - Extending the XPages Extension Library
Alfresco DevCon 2019 Performance Tools of the Trade
PLAT-5 Jive, Dropbox & Other Integrations
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
Web APIs
eMusic: WordPress in the Enterprise
Using Features
Anatomy and Architecture of a WordPress Theme
Lokalise
Scot Hacker: Building a Killer Bucketlist Site with Python/Django
Ad

Similar to OpenSocial gadgets at Eclipse (20)

PDF
Eclipse E4 Open Social Gadgetsvrs3
PPT
Android Training
PPTX
Android Application Development GDSC DCE Darbhanga.pptx
PPTX
Developing for the Atlassian Ecosystem
PDF
Open social & cmis oasistc-20100712
PPT
Android app development
PPT
Android Application Development (2).ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android application development
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android application development
PDF
Android Application Development.pdf
PPT
Android application development
PDF
Prototyping like it is 2022
PPT
Introduction to android
PPT
Android application development
Eclipse E4 Open Social Gadgetsvrs3
Android Training
Android Application Development GDSC DCE Darbhanga.pptx
Developing for the Atlassian Ecosystem
Open social & cmis oasistc-20100712
Android app development
Android Application Development (2).ppt
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android application development
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android application development
Android Application Development.pdf
Android application development
Prototyping like it is 2022
Introduction to android
Android application development
Ad

More from Benjamin Cabé (20)

PDF
IoT Developer Survey 2018
PDF
Open Source for Industry 4.0 – Open IoT Summit NA 2018
PDF
JVM-Con 2017 – Java and IoT, will it blend?
PDF
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
PDF
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
PPTX
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
PDF
On making standards organizations & open source communities work hand in hand
PDF
Open Source Internet of Things 101 – EclipseCon 2016
PDF
Building the IoT - Coding Serbia 2015
PDF
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
PDF
Manage all the things, small and big, with open source LwM2M implementations ...
PDF
End-to-end IoT solutions with Java and the Eclipse IoT stack
PDF
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
PDF
End-to-end IoT solutions with Java and Eclipse IoT
PDF
Open-source IoT cookbook
PDF
Building the Internet of Things with Eclipse IoT - IoTBE meetup
PDF
Building the Internet of Things with Eclipse IoT - JavaLand 2014
PDF
What's new at Eclipse IoT - EclipseCon 2014
PDF
Overview of Eclipse IoT projects - IoT Day Grenoble
PDF
Open (source) API for the Internet of Things - APIdays 2013
IoT Developer Survey 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018
JVM-Con 2017 – Java and IoT, will it blend?
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
On making standards organizations & open source communities work hand in hand
Open Source Internet of Things 101 – EclipseCon 2016
Building the IoT - Coding Serbia 2015
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Manage all the things, small and big, with open source LwM2M implementations ...
End-to-end IoT solutions with Java and the Eclipse IoT stack
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
End-to-end IoT solutions with Java and Eclipse IoT
Open-source IoT cookbook
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - JavaLand 2014
What's new at Eclipse IoT - EclipseCon 2014
Overview of Eclipse IoT projects - IoT Day Grenoble
Open (source) API for the Internet of Things - APIdays 2013

OpenSocial gadgets at Eclipse

  • 1. OpenSocial Gadgets & Eclipse Benjamin Cabé <bcabe@sierrawireless.com >
  • 3. What is OpenSocial? • Open Specification – 1.0 version released in March – Many companies involved • Lightweight web components • Modularity in mind • Social features
  • 4. Write once, run anywhere  • Many social networking sites are OpenSocial compatible – MySpace, Hi5, LinkedIn, iGoogle, Orkut… • Eclipse – e4 team working on an OpenSocial implementation too
  • 5. Enterprise usage • Many enterprise-oriented gadgets – Calendar, To-Do List, Map, Doodle, … – Atlassian provides gadgets for JIRA metrics • Bringing OpenSocial support into an existing application is not that hard – Existing web apps: Apache Shindig – Rich client apps: e4! • “Social Enterprise”
  • 6. Social, you said? • Many APIs to crawl user’s social network • Data model – Person (friends, groups, tastes, …) • AppData for each gadget – Activities (music being listened, …) – Messages, Albums, …
  • 8. Gadget/module definition • XML file – Metadata – Dependencies – Application implementation • In-line HTML / CSS / JavaScript • or URL to external definition (a la IFRAME)
  • 9. <?xml version="1.0" encoding="UTF-8"?> <Module> <ModulePrefs title="Hello, world!« author="Benjamin Cabé"> <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[ <script type="text/javascript"> function init() { $("handler").innerHTML = "Hello, world." ; } gadgets.util.registerOnLoadHandler(function() { init(); }); </script> <div id="handler"></div> ]]> </Content> </Module>
  • 10. Core Gadget API • gadgets.flash • gadgets.io • gadgets.json • gadgets.MiniMess age • gadgets.Prefs • gadgets.pubsub • gadgets.rpc • gadgets.skins • gadgets.Tab • gadgets.TabSet • gadgets.util • gadgets.views • gadgets.window
  • 11. The simple way… • Stand-alone HTML/JS/CSS in your preferred editor • Worry about gadget.xml later – Debug made easier • Wrap in gadget.xml at the very end – “url” content-type => IFRAME
  • 12. OpenSocial Development Environment • Built-in Shindig server for local testing • Forms editor for the gadget definition • Social data handling (embedded database) • Testing – Easy iGoogle deployment – Performance testing with Firefox
  • 14. Why? • Deploy existing gadgets into views • … and develop new ones leveraging Eclipse services – Only HTML, CSS & Javascript – Not mandatory to know the Eclipse API – OpenSocial spec fits quite well in Eclipse architecture – De-facto self-hosting
  • 15. Collaborative development • Make e4 « social-aware » – Communicate with co-workers – Share information (project, code snippets) with your social network – Share gadgets themselves (« Coworker John suggests you to add the XYZ gadget »)
  • 17. Implementation overview • HTML rendering: SWT Browser widget • Since 3.5, the Browser is on steroids: – Browser#evaluate(String) allows evaluation of arbitrary JavaScript from your Java code – BrowserFunction allows to have Java implementation for JavaScript functions
  • 18. Implementation overview • Modules express dependencies towards features – Extension point to register new OpenSocial features in the container – OSGi Resolver to solve constraints expressed by a Module • Available features in the container: mapped to Bundles • Features required by a module: Require-Bundle directives • Eclipse specific APIs exposed through the e4 OpenSocial feature
  • 19. Plan • Create bridges to more Eclipse Application Services • Merge some of recent investigations made in http://github.com/kartben • ATF integration (JS/CSS debugging support) • Social REST APIs directly exposed by ECF
  • 21. Further reading • http://www.opensocial.org • http://wiki.opensocial.org/index.php?title=JavaScript_API_Reference • http://shindig.apache.org/ • https://sites.google.com/site/opensocialdevenv/ • http://borisoneclipse.blogspot.com/2009/11/opensocial-igoogle-gadgets-in-eclipse.html