Adapting the look, feel and behaviour of IBM Connections has never been easy but the advent of a new tool called IBM Connections Customizer changes all that. This session demonstrates how to modify the Connection’s UI by taking you through use cases ranging from simple tweaks to all-new sophisticated visual layouts. Learn to add new capabilities to Connections by adding actions that call the latest API’s and integrate secure 3rd party services like Watson. The Customizer development and governance models will also be fully explained – come learn how to take control of your IBM Connections world!
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
IBM Connections Customizer – A Whole New World of Possibilities
1. 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
2. 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.
3. 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
5. 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
6. 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…
7. 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
8. 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 :-)
9. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Simple Request Routing
Connections
21
10. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Simple Request Routing
Connections Customizer
1
2
3
4
11. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Customizer with App Registry
Connections Customizer
Adjust payload
Customer1 Customer2
ForUser1
Customization
Manager
AppRegistry
ForCommunityX
12. 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
13. 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
14. 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
15. 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
16. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Vienna, October 16-17 2017
Demo
Time
17. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Vienna, October 16-17 2017
Technical Summary
18. 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”
19. 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 Cloud
o 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
20. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
IBM
Customizer
Request
Lifecycle
21. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
IBM Customizer Big Picture
22. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Vienna, October 16-17 2017
Art of the Possible
23. 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
24. 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
25. 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
26. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
3D Search
• IBM China Dev Team
27. 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
28. Social Connections 11 Chicago, June 1-2 2017Social Connections 12 Vienna, October 16-17 2017
Vienna, October 16-17 2017
Wrap Up
29. 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
30. 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…
31. 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
32. 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