Slide 1

Slide 1 text

Connections Customizer for Dummies Wannes Rams 1 #NCUG

Slide 2

Slide 2 text

2 About Us Wannes Rams Table tennis Travel User groups Senior Architect # NCUG

Slide 3

Slide 3 text

3 #NCUG Social Connections

Slide 4

Slide 4 text

4 #NCUG Social Connections Venue

Slide 5

Slide 5 text

High level Overview 5 # NCUG

Slide 6

Slide 6 text

What is Customizer? 6 Overview Solution for modifying the IBM Connections UX A server that acts as an intermediary between an endpoint device and another server from which a user is requesting a service … an intelligent proxy # NCUG

Slide 7

Slide 7 text

Customizer can change the behavior of the service it stands in front of… 7 Therefore Customizer could: • rewrite requests • rewrite responses • inject custom items • do predictive caching • proxy requests • log traffic …etc Overview # NCUG

Slide 8

Slide 8 text

Simple Request Routing 8 Overview # NCUG

Slide 9

Slide 9 text

Proxied Request Routing 9 Overview Connections Customizer 1 2 3 4 # NCUG

Slide 10

Slide 10 text

Connections Customizer Adjust payload Customer 1 for User X Customization Manager Customizer with App Registry 10 Overview App Registry Customer 2 for all Users # NCUG

Slide 11

Slide 11 text

11 Overview Customizer Request Lifecycle # NCUG

Slide 12

Slide 12 text

What is the App Registry ? 1. Database - apps are declared in JSON 2. App design repo with UI and API access 3. Provides a hierarchical model for defining apps on a per-org basis 12 Application Model Services declare extension points Apps are containers for extensions Extensions implement extension points Overview Service App Ext1 Ext2 Ap p Ext # NCUG

Slide 13

Slide 13 text

Simplified Customizer App 13 Overview Customizer Homepage Customizatio ns Kanban Watson Tone Analysis Custom Communities Flip Card Layout # NCUG

Slide 14

Slide 14 text

App Reg Design Properties type – identifies the extension point being implemented com.ibm.customizer.ui | com.ibm.customizer.api | com.ibm.customizer.proxy path – in Customizer context identifies the URL path https://apps.na.collabserv.com/profiles/html/myProfileView.do#&tabinst=Updates 14 news profiles search Overview activities blogs communities homepage mycontacts meetings social viewer wikis files forums global * Valid Paths GET /appregistry/api/v3/services/Customizer/extensions?type= com.ibm.customizer.ui&path=profiles App Reg REST query # NCUG

Slide 15

Slide 15 text

16 IBM Connections Customizer – Big Picture # NCUG

Slide 16

Slide 16 text

Demo (end-to-end roundtrip) 17 # NCUG

Slide 17

Slide 17 text

Managing Include Files on ICC 1. Share your repo with IBM 2. IBM forks your repo under github.com/ibmcnxdev and syncs with ICC 3. To update your app, modify the code in the repo and issue a Pull Request 4. Your PR will either merge automatically or need to be reviewed by IBM manually 5. Upon merge, updates are synched to ICC 6. Repeat Steps 3-5 as needed 18 End to End Roundtrip Customizer GitHub ibmcnxdev repositories Code Synch via webhook IBM Connections Cloud # NCUG

Slide 18

Slide 18 text

19 #NCUG Important Message !!! • If you are still have your content on github.ibm.com it needs migrating to github.com • There is a procedure • Migration Process • Make sure to have a local fork or archive of the existing repository you wish to preserve and use. • Create an account at https://github.com if you do not already have one. • Create a new repository at github.com into which you can migrate the existing customization files, taking note of the guidance below: • iYou cannot re-use the exact same repository name because Customizer builds an aggregated store of all customizations from both github.ibm.com and github.com and repository names must be unique. • There is no need to continue using the organization ID as the repository name. • Use a meaningful name for your repository. Please avoid using 'customizer' or 'customization' in the name if possible. Adhere to the github naming convention by using all lowercase letters with hyphens as separators (e.g bluemix-weather-widget, uniqueName-samples). You can rename your repository in the repository Settings tab - see Settings - Option - Repository Name - Rename. • Please include a readme file explaining the repository contents and its intended purpose, even if this is very brief and high level. • You can optionally include a licence. Ideally we hope your project will graduate to something that others would like to consume or maybe even help extend. If you add a license to your project we recommend the Apache License 2.0. • 4. Copy the files from the existing fork or archive into the new repository. • 5. Invite the [email protected] account into the new repository so that it can fork and merge from your new repository into the organization from which Customizer builds the customizations. • 6. Notify the Customizer Development Team via email at [email protected] when ready for content to be pulled into the Customizer organization in GitHub. • 7. Once the changes have been merged from the new repository, update the application definition JSON to reference the new repository name. • 8. Test that the customizations are functioning correctly.

Slide 19

Slide 19 text

Summary 20 # NCUG

Slide 20

Slide 20 text

Customizer Quick Start Install the Customizer Nifty Scripties app Available for ICC tenants on the IBM Connections App Catalog Available for On-Premises customers from github.com/ibmcnxdev/global-samples 21 # NCUG

Slide 21

Slide 21 text

Useful Resources Check out the latest doc and samples on the Connections Developer GitHub site: https://github.com/ibmcnxdev/ https://github.com/ibmcnxdev/global-samples https://github.com/ibmcnxdev/customizer/ https://github.com/ibmcnxdev/customizer/blob/master/README.md https://github.com/ibmcnxdev/customizer/blob/master/docs/IBMConnectionsCustomizer.md Be part of the community : https://opencode4connections.org Watch some short enablement videos on the OpenNTF YouTube channel http://bit.ly/2xmUuj5 Follow Martin’s blog: http://martindonnellyblog.wordpress.com/ 22 Summary # NCUG

Slide 22

Slide 22 text

Other 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 23 Summary # NCUG

Slide 23

Slide 23 text

Thank you 24 Wannes Rams Senior Architect - Ramsit — [email protected] @wannesrams https://ramsit.com/blog https://socialconnections.info Miki Banatwala STSM – IBM ICS — [email protected] Twitter: @bmustan # NCUG