SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
[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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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)
 
[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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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