SlideShare a Scribd company logo
1 of 37
Yellow and Blue stream




            Presenter: Frank van der Linden
            Company: e-office
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
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 spare time I do a lot of running and then I
   mean a lot
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
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
Blue


          process | control | predictable
         manage | low costs | mechanical




        structure & process


          9 to 5 | no errors | internal focus
       no change | control | process leading
Yellow


         knowledge | information | everywhere
          network | creativity | goal oriented




              smart & flexible
Yellow and blue
• Adaptive organization

• Flexible, able to change directions

• Also predictable

• We have build a system to bring both worlds together.
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
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
oAuth, 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

• OpenSocial gadgets will be part of IBM Connections 4
   and IBM Lotus Notes Social Edition




 Source:http://en.wikipedia.org/wiki/OpenSocial
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
Activity Stream
•It is part of the Social Business Toolkit

•It is the stream of all information

•API’s to connect to the stream

•It will be part of IBM Connections Next


•oAuth authentication.

•Support of OpenSocial gadget
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
Yellow and Blue system
• Get information from
     • IBM Connections
     • IBM Lotus Domino
     • Google
     • Social Business Toolkit


• Tooling used
     • XPages
     • oAuth
     • Social enabler from OpenNTF
     • Java and managed beans
     • HTML5
Yellow and Blue system
Yellow and Blue system Demo
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
Connect to the Activity Stream

