SlideShare una empresa de Scribd logo
1 de 30
Bring your Domino applications into
the Activity Stream

Frank van der Linden
Roadmap
•   Introduction
•   IBM Connections 4
•   Open standards
•   Setup the environment
•   Connect to the Activity Stream
•   Q and A




                      Joost van Dongen   11/28/20
                                         12
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

   http://www.domino-weblog.nl


   nl.linkedin.com/in/flinden68


   fli@e-office.com
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
IBM Connections 4
IBM Connections 4
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
oAuth1.0, the 3 leg dance
oAuth in the real world
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
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
Get started – step 1: get access
• If you don’t have an account for Greenhouse, go get it
  (https://greenhouse.lotus.com)
Get started – step 2: register your app

• oAuth is used, so you need to register your
  app.(https://greenhouse.lotus.com/vulcan/sec
  urity/provider/appList?serviceProvider=vulcan
  Toolkit)
Get started – Register your app
• oAuth is used, so you need to register your
  app.(https://greenhouse.lotus.com/vulcan/security/pr
  ovider/appList?serviceProvider=vulcanToolkit)
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.
Get started – Go to the Websecurity store
• The startpoint is KeysApplications.xsp
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
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.
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.
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
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.
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
Get the actual data out of the stream



Activity Stream On Greenhouse   Activity Stream in Yellow and Blue system
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
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.
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_BUILT
  IN_INTERNAL&__dev_appContexts__=EMBEDXP

  More details: http://public.dhe.ibm.com/software/dw/lotus/OS_gadget_IC4_final.pdf
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_INTER
NAL&__dev_appContexts__=EMBEDXP",
"context": ""
},
"deliverTo":[
{"objectType":"person",
"id":"@me"
}
]
}
}
Questions
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/com
     munityview?communityUuid=cab9d6f0-d6f0-4b71-ae49-
     8cad85a454fd
• Social Business Toolkit Community
  (DeveloperWorks)
   – https://www.ibm.com/developerworks/mydeveloperworks/gro
     ups/service/html/communityview?communityUuid=0f357879
     -ccee-4927-98c1-7bb88d5dc81f
Contact details


    @flinden68

     http://www.domino-weblog.nl


     nl.linkedin.com/in/flinden68



       fli@e-office.com

Más contenido relacionado

La actualidad más candente

IoT in the Cloud: Build and Unleash the Value in your Renewable Energy System
IoT in the Cloud: Build and Unleash the Value in your Renewable Energy SystemIoT in the Cloud: Build and Unleash the Value in your Renewable Energy System
IoT in the Cloud: Build and Unleash the Value in your Renewable Energy SystemMark Heckler
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationSharePoint Saturday New Jersey
 
IBM Watson Work Services Development
IBM Watson Work Services DevelopmentIBM Watson Work Services Development
IBM Watson Work Services DevelopmentVan Staub, MBA
 
One Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudOne Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudKeith Brooks
 
Migrating to Microsoft Office 365
Migrating to Microsoft Office 365Migrating to Microsoft Office 365
Migrating to Microsoft Office 365OpenText Global 360
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesEamon Muldoon
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and MinecraftSriram Hariharan
 
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...European Collaboration Summit
 
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Codit
 
MWC Mobile Interoperability and Business Productivity (Yury Buluy)
MWC Mobile Interoperability and Business Productivity (Yury Buluy)MWC Mobile Interoperability and Business Productivity (Yury Buluy)
MWC Mobile Interoperability and Business Productivity (Yury Buluy)Yury Buluy
 
Office 365 deployment fast track
Office 365 deployment fast trackOffice 365 deployment fast track
Office 365 deployment fast trackMotty Ben Atia
 
Integrating IBM Connections with ECM using IBM Content Navigator
Integrating IBM Connections with ECM using IBM Content NavigatorIntegrating IBM Connections with ECM using IBM Content Navigator
Integrating IBM Connections with ECM using IBM Content NavigatorElinar
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveBizTalk360
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Bram de Jager
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Callon Campbell
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
 
Building advanced Project Server workflows with Nintex Workflow for Project S...
Building advanced Project Server workflows with Nintex Workflow for Project S...Building advanced Project Server workflows with Nintex Workflow for Project S...
Building advanced Project Server workflows with Nintex Workflow for Project S...Alexander Burton
 
What's new in sharepoint 2016
What's new in sharepoint 2016What's new in sharepoint 2016
What's new in sharepoint 2016Mike Maadarani
 

La actualidad más candente (20)

IoT in the Cloud: Build and Unleash the Value in your Renewable Energy System
IoT in the Cloud: Build and Unleash the Value in your Renewable Energy SystemIoT in the Cloud: Build and Unleash the Value in your Renewable Energy System
IoT in the Cloud: Build and Unleash the Value in your Renewable Energy System
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
IBM Watson Work Services Development
IBM Watson Work Services DevelopmentIBM Watson Work Services Development
IBM Watson Work Services Development
 
One Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudOne Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The Cloud
 
Migrating to Microsoft Office 365
Migrating to Microsoft Office 365Migrating to Microsoft Office 365
Migrating to Microsoft Office 365
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
 
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
 
ECS19 - Jussi Roine - Microsoft 365 Deep Dive
ECS19 - Jussi Roine - Microsoft 365 Deep DiveECS19 - Jussi Roine - Microsoft 365 Deep Dive
ECS19 - Jussi Roine - Microsoft 365 Deep Dive
 
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
 
[Delimon] Unraveling Teams vs Skype for Business
[Delimon] Unraveling Teams vs Skype for Business[Delimon] Unraveling Teams vs Skype for Business
[Delimon] Unraveling Teams vs Skype for Business
 
MWC Mobile Interoperability and Business Productivity (Yury Buluy)
MWC Mobile Interoperability and Business Productivity (Yury Buluy)MWC Mobile Interoperability and Business Productivity (Yury Buluy)
MWC Mobile Interoperability and Business Productivity (Yury Buluy)
 
Office 365 deployment fast track
Office 365 deployment fast trackOffice 365 deployment fast track
Office 365 deployment fast track
 
Integrating IBM Connections with ECM using IBM Content Navigator
Integrating IBM Connections with ECM using IBM Content NavigatorIntegrating IBM Connections with ECM using IBM Content Navigator
Integrating IBM Connections with ECM using IBM Content Navigator
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep Dive
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
Building advanced Project Server workflows with Nintex Workflow for Project S...
Building advanced Project Server workflows with Nintex Workflow for Project S...Building advanced Project Server workflows with Nintex Workflow for Project S...
Building advanced Project Server workflows with Nintex Workflow for Project S...
 
What's new in sharepoint 2016
What's new in sharepoint 2016What's new in sharepoint 2016
What's new in sharepoint 2016
 

Similar a how to connect your app to the activity stream with x-pages

No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...LetsConnect
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platformPham Thinh
 
Drupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPDrupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPAntonio Peric-Mazar
 
Share point development 101
Share point development 101Share point development 101
Share point development 101Becky Bertram
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsSam Bowne
 
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite Keiko Ogura
 
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation Services
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation ServicesWINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation Services
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation ServicesChris Spanougakis
 
IBM Connect2014 JMP106
IBM Connect2014 JMP106IBM Connect2014 JMP106
IBM Connect2014 JMP106Thomas Evans
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per officeFabio Franzini
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint StoreKashif Imran
 
OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenIDFoundation
 
122 naver-deview2013-tizen-universal-device-platform-r20131014
122 naver-deview2013-tizen-universal-device-platform-r20131014122 naver-deview2013-tizen-universal-device-platform-r20131014
122 naver-deview2013-tizen-universal-device-platform-r20131014NAVER D2
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets Redar Ismail
 
OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09Catherine Nuel
 

Similar a how to connect your app to the activity stream with x-pages (20)

No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...No need to leave Connections. Bring your Domino applications into the Activit...
No need to leave Connections. Bring your Domino applications into the Activit...
 
Dnug2012 yellow and blue stream
Dnug2012 yellow and blue streamDnug2012 yellow and blue stream
Dnug2012 yellow and blue stream
 
Uklug2012 yellow and blue stream
Uklug2012 yellow and blue streamUklug2012 yellow and blue stream
Uklug2012 yellow and blue stream
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platform
 
Syncitall
SyncitallSyncitall
Syncitall
 
Drupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHPDrupal8 for Symfony developers - Dutch PHP
Drupal8 for Symfony developers - Dutch PHP
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating Applications
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
Couchbase Mobile Ideathon in Tokyo 2014.08.29: Developing with couchbase lite
 
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation Services
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation ServicesWINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation Services
WINDOWS SERVER 2012 R2: Bring Your Own Device Using AD Federation Services
 
IBM Connect2014 JMP106
IBM Connect2014 JMP106IBM Connect2014 JMP106
IBM Connect2014 JMP106
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
iOS Application Pentesting
iOS Application PentestingiOS Application Pentesting
iOS Application Pentesting
 
OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018
 
122 naver-deview2013-tizen-universal-device-platform-r20131014
122 naver-deview2013-tizen-universal-device-platform-r20131014122 naver-deview2013-tizen-universal-device-platform-r20131014
122 naver-deview2013-tizen-universal-device-platform-r20131014
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09OW2 Exo Platform Open Social Portal Linuxtag09
OW2 Exo Platform Open Social Portal Linuxtag09
 

Más de Frank van der Linden

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Engage 2020: Hello are you listening, There is stream for everything
Engage 2020: Hello are you listening, There is stream for everythingEngage 2020: Hello are you listening, There is stream for everything
Engage 2020: Hello are you listening, There is stream for everythingFrank van der Linden
 
