Top Banner
Vienna, October 16-17 2017 IBM Connections Customizer A Whole New World of Possibilities Martin Donnelly Brian Gleeson Room 3, Oct 17 2017, 9:40am - 10:40am
34

IBM Connections Customizer – A Whole New World of Possibilities

Jan 21, 2018

Download

Business

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IBM Connections Customizer – A Whole New World of Possibilities

Vienna, October 16-17 2017

IBM Connections Customizer – A Whole New World of PossibilitiesMartin Donnelly

Brian Gleeson

Room 3, Oct 17 2017, 9:40am - 10:40am

Page 2: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Please Note

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.

The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Brian Gleeson

Software Developer

@BGleesonIE

Martin Donnelly

Software Architect

@TweeterDonnelly

Page 4: IBM Connections Customizer – A Whole New World of Possibilities

PLATINUM SPONSORS

GOLD SPONSORS

SILVER SPONSORS

BRONZE SPONSORS

Page 5: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Agenda

• IBM Connections Customizer – What, Why & How…

• Say Hello to IBM Connections App Registry

• Demo Time

• Technical Summary

• Art of the Possible

• Wrap Up

Page 6: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

IBM Customizer

Why, What & How…

Page 7: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

IBM Connections Customizer

• … formerly known as Muse

• tool for modifying the IBM Connections UI

• an intelligent server that acts as an

intermediary between and endpoint device

and another server from which a user is

requesting a service - a proxy

Page 8: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

IBM Connections Customizer

• As a proxy between the request and response it can:

• change behavior of the service its sitting in front of…

• rewrite requests

• rewrite responses

• inject custom items

• do predictive caching

• do pretty much anything :-)

Page 9: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Simple Request Routing

Connections

21

Page 10: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Simple Request Routing

Connections Customizer

1

2

3

4

Page 11: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Customizer with App Registry

Connections Customizer

Adjust payload

Customer 1 Customer 2For User 1

Customization

ManagerApp Registry

For Community X

Page 12: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Say Hello to the

IBM Connections App Registry

Page 13: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

What is App Registry ?

In general terms…

• A central app design repo with UI and API access

• Helps manage and deploy apps on a per-org basis

• Provides a hierarchical model for defining applications

1. Services (e.g. OrientMe, ITM etc) declare Extension Points that expose customizable features

2. Apps are just containers for one or more extensions

3. An Extension is an implementation of an Extension Point

Service

App

Ext1 Ext2

App

Ext

Page 14: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Simplified Anatomy of an App

{

"services": ["Customizer"],

"name": "Custom Communities",

"extensions": [ {

"type": "com.ibm.customizer.ui",

"path": "communities",

"payload": {

"include-files":["flipcard.js"]

}}]}

Customizer

Homepage Customizations

Kanban Watson Tone Analysis

Custom Communities

Flip Card Layout

Page 15: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

App Reg Design Properties

• type – identifies the extension point being implemented

com.ibm.customizer.ui | com.ibm.customizer.api

• path – in Customizer context it identifies the URL path

https://apps.collabservintegration.com/profiles/html/myProfileView.do#&tabinst=Updates

activities

blogs

communities

files

forums

global *

homepage

mycontacts

news

profiles

search

wikis

GET /appregistry/api/v2/services/Customizer/extensions?type= com.ibm.customizer.ui&path=profiles

Sample URL

App Reg REST Query

Valid Paths

Page 16: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Demo

Time

Page 17: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Technical Summary

Page 18: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Customizer Design Properties

Customizer payload section exposes various properties

• match - url

• A regular expression can be used to match against the current request

• e.g. id=[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12} to test for a GUID in the URL

• user-name – compares specified value to the currently logged in user

• user-email – compares specified value to the email address current user

• user-id – compares specified value to user id (aka subscriber id)

• include-files – one or more files to inject e.g. “main.js”

Page 19: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Managing Include Files

Where do the “include-files” reside?• On Cloud injected resources are synched and managed by a Files microservice

How to upload your include files to IBM Connections Cloudo Store your extension resources in your own GitHub repo

o Share your repo with IBM (https://github.com/ibmcnxdev)

o Issue a pull request to IBM when your extension is ready

o IBM merges pull request once acceptance criteria are met

o Repo files are pushed to Cloud via a webhook upon merge

o Rinse & repeat starting at Step #3 for extension updates

Page 20: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

IBM

Customizer

Request

Lifecycle

Page 21: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

IBM Customizer Big Picture

Page 22: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Art of the Possible

Page 23: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Enhanced Activity Stream

• https://github.com/OpenCode4Connections/enhanced-activity-stream

• Jay Agrawal

Page 24: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Status Tone Analyzer

• https://github.com/OpenCode4Connections/status-update-tone-analyzer

• John Jardin

Page 25: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Communities 3D Search

• https://github.com/OpenCode4Connections/bluemix-weather-widget

• https://github.com/OpenCode4Connections/watson-workspace-links

• Brian Gleeson

Page 26: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

3D Search

• IBM China Dev Team

Page 27: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Summary

• Customizer is a Tactical Solution – not everything is a nail !

• Strategic solution for customizations is based on extension points

• Services declare extension points for customizable features

• Customizations are contributed according to the extension point rules

• Customizer extensions are based on a “man-in-the-middle” approach

• Intercept and modify interesting request/responses

• More fragile than an extension point mechanism

• But a good tactical solution where no extension points are in place

Page 28: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Vienna, October 16-17 2017

Wrap Up

Page 29: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Expand your Customizer Horizons

• A new open source community puts more extensions at your fingertips

• https://opencode4connections.org

• Associated open source repo – github.com/opencode4connections

Page 30: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Our Next Session

• For a preview of Pink customization via extension points…

Page 31: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Useful Resources

Check out the doc and samples on the Connections Developer GitHub site

https://github.com/ibmcnxdev/customizer/

https://github.com/ibmcnxdev/customizer/blob/master/README.md

https://github.com/ibmcnxdev/customizer/tree/master/docs

https://github.com/ibmcnxdev/customizer/tree/master/samples

https://github.com/ibmcnxdev/customizer/blob/master/docs/IBMConnectionsCustomizer.pdf

Help start a new community :https://opencode4connections.org

Watch some short videos on the OpenNTF YouTube channel http://bit.ly/2xmUuj5

Page 32: IBM Connections Customizer – A Whole New World of Possibilities

Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017

Useful Resources

For a Jump Start with User Script Add-Ons etc.• https://greasyfork.org/en

• https://tampermonkey.net/

• http://www.greasespot.net/

• https://zach-adams.com/2014/05/best-userscripts-tampermonkey-greasemonkey/

• https://www.lifewire.com/top-greasemonkey-tampermonkey-user-scripts-4134335

Page 33: IBM Connections Customizer – A Whole New World of Possibilities

Thank You

Thank You

Page 34: IBM Connections Customizer – A Whole New World of Possibilities

PLATINUM SPONSORS

GOLD SPONSORS

SILVER SPONSORS

BRONZE SPONSORS