• If you don’t have an account for Greenhouse, go get it
   (https://greenhouse.lotus.com)
Connect to the Activity Stream

• oAuth is used, so you need to register your app.
   (https://greenhouse.lotus.com/vulcan/security/provider/appList?
   serviceProvider=vulcanToolkit)
Connect to the Activity Stream
• Get the Extension Library of OpenNTF, the 8.5.3 code stream, at
   http://extlib.openntf.org/

• 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.
Connect to the Activity Stream
• The start point is KeysApplications.xsp in the WebSecurityStore
   database
Connect to the Activity Stream
• Create an Application Token document

• Fill in the oAuth keys and the endpoints
Connect to the Activity Stream
• In the Domino Designer go to the Package Explorer Eclipse View

• Go to the faces-config.xml
Connect to the Activity Stream
• NSFStore managed bean is used for the location of the
   WebSecurityStore database

• It will be used by other Managed beans to store oAuth data
Connect to the Activity Stream
• 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
Connect to the Activity Stream
• Create a XPage with a viewPanel

• Use the ActivityStreamData object as datasource
  • 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
Connect to the Activity Stream

   • Activity Stream JSON - use full 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

Activity Stream On Greenhouse                             Activity Stream in Yellow and Blue system
Agenda
• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A
Under the hood
• One managed bean controls everything
Under the hood
• It delegate the tasks to other Java classes
Under the hood
• On the XPages, an event handler triggered a generic Java method
   via the managed bean



• Searchresults will be stored in a Java Object




• Partial refresh of a panel on the XPages will display the
   information in a ViewPanel or a RepeatControl
Agenda
•Introduction

•Yellow and Blue

•oAuth and OpenSocial

•Activity Stream

•Yellow and Blue System

•Connect to the Activity Stream

•Under the hood

•Q&A
Questions and answers
How to reach me


  @flinden68


  http://www.domino-weblog.nl


  fli@e-office.com

More Related Content

What's hot

Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016Sunny Sharma
 
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
 
Learn VB.NET at ASIT
Learn VB.NET at ASITLearn VB.NET at ASIT
Learn VB.NET at ASITASIT
 
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
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumNgoc Dao
 
Midterm presentation
Midterm presentationMidterm presentation
Midterm presentationdsmo223
 
Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum
 
A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5Steven Smith
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6Rob Eisenberg
 
How to write test in node.js
How to write test in node.jsHow to write test in node.js
How to write test in node.jsJason Lin
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Ido Flatow
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premisesJeff Bramwell
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web frameworkNgoc Dao
 
Selenium Online Training
Selenium Online Training Selenium Online Training
Selenium Online Training Nagendra Kumar
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With JestBen McCormick
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersJohn Ferringer
 
Automate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinAutomate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinQA or the Highway
 

What's hot (20)

Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
 
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
 
Learn VB.NET at ASIT
Learn VB.NET at ASITLearn VB.NET at ASIT
Learn VB.NET at ASIT
 
.Net Fundamentals
.Net Fundamentals.Net Fundamentals
.Net Fundamentals
 
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...
 
Develop realtime web with Scala and Xitrum
Develop realtime web with Scala and XitrumDevelop realtime web with Scala and Xitrum
Develop realtime web with Scala and Xitrum
 
Midterm presentation
Midterm presentationMidterm presentation
Midterm presentation
 
Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORM
 
A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
Thinking in Swift
Thinking in SwiftThinking in Swift
Thinking in Swift
 
How to write test in node.js
How to write test in node.jsHow to write test in node.js
How to write test in node.js
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premises
 
Java™ in Web 2.0
Java™ in Web 2.0Java™ in Web 2.0
Java™ in Web 2.0
 
How to write a web framework
How to write a web frameworkHow to write a web framework
How to write a web framework
 
Selenium Online Training
Selenium Online Training Selenium Online Training
Selenium Online Training
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 
Automate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinAutomate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron Swerlein
 

Similar to Uklug2012 yellow and blue stream

Entwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesEntwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesFrank van der Linden
 
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
 
how to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pageshow to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pagesFrank van der Linden
 
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
 
adaptive-case-management-with-alfresco-and-activiti (1).pptx
adaptive-case-management-with-alfresco-and-activiti (1).pptxadaptive-case-management-with-alfresco-and-activiti (1).pptx
adaptive-case-management-with-alfresco-and-activiti (1).pptxSudheerKumar499932
 
Open Data and Web API
Open Data and Web APIOpen Data and Web API
Open Data and Web APISammy Fung
 
A lap around Azure Data Factory
A lap around Azure Data FactoryA lap around Azure Data Factory
A lap around Azure Data FactoryBizTalk360
 
Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...Sanjay Willie
 
UiPath Community - Dallas - Studio Web.pdf
UiPath Community - Dallas - Studio Web.pdfUiPath Community - Dallas - Studio Web.pdf
UiPath Community - Dallas - Studio Web.pdfDianaGray10
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldDevOps Enterprise Summit
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010Joel Gascoigne
 
Microsoft flow how, when & why
Microsoft flow   how, when & whyMicrosoft flow   how, when & why
Microsoft flow how, when & whyDocFluix, LLC
 
Phase two of OpenAthens SP evolution including OpenID connect option
Phase two of OpenAthens SP evolution including OpenID connect optionPhase two of OpenAthens SP evolution including OpenID connect option
Phase two of OpenAthens SP evolution including OpenID connect optionEduserv
 
How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017Rittman Analytics
 
Open Source & Identity Management
Open Source & Identity ManagementOpen Source & Identity Management
Open Source & Identity ManagementJISC Netskills
 
Africa Series 2 Session 4 - Data Services
Africa Series 2 Session 4 - Data Services Africa Series 2 Session 4 - Data Services
Africa Series 2 Session 4 - Data Services UiPathCommunity
 
Untangling - fall2017 - week 10
Untangling - fall2017 - week 10Untangling - fall2017 - week 10
Untangling - fall2017 - week 10Derek Jacoby
 

Similar to Uklug2012 yellow and blue stream (20)

Dnug2012 yellow and blue stream
Dnug2012 yellow and blue streamDnug2012 yellow and blue stream
Dnug2012 yellow and blue stream
 
Entwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesEntwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pages
 
Blug2012 yellow and blue stream
Blug2012 yellow and blue streamBlug2012 yellow and blue stream
Blug2012 yellow and blue stream
 
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...
 
how to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pageshow to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pages
 
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
 
adaptive-case-management-with-alfresco-and-activiti (1).pptx
adaptive-case-management-with-alfresco-and-activiti (1).pptxadaptive-case-management-with-alfresco-and-activiti (1).pptx
adaptive-case-management-with-alfresco-and-activiti (1).pptx
 
Open Data and Web API
Open Data and Web APIOpen Data and Web API
Open Data and Web API
 
A lap around Azure Data Factory
A lap around Azure Data FactoryA lap around Azure Data Factory
A lap around Azure Data Factory
 
Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...Functionality, security and performance monitoring of web assets (e.g. Joomla...
Functionality, security and performance monitoring of web assets (e.g. Joomla...
 
UiPath Community - Dallas - Studio Web.pdf
UiPath Community - Dallas - Studio Web.pdfUiPath Community - Dallas - Studio Web.pdf
UiPath Community - Dallas - Studio Web.pdf
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
 
Microsoft flow how, when & why
Microsoft flow   how, when & whyMicrosoft flow   how, when & why
Microsoft flow how, when & why
 
Phase two of OpenAthens SP evolution including OpenID connect option
Phase two of OpenAthens SP evolution including OpenID connect optionPhase two of OpenAthens SP evolution including OpenID connect option
Phase two of OpenAthens SP evolution including OpenID connect option
 
How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017
 
Open Source & Identity Management
Open Source & Identity ManagementOpen Source & Identity Management
Open Source & Identity Management
 
Africa Series 2 Session 4 - Data Services
Africa Series 2 Session 4 - Data Services Africa Series 2 Session 4 - Data Services
Africa Series 2 Session 4 - Data Services
 
Untangling - fall2017 - week 10
Untangling - fall2017 - week 10Untangling - fall2017 - week 10
Untangling - fall2017 - week 10
 

More from 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
 
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
 
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
 
Integrate domino designer with cvs source control
Integrate domino designer with cvs source controlIntegrate domino designer with cvs source control
Integrate domino designer with cvs source controlFrank van der Linden
 
Domino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlDomino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlFrank van der Linden
 
Entwickler camp2012 make the impossible possible with x_pages
Entwickler camp2012 make the impossible possible with x_pagesEntwickler camp2012 make the impossible possible with x_pages
Entwickler camp2012 make the impossible possible with x_pagesFrank van der Linden
 

More from 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
 
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
 
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
 
Let me introduce you: DOTS
Let me introduce you: DOTSLet me introduce you: DOTS
Let me introduce you: DOTS
 
Integrate domino designer with cvs source control
Integrate domino designer with cvs source controlIntegrate domino designer with cvs source control
Integrate domino designer with cvs source control
 
Domino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlDomino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source control
 
Entwickler camp2012 make the impossible possible with x_pages
Entwickler camp2012 make the impossible possible with x_pagesEntwickler camp2012 make the impossible possible with x_pages
Entwickler camp2012 make the impossible possible with x_pages
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Uklug2012 yellow and blue stream

  • 1. Yellow and Blue stream Presenter: Frank van der Linden Company: e-office
  • 2. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 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 spare time I do a lot of running and then I mean a lot
  • 4. 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
  • 5. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 6. Blue process | control | predictable manage | low costs | mechanical structure & process 9 to 5 | no errors | internal focus no change | control | process leading
  • 7. Yellow knowledge | information | everywhere network | creativity | goal oriented smart & flexible
  • 8. Yellow and blue • Adaptive organization • Flexible, able to change directions • Also predictable • We have build a system to bring both worlds together.
  • 9. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 10. 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
  • 11. oAuth, the 3 leg dance
  • 12. oAuth in the real world
  • 13. 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 • OpenSocial gadgets will be part of IBM Connections 4 and IBM Lotus Notes Social Edition Source:http://en.wikipedia.org/wiki/OpenSocial
  • 14. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 15. Activity Stream •It is part of the Social Business Toolkit •It is the stream of all information •API’s to connect to the stream •It will be part of IBM Connections Next •oAuth authentication. •Support of OpenSocial gadget
  • 16. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 17. Yellow and Blue system • Get information from • IBM Connections • IBM Lotus Domino • Google • Social Business Toolkit • Tooling used • XPages • oAuth • Social enabler from OpenNTF • Java and managed beans • HTML5
  • 18. Yellow and Blue system
  • 19. Yellow and Blue system Demo
  • 20. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 21. Connect to the Activity Stream • If you don’t have an account for Greenhouse, go get it (https://greenhouse.lotus.com)
  • 22. Connect to the Activity Stream • oAuth is used, so you need to register your app. (https://greenhouse.lotus.com/vulcan/security/provider/appList? serviceProvider=vulcanToolkit)
  • 23. Connect to the Activity Stream • Get the Extension Library of OpenNTF, the 8.5.3 code stream, at http://extlib.openntf.org/ • 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.
  • 24. Connect to the Activity Stream • The start point is KeysApplications.xsp in the WebSecurityStore database
  • 25. Connect to the Activity Stream • Create an Application Token document • Fill in the oAuth keys and the endpoints
  • 26. Connect to the Activity Stream • In the Domino Designer go to the Package Explorer Eclipse View • Go to the faces-config.xml
  • 27. Connect to the Activity Stream • NSFStore managed bean is used for the location of the WebSecurityStore database • It will be used by other Managed beans to store oAuth data
  • 28. Connect to the Activity Stream • 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
  • 29. Connect to the Activity Stream • Create a XPage with a viewPanel • Use the ActivityStreamData object as datasource • 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
  • 30. Connect to the Activity Stream • Activity Stream JSON - use full 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 Activity Stream On Greenhouse Activity Stream in Yellow and Blue system
  • 31. Agenda • Introduction • Yellow and Blue • oAuth and OpenSocial • Activity Stream • Yellow and Blue System • Connect to the Activity Stream • Under the hood • Q&A
  • 32. Under the hood • One managed bean controls everything
  • 33. Under the hood • It delegate the tasks to other Java classes
  • 34. Under the hood • On the XPages, an event handler triggered a generic Java method via the managed bean • Searchresults will be stored in a Java Object • Partial refresh of a panel on the XPages will display the information in a ViewPanel or a RepeatControl
  • 35. Agenda •Introduction •Yellow and Blue •oAuth and OpenSocial •Activity Stream •Yellow and Blue System •Connect to the Activity Stream •Under the hood •Q&A
  • 37. How to reach me @flinden68 http://www.domino-weblog.nl fli@e-office.com