Soumettre la recherche
Mettre en ligne
JMP102 Extending Your App Arsenal With OpenSocial
•
Télécharger en tant que ODP, PDF
•
3 j'aime
•
3,902 vues
Ryan Baxter
Suivre
Signaler
Partager
Signaler
Partager
1 sur 64
Télécharger maintenant
Recommandé
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Ryan Baxter
Boston Bluemix Meetup 5/15/14
Boston Bluemix Meetup 5/15/14
Ryan Baxter
Bp209
Bp209
Ryan Baxter
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
IBM Bluemix Hackathon Accelerator
IBM Bluemix Hackathon Accelerator
gjuljo
Cordova 3, apps para android
Cordova 3, apps para android
Droidcon Spain
Recommandé
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Ryan Baxter
Boston Bluemix Meetup 5/15/14
Boston Bluemix Meetup 5/15/14
Ryan Baxter
Bp209
Bp209
Ryan Baxter
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
IBM Bluemix Hackathon Accelerator
IBM Bluemix Hackathon Accelerator
gjuljo
Cordova 3, apps para android
Cordova 3, apps para android
Droidcon Spain
Get over the Cloud with Bluemix
Get over the Cloud with Bluemix
Codemotion
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
Animesh Singh
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
IBM Connections Developers
BlackBerry WebWorks
BlackBerry WebWorks
Bhasker Thapan
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
Ziyad Bazed
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Zohar Babin
Pivotal cloud foundry introduction
Pivotal cloud foundry introduction
Gaurav Shukla
Kaltura, open source video
Kaltura, open source video
Bart Gysens
DEV-1467 - Darwino
DEV-1467 - Darwino
Jesse Gallagher
Improve customer engagement and productivity with conversational ai
Improve customer engagement and productivity with conversational ai
CodeOps Technologies LLP
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
benm4nn
Kaltura Presentation
Kaltura Presentation
University of Washington, Bothell
Ten Minutes Bluemix Pitch from Dev to Dev
Ten Minutes Bluemix Pitch from Dev to Dev
Niklas Heidloff
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
David Currie
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
Niklas Heidloff
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
Lauren Hayward Schaefer
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
David Currie
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
VMware Tanzu
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
sieverssj
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connections Developers
Contenu connexe
Tendances
Get over the Cloud with Bluemix
Get over the Cloud with Bluemix
Codemotion
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
Animesh Singh
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
IBM Connections Developers
BlackBerry WebWorks
BlackBerry WebWorks
Bhasker Thapan
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
Ziyad Bazed
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Zohar Babin
Pivotal cloud foundry introduction
Pivotal cloud foundry introduction
Gaurav Shukla
Kaltura, open source video
Kaltura, open source video
Bart Gysens
DEV-1467 - Darwino
DEV-1467 - Darwino
Jesse Gallagher
Improve customer engagement and productivity with conversational ai
Improve customer engagement and productivity with conversational ai
CodeOps Technologies LLP
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
benm4nn
Kaltura Presentation
Kaltura Presentation
University of Washington, Bothell
Ten Minutes Bluemix Pitch from Dev to Dev
Ten Minutes Bluemix Pitch from Dev to Dev
Niklas Heidloff
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
David Currie
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
Niklas Heidloff
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
David Currie
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
Lauren Hayward Schaefer
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
David Currie
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
VMware Tanzu
Tendances
(20)
Get over the Cloud with Bluemix
Get over the Cloud with Bluemix
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
BlackBerry WebWorks
BlackBerry WebWorks
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Pivotal cloud foundry introduction
Pivotal cloud foundry introduction
Kaltura, open source video
Kaltura, open source video
DEV-1467 - Darwino
DEV-1467 - Darwino
Improve customer engagement and productivity with conversational ai
Improve customer engagement and productivity with conversational ai
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
Kaltura Presentation
Kaltura Presentation
Ten Minutes Bluemix Pitch from Dev to Dev
Ten Minutes Bluemix Pitch from Dev to Dev
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
Similaire à JMP102 Extending Your App Arsenal With OpenSocial
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
sieverssj
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connections Developers
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
Niklas Heidloff
Open Standards For Social Business Apps
Open Standards For Social Business Apps
IBM Connections Developers
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Niklas Heidloff
Social Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDK
IBM Connections Developers
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
LetsConnect
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connections Developers
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
Philippe Riand
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Ryan Baxter
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
LetsConnect
Open social gadgets in ibm connections
Open social gadgets in ibm connections
Vincent Burckhardt
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
Luis Benitez
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
LetsConnect
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Niklas Heidloff
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application Developer
Serdar Basegmez
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Ryan Baxter
2013-03 - CeBIT - DNUG - Activity Streams
2013-03 - CeBIT - DNUG - Activity Streams
Arnd Layer
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
Sanjeev Kumar
How to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and Profiles
IBM Connections Developers
Similaire à JMP102 Extending Your App Arsenal With OpenSocial
(20)
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
Open Standards For Social Business Apps
Open Standards For Social Business Apps
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Social Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDK
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
Open social gadgets in ibm connections
Open social gadgets in ibm connections
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application Developer
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
2013-03 - CeBIT - DNUG - Activity Streams
2013-03 - CeBIT - DNUG - Activity Streams
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
How to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and Profiles
JMP102 Extending Your App Arsenal With OpenSocial
1.
JMP102 Extending Your
App Arsenal With OpenSocial Ryan Baxter | Software Engineer | IBM Stanton Sievers | Software Engineer | IBM Yun Zhi Lin | Software Engineer | IBM © 2013 IBM Corporation
2.
Please note:
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 2 © 2013 IBM Corporation
3.
Credit
IBM® Notes® Social Edition IBM® Domino® Social Edition IBM® iNotes® Social Edtiion IBM® Connections® IBM® Social Business Toolkit 3 © 2013 IBM Corporation
4.
About Us
IBMer for 4 years OpenSocial (and open source) enthusiast Notes Java UI APIs, IBM Social Business Toolkit @ryanjbaxter, http://ryanjbaxter.com IBMer for 6 years Lead template developer for Widget Catalog and Cred. Store XPages and Eclipse plugin development Helps business partners and other product teams to integrate their applications with OpenSocial IBMer for 3 years Notes Java UI APIs, Eclipse plugin development Manages internal deployments of Notes/iNotes Social Edition Apache Shindig committer 4 © 2013 IBM Corporation
5.
Agenda
Introduction to OpenSocial OpenSocial in IBM Connections OpenSocial in IBM Notes and iNotes Social Edition 9.0 Using The Social Business Toolkit in OpenSocial Gadgets XPages and OpenSocial © 2013 IBM Corporation
6.
OpenSocial
Implementations Include: Cisco, SAP, Social APIs and Mini Applications Jive, Atlassian, IBM SmartCloud, (Gadgets) Google, Yahoo, MySpace, LifeRay, IBM has a leadership role in the Oracle, Magneto, Tibco Tibbr, Surfnet, Foundation including Paypal . . . ─ On the Board of Directors SmartCloud, IBM Connections, IBM Notes/Domino®, Rational Team ─ Committers on Apache Shindig ConcertTM, Sterling. . . ─ Has been instrumental in drafting the INV211: The OpenSocial 2.0 & 2.5 specification New Social Business ─ Invented and gave to the community Paradigm Embedded Experiences and many, with many more capabilities OpenSocial ─ Provided enterprise extensions © 2013 IBM Corporation
7.
Why Use OpenSocial?
IBM sees value in OpenSocial because it offers two very important things to IBM, its partners, and its customers ─ An application model based on modern web standards that easily isolates third party code ─ APIs for interacting with and creating social data (we still have a long way to go with this one) Cross product integration with Notes, iNotes, and Connections ─ Integrate your application into one or all of these products ─ Stand-alone (web) applications ─ Embedded within an envelope, i.e., email or activity entry ─ Access to social data and data models from Connections and SmartCloud ─ Connections 4 activity streams API ─ SmartClouds person and contacts APIs © 2013 IBM Corporation
8.
The Gadget Model
And APIs The OpenSocial specification is broken into two pieces ─ Gadget Model Gadgets are essentially applications built out of HTML, JavaScript, and CSS wrapped in a – little XML ─ Gadget and Social APIs – Gadget APIs allow you to manipulate the gadget and call web services – APIs for accessing the social data within a social network © 2013 IBM Corporation
9.
Sample Gadget XML <?xml
version="1.0" encoding="UTF-8" ?> <Module specificationVersion='2'> <ModulePrefs title="Acme Airlines"> <!-- Features provide sets of functionality to the gadget --> <Require feature="dynamic-height" /> <Require feature="embedded-experiences" /> </ModulePrefs> <!-- Content sections are the UI of the gadget --> <Content type="html" view="default, home"> <![CDATA[ <!--HTML, CSS, and JavaScript go here --> ]]> </Content> <Content type="html" view="embedded" href="ee.html"></Content> </Module> © 2013 IBM Corporation
10.
The Basics
ModulePrefs ─ The gadget's ModulePrefs element contains basic information about the gadget – Title, author, description, icon – Features are also placed in the ModulePrefs element • Features provide a set of functionality and sometimes APIs to the gadget – Message Bundles can be added to provide translated strings for your gadget – Content Sections ─ Content sections contain the UI and business logic for your gadget – You can have multiple content sections in one gadget XML – The HTML, CSS, and JavaScript of your gadget can either be inside the content section or externally in a separate file ─ Different content sections can be distinguished via the view attribute © 2013 IBM Corporation
11.
Gadget Views
Gadget views originally were used to distinguish between the amount of real- estate available to a gadget ─ Home = little real-estate ─ Canvas = large amount of real-estate ─ Since OpenSocial 2.0 we have been moving more towards views indicating different uses ─ Embedded view for embedded experiences ─ Dialog views for when a gadget is opened in a dialog ─ Content sections with the same view name will be concatenated together © 2013 IBM Corporation
12.
Gadget Preferences
Any application is likely to have user preferences to allow the user to customize portions of the application Gadget preferences are specified in UserPref elements in the gadget XML ─ Strings, Booleans, Enums, Numbers, and Lists all specified in the type attribute ─ Display name attribute shows in the UI ─ Name attribute can be used to access the preference within your code ─ You can also set a default value for a preference Get and set preferences via gadgets.Prefs ─ Require the feature setpefs when setting preferences © 2013 IBM Corporation
13.
DEMO © 2013 IBM
Corporation
14.
Getting Started Writing
JavaScript Use your favorite JavaScript library Just like any other web app you don't want to begin running your business logic before the app has completely loaded gadgets.util.registerOnLoadHandler(function) ─ When the function passed to this API is called the gadget has completely loaded ─ Similar to JQuery and Dojo's ready functions ─ You can use those instead if you are using those libraries © 2013 IBM Corporation
15.
Making REST API
Calls All web applications need to make some kind of API calls and gadgets are no different Use gadgets.io.makeRequest ─ Asynchronous ─ Takes a URL, parameters object, and callback function ─ Supports OAuth endpoints ─ DO NOT USE OTHER LIBRARIES' XHR METHODS var params = {}; params[gadgets.io.RequestParameters.METHOD] =gadgets.io.MethodType.GET; params[gadgets.io.RequestParameters.CONTENT_TYPE]=gadgets.io.Content Type.JSON; var callback = function(response){ ... }; gadgets.io.makeRequest('http://example.com/api/foo', callback, params); © 2013 IBM Corporation
16.
OAuth
OpenSocial uses OAuth for making protected API calls ─ Support for OAuth 1.0a and 2.0 OAuth stands for OPEN AUTHORIZATION not OPEN AUTHENTICATION ─ Authentication technologies may be used when authorizing OAuth is very easy to use within a gadget, most of the hard work is done by the container Use makeRequest and simply specify which OAuth version to use The OAuth services used within the gadget need to be registered with the container Browser Request Acme Gadget Do you want to allow Acme Gadget access Approval to your data? YES NO © 2013 IBM Corporation
17.
OAuth 1.0a in
The Gadget XML Service name must match what is registered in the container URLs come from the provider you are authenticating with <OAuth> <Service name="my service"> <Request url="http://provider.com/requestToken"/> <Access url="http://provider.com/accessToken"/> <Authorization url="http://provider.com/authorize"/> </Service> </OAuth> © 2013 IBM Corporation
18.
OAuth 2.0 in
The Gadget XML OAuth 2.0 is simpler, all URLs are configured on the container. ─ Service name needs to match what you register in the container ─ Scope indicates the API set you plan on accessing <OAuth2> <Service name="service name" scope="ProviderScope"> </Service> </OAuth2> © 2013 IBM Corporation
19.
Using OAuth in
makeRequest In the parameters passed to makeRequest indicate you are using OAuth 1.0a or 2.0 ─ gadgets.io.AuthorizeType.OAUTH2 ─ gadgets.io.AuthorizeType.OAUTH ─ Require the feature “oauthpopup” ─ This feature can be used to open the popup window for the user to enter their credentials ─ Lets the gadget know when the OAuth dance is complete © 2013 IBM Corporation
20.
OAuth makeRequest Example
var params = {}; params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.OAUTH2; params[gadgets.io.RequestParameters.OAUTH_SERVICE_NAME] = 'serviceName'; gadgets.io.makeRequest('url', function(response) { if (response.oauthApprovalUrl) { var onOpen = function() {}; var onClose = function() {}; var popup = new gadgets.oauth.Popup(response.oauthApprovalUrl, null, onOpen, onClose); var click = popup.createOpenerOnClick(); click(); } else if (response.data) { //We have data so lets use it! } else { gadgets.error('something went wrong'); } }, params); © 2013 IBM Corporation
21.
Interacting With The
Container As of OpenSocial 2.0 gadgets can now interact with the container they are rendered in ─ WARNING: These may not be supported completely in all containers - even every IBM Container ─ Breaking Out Of The Box ─ Gadgets are rendered in an iFrame and they used to be confined to that frame in the browser ─ With the open-views APIs gadgets can render other gadgets and URLs in new tabs, windows, dialogs, etc ─ Contributing To The UI ─ Action contributions allows your gadget to contribute to the toolbar and menus of the container ─ This is very similar to action contributions in Eclipse plugin development ─ Understanding What Is Selected ─ Gadgets can also listen for selection in Notes and iNotes ─ Emails, Contacts, and Files © 2013 IBM Corporation
22.
DEMO © 2013 IBM
Corporation
23.
Embedded Experiences
Changing the way you get notifications ─ The goal is to make notifications more useful and interactive ─ Supported in email and activity streams – IBM Connections, IBM Connections Mail, IBM Notes 9, IBM iNotes 9 – JSON + XML © 2013 IBM Corporation
24.
Notifications Today
Activity Entry Action Taken In Your App Standard MIME Email © 2013 IBM Corporation
25.
Notifications With Embedded
Experiences Activity Entry EE Data Gadget ion Taken In Your App Model Standard MIME Email Your App © 2013 IBM Corporation
26.
Something Of Importance
Took Place! Embedded experiences are almost always generated due to Your APP an action that took place in an app ─ Someone completed a task ─ Someone sent a survey to a group of people ─ A travel request was submitted Action Taken In App ─ A lead was entered in a CRM system ─ Now that the action took place you want to let a group of people know about it ─ BE SOCIAL! © 2013 IBM Corporation
27.
How do you
want to let people know about it? Activity Entry Traditionally emails were sent ─ Still applicable today, many apps still do this In a social network, emails are not the primary medium for communication ─ Almost all social networks have an activity stream so we should post it there EE Data Gadget EE Model { “gadget” : “http://acme.com/gagdet.xml”, “context” : { “id” : 123 Standard MIME } Email } URL EE {“url” : “http://domino.com/myxpage.xsp”} © 2013 IBM Corporation
28.
Active Notifications
With embedded experiences, notifications are no longer static ─ Active content allows your notifications to never go stale and always be up to date ─ Gadget ─ No need to leave your client, stay where you are and get your work done ─ The data used in your notifications is unlimited, you Your App have access to anything © 2013 IBM Corporation
29.
Email Embedded Experience
From: notifications@socialnetwork.com To: johndoe@example.com Subject: Social Network: Mary Has Commented On Your Status MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="XXXXboundary text" Mary has commented on your status. --XXXXboundary text Content-Type: text/plain Mary has commeneted on your status. --XXXXboundary text Content-Type: text/html <html> <!-- HTML representation here --> </html> --XXXXboundary text Content-Type: application/embed+json { "gadget" : "http://www.socialnetwork.com/embedded/commentgadget.xml", "context" : 123 } © 2013 IBM Corporation
30.
Activity Stream Embedded
Experience { AD104: "postedTime": "2011-02-10T15:04:55Z", Connections Activity "actor": {...}, Stream "verb": "post", Integration "object" : {...}, "openSocial" : { "embed" : { "gadget" : "http://example.org/AlbumViewer.xml", "context" : { "albumName": "Germany 2009", "photoUrls": [...] } } } } © 2013 IBM Corporation
31.
DEMO © 2013 IBM
Corporation
32.
Agenda
Introduction to OpenSocial OpenSocial in IBM Connections OpenSocial in IBM Notes and iNotes Social Edition 9.0 Using The Social Business Toolkit in OpenSocial Gadgets XPages and OpenSocial © 2013 IBM Corporation
33.
How Does OpenSocial
Integrate Into IBM Connections? Leveraging the existing widgets framework ─ OpenSocial is just a new type of widget, just like iWidgets OpenSocial gadgets available on your homepage ─ In the activity stream ─ On the right-hand side of your activity stream homepage ─ In the “My Page” of your homepage Connections Mail supports embedded experiences in email OpenSocial gadgets can also extend the share box ─ Allows you to integrate other sharing capabilities right into Connections Connection's REST API and data model follows the OpenSocial standard OpenSocial gadgets can interact with their containers ─ Open itself, Embedded Experiences, and URLs as dialogs ─ © 2013 IBM Corporation
34.
Activity Streams Keep
Your Users Up To Date REST API and data model backed by the OpenSocial standard ─ JSON data model - easy to use in your web apps 3rd party apps can post entries to the activity stream ─ Inside and outside of Connections ─ Integrate the Connections activity stream into your apps ─ This is how we integrate the activity stream into Notes ─ If your app is an OpenSocial container you can render embedded experiences too! 34 © 2013 IBM Corporation
35.
Extending The Share
Dialog The share dialog allows you to share content from anywhere in Connections ─ By default you can update your status or upload a file The share dialog is extensible using OpenSocial gadgets ─ Take advantage of OpenSocial's actions feature ─ © 2013 IBM Corporation
36.
Connections Mail
Connections Mail, like Notes and iNotes, supports embedded experiences as well The same embedded experience you build for the activity stream will work in mail © 2013 IBM Corporation
37.
Developing OpenSocial Gadgets
For Connections If you are developing gadgets for Connections and want to make it easier to test place the Connections container in developer mode! ─ Allows you to render any gadget without first having to go through a whole deployment ─ You can put the Connections container in developer mode by editing the OpenSocial-config.xml file in your Connections deployment ─ Use the developer bootstrap page to test your gadgets ─ Embedded experiences, preferences, share box © 2013 IBM Corporation
38.
Deploying OpenSocial Gadgets
In Connections Only Homepage admins can deploy gadgets Gadgets must be added to the widget catalog in Connections ─ Security Restricted or Trusted (SSO) – ─ UI Integration points for the Share dialog ─ Proxy access – Only outside the intranet – Everything Custom – ─ OAuth service mappings © 2013 IBM Corporation
39.
Registering OAuth Clients
For Gadgets In Connections You must register OAuth clients for gadgets to use in Connections if a gadget is using OAuth ─ This is a two step process done via the wasadmin console, you must register an OAuth provider and then register an OAuth client – A provider may be used by multiple clients. For example Google, Facebook, Twitter, DropBox etc. • wsadmin>NewsOAuth2ConsumerService.registerProvider("provider123", "standard", "true", "false", "http://example.com/oauth/authorization", "https://example.com/oauth/token") – A client gets bound to a gadget and points to a provider. • You specify the client ID and secret obtained from the provider for your gadget • wsadmin>NewsOAuth2ConsumerService.registerClient("client123", "provider123", "confidential", "code", "my-client", "my-secret", "https://connections.com/connections/opensocial/gadgets/oauth2callback") • After the clients have been registered you can bind them via wsadmin commands or via the Homepage administration UI ─ © 2013 IBM Corporation
40.
OpenSocial On IBM
Connections Mobile The Connection 4.0 mobile app supports the activity stream and embedded experiences ─ Make sure your gadget is designed correctly so that it will work (render) correctly on a mobile device © 2013 IBM Corporation
41.
DEMO © 2013 IBM
Corporation
42.
Agenda
Introduction to OpenSocial OpenSocial in IBM Connections OpenSocial in IBM Notes and iNotes Social Edition 9.0 Using The Social Business Toolkit in OpenSocial Gadgets XPages and OpenSocial © 2013 IBM Corporation
43.
How Does OpenSocial
Integrate Into IBM Notes and iNotes? Leveraging the existing My Widgets framework ─ OpenSocial is just a new type of widget, just like Google Gadgets or Web Page widgets OpenSocial gadgets are available in both Notes and iNotes ─ In the sidebar ─ In tabs ─ In floating (modeless) windows ─ In new windows (Notes only) ─ In Mail as Embedded Experiences OpenSocial gadgets can interact with their containers ─ Contribute actions To top-level menus and toolbars in Notes – – To the context menu for mail messages, contacts, attachments (Notes only), and LiveNames (Notes only) ─ Contribute OpenSearch search engines to the Notes search center ─ Listen for and publish selection ─ Open itself, Embedded Experiences, and URLs in new windows, tabs, floating windows and the sidebar © 2013 IBM Corporation
44.
How Does OpenSocial
Integrate Into IBM Notes and iNotes? Use OpenSearch APIs to contribute to the Notes search center <Optional feature="opensearch"> <Param name="opensearch-description"> <![CDATA[ <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" > <ShortName>CNN.com</ShortName> <Description>CNN.com Search</Description> <InputEncoding>UTF-8</InputEncoding> <SearchForm>http://search.cnn.com/</SearchForm> <Url type="text/html" method="get" template="http://www.cnn.com/search/?query={searchTerms}"> </Url> </OpenSearchDescription> ]]> </Param> </Optional> More information in the OpenSocial spec ─ http://opensocial-resources.googlecode.com/svn/spec/2.5/Core-Gadget.xml#OpenSearch © 2013 IBM Corporation
45.
DEMO © 2013 IBM
Corporation
46.
Developing OpenSocial Gadgets
for Notes and iNotes OpenSocial Gadgets must be approved by an administrator before they will render in Notes and iNotes This makes it cumbersome to use Notes/iNotes as a development environment The OpenSocial Sandbox provided by the OpenSocial Foundation can be used to rapidly iterate and test gadgets Get your gadget working in the sandbox and then bring it into the Notes and iNotes environments More information on the Sandbox ─ http://opensocial2.org:8080/collabapp/index.html © 2013 IBM Corporation
47.
Creating OpenSocial Widgets
in Notes and iNotes Widget Catalog is used to manage OpenSocial Gadgets in Notes and iNotes ─ Notes client provides wizards to create OpenSocial Widgets from gadgets. ─ Need to publish OpenSocial widgets to Widget Catalog to make it available for all users ─ – AD212: Whats New in IBM Notes Widgets and LiveText: Linking Your Data to the World! © 2013 IBM Corporation
48.
Approving OpenSocial Widgets
in Notes and iNotes Only trusted gadgets can run in Notes and iNotes. Catalog administrator needs to approve the widgets in Widget Catalog and configure necessary settings During the approval process, administrators will configure ─ Proxy settings – required ─ OAuth consumer information – required only if a gadget need them ─ IP filters – optional ─ ─ © 2013 IBM Corporation
49.
Deploying OpenSocial Widgets
in Notes and iNotes Approved widgets need to be installed in Notes and iNotes Widgets can be pushed to end users by policy settings ─ This is the recommended way to deploy widgets ─ SHOW110: End users can also install Make Your additional widgets from Business Open catalog by themselves and Social Using IBM Notes Social Edition 9.0 © 2013 IBM Corporation
50.
Agenda
Introduction to OpenSocial OpenSocial in IBM Connections OpenSocial in IBM Notes and iNotes Social Edition 9.0 Using The Social Business Toolkit in OpenSocial Gadgets XPages and OpenSocial © 2013 IBM Corporation
51.
IBM Social Business
Toolkit SDK & OpenSocial The IBM Social Business Toolkit SDK is meant to help developers build applications for IBM's social business portfolio using a common programming model ─ XPages, J2EE, PHP, OpenSocial gadgets, Ruby, it doesn't matter you should use a consistent set of APIs AD101 : Social ─ Applications Made Do I need to use the SDK if I am building a gadget? Easy with the New Social Business ─ No you can use the core OpenSocial APIs, but the SDK will make it easier Toolkit SDK if you are using APIs from products within IBM's social business portfolio ─ Why not just use the OpenSocial APIs? ─ Consistency ─ Under the covers the SDK uses the OpenSocial APIs when inside a gadget © 2013 IBM Corporation
52.
Using The IBM
Social Business Toolkit SDK Within A Gadget All you have to do to the gadget is add the script tag for the SDK ─ <script type="text/javascript" src="library?env=openSocial"></script> ─ The env parameter tells the toolkit that the SDK is being used inside a gadget In the faces-config of the webapp define an OpenSocial environment bean that has the value of the env parameter used in the script tag ─ Endpoints used within this environment should use the GadgetEndpoint bean ─ If the endpoint uses OAuth, the service name defined within the gadget for the OAuth endpoint must also be defined in the GadgetEndpoint bean ─ You may use all the same helper classes from the SDK within your gadget ─ SmartCloud and Connections ─ Profiles, Files, Communities, Activity Streams, etc ─ Define endpoints for your own APIs or 3rd party APIs like, Google etc. ─ © 2013 IBM Corporation
53.
Acme Airlines App
DEMO © 2013 IBM Corporation
54.
Agenda
Introduction to OpenSocial OpenSocial in IBM Connections OpenSocial in IBM Notes and iNotes Social Edition 9.0 Using The Social Business Toolkit in OpenSocial Gadgets XPages and OpenSocial © 2013 IBM Corporation
55.
XPages and OpenSocial
XPages and Embedded Experience mail ─ XPages can be embedded in mail directly by using a URL embedded experience ─ Gadget XML can be put in an NSF and access application data via AD206 : IBM XPages REST API Domino XPages: ─ It's easy to send embedded experience emails from XPage apps Embrace, Extend, ─ Integrate XPages and Activity Streams ─ Support to post activities with embedded experiences to activity streams ─ Support to read activity stream data in XPages appls ─ Need to install XPages Social Enabler from OpenNTF ─ ─ © 2013 IBM Corporation
56.
Creating Embedded Experience
Widgets For XPage Apps You need to create a Web Page widget and enable it for embedded experiences The URL usually contains an id parameter ─ http://renovations.com/tickets.nsf/viewTicket.xsp?action=openDocument&documentId=A46 ─ Use wild cards (*) to create a single embedded experiences widget for all XPage URLs ─ © 2013 IBM Corporation
57.
Creating Embedded Experience
Emails Using Notes.jar © 2013 IBM Corporation
58.
XPages Simple Action
To Send Embedded Experience Emails New “Send Mail” simple action ─ Available in 9.0 ─ Provides an easy way to send mails and supports Embedded Experience mail ─ You can either compose JSON by yourself or XPages will compose it based on your input. ─ © 2013 IBM Corporation
59.
Leveraging SSO For
XPage Embedded Experiences We do not want users to log in again when opening a XPage embedded experience The mail server and the server hosting the XPages app must have multi-server SSO enabled ─ For iNotes users, the servers must be in same SSO domain ─ For Notes users, a managed account needs to be created for the server hosting the XPages application – This can be pushed via policy In the case of XPage embedded experiences in the Connections activity stream, the Connections server must be in the same SSO domain as the Domino server hosting the app ─ If you want to integrate a classic web based Domino application with embedded experience, the above steps apply as well. ─ © 2013 IBM Corporation
60.
Posting To The
Activity Stream Using The Social Enabler Social Enabler provides a helper class to simplify REST API calls ─ com.ibm.xsp.extlib.sbt.services.client.ClientService ─ Need to provide the endpoint and service URL to create an instance public ClientService(Endpoint endpoint, String serviceUrl) – ─ Supports GET/POST/PUT/DELETE methods ─ sbt.ActivityStreamService is extended from ClientService and provides support to call Activity Stream APIs ─ All you need to do is creating your JSON object and call the post method var serviceUrl = "/connections/opensocial/basic/rest/activitystreams/@public/@all/@all"; var svc = new sbt.ActivityStreamsService(@Endpoint('connections'),serviceUrl); var msg = svc.post(null, activity); //activity is your JSON object © 2013 IBM Corporation
61.
XPages Ticketing App
DEMO © 2013 IBM Corporation
62.
Q&A © 2013 IBM
Corporation
63.
Resources
OAuth Client Registration: http://www-10.lotus.com/ldd/lcwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connect Developing Gadgets For Connections: https://www.ibm.com/developerworks/lotus/documentation/osgadgetconnections4/ind Connections Activity Streams API: http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Co IBM Social Business SDK: http://ibmsbt.openntf.org/ IBM Notes and Domino Beta Forum: http://www-10.lotus.com/ldd/ndsebetaforum.nsf Managed Accounts in Notes and Domino: http://bit.ly/ManagedAccounts OpenSocial Spec: http://docs.opensocial.org/display/OSD/Specs © 2013 IBM Corporation
64.
Legal disclaimer
© IBM Corporation 2013. All Rights Reserved. The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only. 64 © 2013 IBM Corporation
Télécharger maintenant