Uklug2012 yellow and blue stream

37
Presenter: Frank van der Linden Company: e-office Yellow and Blue stream

description

My

Transcript of Uklug2012 yellow and blue stream

Page 1: Uklug2012 yellow and blue stream

Presenter: Frank van der LindenCompany: e-office

Yellow and Blue stream

Page 2: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 3: Uklug2012 yellow and blue stream

• 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

Frank van der Linden

Page 4: Uklug2012 yellow and blue stream

• 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

e-office

Page 5: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 6: Uklug2012 yellow and blue stream

Blue

structure & process

process | control | predictable

manage | low costs | mechanical

9 to 5 | no errors | internal focus

no change | control | process leading

Page 7: Uklug2012 yellow and blue stream

Yellow

smart & flexible

knowledge | information | everywhere

network | creativity | goal oriented

Page 8: Uklug2012 yellow and blue stream

Yellow and blue

• Adaptive organization

• Flexible, able to change directions

• Also predictable

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

Page 9: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 10: Uklug2012 yellow and blue stream

What is oAuth?

• oAuth (Open Authorization) is an open standard for authorization

• It allows users to share their resources stored on one site with another site without having to hand out their credentials

• oAuth allows users to hand out tokens instead of credentials to their data hosted by a given service provider.

Source: http://en.wikipedia.org/wiki/OAuth

Page 11: Uklug2012 yellow and blue stream

oAuth, the 3 leg dance

Page 12: Uklug2012 yellow and blue stream

oAuth in the real world

Page 13: Uklug2012 yellow and blue stream

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

Page 14: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 15: Uklug2012 yellow and blue stream

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 and Lotus Notes Social Edition.

• oAuth authentication.

• Support of OpenSocial gadget specification.

Page 16: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 17: Uklug2012 yellow and blue stream

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

Page 18: Uklug2012 yellow and blue stream

Yellow and Blue system

Page 19: Uklug2012 yellow and blue stream

Yellow and Blue system Demo

Page 20: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 21: Uklug2012 yellow and blue stream

Connect to the Activity Stream

• If you don’t have an account for Greenhouse, go get it

(https://greenhouse.lotus.com)

Page 22: Uklug2012 yellow and blue stream

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)

Page 23: Uklug2012 yellow and blue stream

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.

Page 24: Uklug2012 yellow and blue stream

Connect to the Activity Stream

• The start point is KeysApplications.xsp in the WebSecurityStore database

Page 25: Uklug2012 yellow and blue stream

Connect to the Activity Stream

• Create an Application Token document

• Fill in the oAuth keys and the endpoints

Page 26: Uklug2012 yellow and blue stream

Connect to the Activity Stream

• In the Domino Designer go to the Package Explorer Eclipse View

• Go to the faces-config.xml

Page 27: Uklug2012 yellow and blue stream

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

Page 28: Uklug2012 yellow and blue stream

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

Page 29: Uklug2012 yellow and blue stream

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

Page 30: Uklug2012 yellow and blue stream

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

Page 31: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 32: Uklug2012 yellow and blue stream

Under the hood

• One managed bean controls everything

Page 33: Uklug2012 yellow and blue stream

Under the hood

• It delegate the tasks to other Java classes

Page 34: Uklug2012 yellow and blue stream

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

Page 35: Uklug2012 yellow and blue stream

• Introduction

• Yellow and Blue

• oAuth and OpenSocial

• Activity Stream

• Yellow and Blue System

• Connect to the Activity Stream

• Under the hood

• Q&A

Agenda

Page 36: Uklug2012 yellow and blue stream

Questions and answers

Page 37: Uklug2012 yellow and blue stream

@flinden68

http://www.domino-weblog.nl

[email protected]

How to reach me