how to connect your app to the activity stream with x-pages
DESCRIPTION
myTRANSCRIPT
![Page 1: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/1.jpg)
Bring your Domino applications into the Activity Stream
Frank van der Linden
![Page 2: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/2.jpg)
04/12/202
3
Joost van Dongen
Roadmap
• Introduction• IBM Connections 4• Open standards• Setup the environment• Connect to the Activity Stream• Q and A
![Page 3: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/3.jpg)
Frank van der Linden• I live in Utrecht in the Netherlands.• My role is XPages/Domino/Web developer at e-
office since 2000. So I started with Lotus Notes 4.5.x.
• I develop XPages application since the introduction of XPages in Lotus Notes 8.5.0.
• In my sparetime I do a lot of running and then I mean a lot.
• And I am married and have 2 daughters
@flinden68
nl.linkedin.com/in/flinden68
http://www.domino-weblog.nl
![Page 4: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/4.jpg)
And he works at e-office
• Celebrated in 2011 it’s 20ste anniversary
• First Lotus Business Partner in the Netherlands
• E-office is IBM Premier Business Partner, Microsoft Gold Partner and RIM Alliance Elite partner
![Page 5: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/5.jpg)
IBM Connections 4
![Page 6: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/6.jpg)
IBM Connections 4
![Page 7: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/7.jpg)
What is oAuth
• OAuth (Open Authorization) is an open standard for authorization
• It allows users to share their resources stored on one site with another site without having to hand out their credentials
• OAuth allows users to hand out tokens instead of credentials to their data hosted by a given service provider.
Source: http://en.wikipedia.org/wiki/OAuth
![Page 8: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/8.jpg)
oAuth1.0, the 3 leg dance
![Page 9: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/9.jpg)
oAuth in the real world
![Page 10: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/10.jpg)
OpenSocial
• Public specification that defines a component hosting environment (container)
• Based on HTML and Javascript, as well as the Google gadgets framework
• OpenSocial adopted support for Activity Streams format
• OpenSocial API and oAuth support
Source:http://en.wikipedia.org/wiki/OpenSocial
![Page 11: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/11.jpg)
Activity Stream
• Stream of information• Support of oAuth and OpenSocial gadget
specification• API’s are available to connect external systems• Part of Connections 4 and IBM Notes 9.0 Social
Edition
![Page 12: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/12.jpg)
Get started – step 1: get access
• If you don’t have an account for Greenhouse, go get it (https://greenhouse.lotus.com)
![Page 13: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/13.jpg)
Get started – step 2: register your app
• oAuth is used, so you need to register your app.(https://greenhouse.lotus.com/vulcan/security/provider/appList?serviceProvider=vulcanToolkit)
![Page 14: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/14.jpg)
Get started – Register your app
• oAuth is used, so you need to register your app.(https://greenhouse.lotus.com/vulcan/security/provider/appList?serviceProvider=vulcanToolkit)
![Page 15: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/15.jpg)
Get started – Get the databases
• Get the Extension Library of OpenNTF, the 8.5.3 code stream• Install the Extension Library on Designer and Domino server• Deploy the Social Enabler database to your Domino server
• Deploy the WebsecurityStore database to the root of your Domino server
• And sign both databases with the correct ID.
![Page 16: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/16.jpg)
Get started – Go to the Websecurity store
• The startpoint is KeysApplications.xsp
![Page 17: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/17.jpg)
Get started – Fill in the oAuth keys
• https://greenhouse.lotus.com:443/vulcan/security/provider/requestToken https://greenhouse.lotus.com:443/vulcan/security/provider/authorize https://greenhouse.lotus.com:443/vulcan/security/provider/accessToken
![Page 18: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/18.jpg)
In to the code – Faces-config.xml
• This file lists bean resources and navigation rules
• It is located in the WEB-INF folder in the package explorer.
![Page 19: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/19.jpg)
Faces-config.xml - NSFStore
• NSFStore managed bean is used for the location of the websecurity database
• It will be used by other Managed beans to store oAuth data.
![Page 20: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/20.jpg)
Faces-config.xml – greenHouse managed bean• greenHouse managed bean is used to specify the
oAuthEndpoint, and were to store.• AppId is the id, who is used as Application name in the
SBT application registration page
![Page 21: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/21.jpg)
How to get the entries of the Activity Stream
• Create a XPage, and name it ‘ActivityStream’
• Drop a viewpanel on this XPage• Select Datasource later• Goto the all properties and select
as datasource the ActivityStreamData.
![Page 22: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/22.jpg)
How to get the entries of the Activity Stream
• The service URL: /vulcan/shindig/rest/activitystreams• Endpoint: greenHouse, as stated in the Faces-config.xml• Give the datasource a variable name, so you can connect
to it in your ViewPanel• Specify in your ViewPanel as value the variable name of
the datasource• And give the ViewPanel also a variable name
![Page 23: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/23.jpg)
Get the actual data out of the stream
Activity Stream On Greenhouse Activity Stream in Yellow and Blue system
![Page 24: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/24.jpg)
Get access to some usefull properties
• Title: entry.title• Posted date: new
java.util.Date(parseInt(entry.postedTime)• ID: entry.id• Image: entry.actor.image.url• Body: entry.body• JSON of the links to the source:
entry.standardLinks.alternate[0].inline
![Page 25: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/25.jpg)
Post to the Activity Stream
• Use the Objectdata • ObjectData has 2 components
CreateObject: to compose the object JSON SaveObject: save the object to an url.
![Page 26: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/26.jpg)
Developer tip: Embedded experience without oAuth2
• Activate the boostrap page on Connections
• Add to your gadget.xml develop parameters&__dev_proxyPolicy__=intranet_access&__dev_policySet__=GADGET_BUILTIN_INTERNAL&__dev_appContexts__=EMBEDXP
More details: http://public.dhe.ibm.com/software/dw/lotus/OS_gadget_IC4_final.pdf
![Page 27: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/27.jpg)
Sample JSON to post entry{ "generator": {"image": { "url": "http://www.e-office.com/eog/nl/website2011.nsf/img_logo.png"},"id": "Demo app","displayName": "XPages Post - Demo app","url": "http://ld09.e-office.com/"},"actor": {"id": "@me"},"verb": "post","title": "Post from a XPages","content": " You have created a post from XPage.","updated": "2012-08-23T12:00:00.000Z","object": {"summary": "Post from a XPages","objectType": "note","id": "xpages12","displayName": "Post from a XPages","url": "http://ld09.e-office.com/demo/demoAS.nsf/"},"connections":{"actionable":"false","broadcast": "true","canUnFollow": "true","saved":"false"},"openSocial":{"embed": {"gadget": "http://ld09.e-office.com/demo/demoAS.nsf/gadget.xml?openfileresource&__dev_proxyPolicy__=intranet_access&__dev_policySet__=GADGET_BUILTIN_INTERNAL&__dev_appContexts__=EMBEDXP","context": ""},"deliverTo":[{"objectType":"person","id":"@me"}]}}
![Page 28: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/28.jpg)
Questions
![Page 29: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/29.jpg)
Usefull resources
• Extension Library– http://extlib.openntf.org/
• Social Enabler– http://socialenabler.openntf.org/
• Activity Stream Community (GreenHouse)– https://
greenhouse.lotus.com/communities/service/html/communityview?communityUuid=cab9d6f0-d6f0-4b71-ae49-8cad85a454fd
• Social Business Toolkit Community (DeveloperWorks)– https://
www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=0f357879-ccee-4927-98c1-7bb88d5dc81f
![Page 30: how to connect your app to the activity stream with x-pages](https://reader035.vdocument.in/reader035/viewer/2022081513/55514a06b4c905c6268b508d/html5/thumbnails/30.jpg)
Contact details
@flinden68
nl.linkedin.com/in/flinden68
http://www.domino-weblog.nl