NCUG 2019: Super charge your API’s with Reactive streams
NCUG 2019: Super charge your API’s with Reactive streamsNCUG 2019: Super charge your API’s with Reactive streams
NCUG 2019: Super charge your API’s with Reactive streamsFrank van der Linden
 
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...Frank van der Linden
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
 
Social connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streamsSocial connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streamsFrank van der Linden
 
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...Frank van der Linden
 
Spring forward: an introduction to Spring boot and Thymeleaf
Spring forward: an introduction to Spring boot and ThymeleafSpring forward: an introduction to Spring boot and Thymeleaf
Spring forward: an introduction to Spring boot and ThymeleafFrank van der Linden
 
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...Frank van der Linden
 
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...Frank van der Linden
 
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...Frank van der Linden
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITFrank van der Linden
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantFrank van der Linden
 
Bccon use notes objects in memory and other useful
Bccon   use notes objects in memory and other usefulBccon   use notes objects in memory and other useful
Bccon use notes objects in memory and other usefulFrank van der Linden
 
Use notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentUse notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentFrank van der Linden
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoFrank van der Linden
 

Más de Frank van der Linden (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Engage 2020: Hello are you listening, There is stream for everything
Engage 2020: Hello are you listening, There is stream for everythingEngage 2020: Hello are you listening, There is stream for everything
Engage 2020: Hello are you listening, There is stream for everything
 
NCUG 2019: Super charge your API’s with Reactive streams
NCUG 2019: Super charge your API’s with Reactive streamsNCUG 2019: Super charge your API’s with Reactive streams
NCUG 2019: Super charge your API’s with Reactive streams
 
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
 
Social connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streamsSocial connections14: Super charge your API’s with Reactive streams
Social connections14: Super charge your API’s with Reactive streams
 
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...
 
Spring forward: an introduction to Spring boot and Thymeleaf
Spring forward: an introduction to Spring boot and ThymeleafSpring forward: an introduction to Spring boot and Thymeleaf
Spring forward: an introduction to Spring boot and Thymeleaf
 
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
 
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...
 
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetIT
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to Cloudant
 
Let's serve your data
Let's serve your dataLet's serve your data
Let's serve your data
 
Let's server your Data
Let's server your DataLet's server your Data
Let's server your Data
 
Don't worry with bower
Don't worry with bowerDon't worry with bower
Don't worry with bower
 
Bccon use notes objects in memory and other useful
Bccon   use notes objects in memory and other usefulBccon   use notes objects in memory and other useful
Bccon use notes objects in memory and other useful
 
Use notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentUse notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages development
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
 
The power of dots
The power of dotsThe power of dots
The power of dots
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

how to connect your app to the activity stream with x-pages

  • 1. Bring your Domino applications into the Activity Stream Frank van der Linden
  • 2. Roadmap • Introduction • IBM Connections 4 • Open standards • Setup the environment • Connect to the Activity Stream • Q and A Joost van Dongen 11/28/20 12
  • 3. 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 http://www.domino-weblog.nl nl.linkedin.com/in/flinden68 fli@e-office.com
  • 4. 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
  • 7. 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
  • 8. oAuth1.0, the 3 leg dance
  • 9. oAuth in the real world
  • 10. 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
  • 11. 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
  • 12. Get started – step 1: get access • If you don’t have an account for Greenhouse, go get it (https://greenhouse.lotus.com)
  • 13. Get started – step 2: register your app • oAuth is used, so you need to register your app.(https://greenhouse.lotus.com/vulcan/sec urity/provider/appList?serviceProvider=vulcan Toolkit)
  • 14. Get started – Register your app • oAuth is used, so you need to register your app.(https://greenhouse.lotus.com/vulcan/security/pr ovider/appList?serviceProvider=vulcanToolkit)
  • 15. 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.
  • 16. Get started – Go to the Websecurity store • The startpoint is KeysApplications.xsp
  • 17. 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
  • 18. 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.
  • 19. 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.
  • 20. 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
  • 21. 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.
  • 22. 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
  • 23. Get the actual data out of the stream Activity Stream On Greenhouse Activity Stream in Yellow and Blue system
  • 24. 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
  • 25. 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.
  • 26. 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_BUILT IN_INTERNAL&__dev_appContexts__=EMBEDXP More details: http://public.dhe.ibm.com/software/dw/lotus/OS_gadget_IC4_final.pdf
  • 27. 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_INTER NAL&__dev_appContexts__=EMBEDXP", "context": "" }, "deliverTo":[ {"objectType":"person", "id":"@me" } ] } }
  • 29. 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/com munityview?communityUuid=cab9d6f0-d6f0-4b71-ae49- 8cad85a454fd • Social Business Toolkit Community (DeveloperWorks) – https://www.ibm.com/developerworks/mydeveloperworks/gro ups/service/html/communityview?communityUuid=0f357879 -ccee-4927-98c1-7bb88d5dc81f
  • 30. Contact details @flinden68 http://www.domino-weblog.nl nl.linkedin.com/in/flinden68 fli@e-office.com