SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
DEV-1430 IBM Connections Integration
Exploring the Long List of Options
Disclaimer
2 2/24/17
• Some of the techniques exposed in the session might not be documented by
IBM and thus do engage IBM in anyway
• Some of these techniques might not work after an upgrade of either IBM
Connections cloud or IBM Connections on premises
• USE OF THIS INFORMATION IS ENTIRELY AT YOUR OWN RISK.
TRILOGGROUP AND DARWINO INC BEAR NO RESPONSIBILITY FOR
THE CONSEQUENCES OF RELIANCE ON, OR ANY INACCURACY IN,
ANY INFORMATION CONTAINED IN OR SUBMITTED TO THIS SITE.
THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESS OR IMPLIED.
About the Speakers
3 2/24/17
• Jesse Gallagher
CTO of I Know Some Guys
Board Member of OpenNTF
• Philippe Riand
CTO of Trilog Group & Darwino Inc.
Former application development chief architect for
IBM Collaboration Services
Chief architect, and inventor, of IBM Domino
XPages
Who Are We?
4 2/24/17
• TrilogGroup offers a Social Project Management solution called ProjExec
IBM partner for 20+ years
Fully integrated within the IBM platform
Connections cloud and on-premises
Often referenced by IBM as an integration example
• Darwino is an application development platform targeting mobile, cloud, and IoT
Darwino is well-integrated with IBM platforms, including IBM Connections, IBM
Domino, IBM Bluemix and IBM Watson
darwino.org, a branch of OpenNTF, is the open source organization
providing the Connections integration code shown in this session
We are in the showcase, booth 630
Objectives of the Session
5 2/24/17
• Demonstrate the techniques used by a real application to integrate with IBM
Connections, cloud & on-premises
• Show the differences between cloud and on-premises platforms and how to
adapt to them
• Introduce the open-source Darwino libraries abstracting the differences,
along with the sample code
Open Source project
6 2/24/17
• All the code shown here is *real* and available as an open source project on
Darwino.Org
• The source code is on Github:
https://github.com/darwino-org/Darwino-Connections
• It is currently made of 2 projects:
A reusable library
A demo application showing the capabilities
• It is using the darwino-commons library for convenience, which is available
as a community edition
The library is actually a subset of the full Darwino library
Authentication
Avoid multiple logins and share the same user identity
7 2/24/17
ProjExec
8 2/24/17
Authenticating on the Cloud
9 2/24/17
• ProjExec uses the IBM Connections Cloud authentication mechanism
SAML is not an option because the identity provider has to be Connections
Single sign-on is not an option because the servers are running from
different domains (no LTPA token)
Should not use basic authentication as it forces your server to store the
user/password
• The solution is to use OAuth: Authentication through Authorization
ProjExec triggers the OAuth dance to get an access token for the current
user
Any call to Connections Cloud services use the same token
A call to the people service to get the identity of the current user
/manage/oauth/getUserIdentity
Pros and Cons of using OAuth
10 2/24/17
• Works similarly on the cloud and on-premises
Well, almost – there are inconsistencies in the code that force the
application to use 2 code streams (use IBM SBT or Darwino core libs!)
connections/opensocial/oauth/rest/people/@me/@self
• The user has to grant access to the application the very first time
Once done, there is no way for the user to change that!
On-premises has a UI to manage OAuth access, but not on the cloud
• The dance is always run, but it is often seamless
If already authenticated to Connections, the login page does not appear
The user does have grant access for every single session
Authenticating On-Premises – Single Sign-On
11 2/24/17
• Uses IBM Single Sign-on technology – LTPA
Works on top of IBM servers, ideally the same WAS server
Runs in the same domain
• The authentication is seamless but you need to configure your app to use
the Connections login page
/profiles/login
WAS uses a cookie to redirect to the initial page (WASReqURL)
• There is also a Mobile login page when connecting from mobile devices
/mobile/admin/Login
Create your own login page that redirects to one or the other (by checking
the cookie above)
Custom Code Demo
12 2/24/17
Calling Services
13 2/24/17
• The OAuth Token, or the LTPA2 token can be used to call REST services on
the behalf of the user
• Be careful: some services requires the auth mode to be part of the URL
/connections/opensocial/{basic|oauth}/rest/people/{userI
d}/{groupId}
Integrating into the NavBar
Make your application visible in Connections
14 2/24/17
ProjExec
15 2/24/17
Integrating with the Cloud NavBar
16 2/24/17
• The integration should be done by an
organization administrator through the
Administration page
Has to be done on a per organization basis
This integration is basic as there is no way
to hide/show the option
• A partner can work with IBM to get its
application available as an “integrated 3
rd
party”
The process is currently heavyweight
This might change in the near future thanks to
an application catalog
Integrating with the On-Premises NavBar
17 2/24/17
• Done by customizing the IBM Connections JSPs
This has to be repeated after a new Connections installation
• Documented by IBM in the Customization Guide
https://www.ibm.com/support/knowledgecenter/SSYGQH_5.5.0/admin/custo
mize/t_admin_common_customize_main.html
Add your application to template/menu/apps.jsp
In the directory CONNECTIONS_CUSTOMIZATION_PATH
There is a ‘debug mode’ so you can do the changes without having to
restart the applications
• As it is done with JSPs, it is easy to hide/show an application for a user
http://blog.riand.com/2014/07/filtering-connections-applications.html
Custom Code Demo
18 2/24/17
Darwino
--%><tr><%--
--%><th scope="row" class="lotusNowrap"><%--
--%><img style="width:16px;height:16px;"
src="data:image/png;base64,iVBORw..."
alt="" role="presentation"><%--
--%><a href="/darwino-connections"><%--
--%><strong>Darwino Demo</strong><%--
--%></a><%--
--%></th><%--
--%><td class="lotusNowrap"><%--
--%><a href="https://localhost:8443/darwino-connections"><%--
--%>Darwino Demo Local<%--
--%></a><%--
--%></td><%--
--%></tr><%--
Get the Connections Look & Feel
Let the user feel that the application is part of IBM Connections
19 2/24/17
ProjExec
20 2/24/17
Integrate the NavBar: Connections Cloud
21 2/24/17
• This is the easiest and documented
https://www-
10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=Toolkit+do
cs#action=openDocument&res_title=Adding_the_IBM_SmartCloud_for_Soc
ial_Business_banner_to_partner_applications_sbt&content=sdkcontent
• Just insert a JavaScript tag to your application
<script
src="https://<connections_server>/navbar/banner/<appName>/<divElementId>"></script>
• The banner recently evolved in June 2016 and then September 2016
Use an extra parameter to get the new version:
<script src="...navbar/banner/partner/<divElementId>?PNB=1"></script>
Make your Application Look Like Connections
22 2/24/17
• The look and feel consistency is achieved by using the same style sheet
Since V1, Connections used OneUI that has been documented until v3.0.3
http://infolib.lotus.com/resources/oneui/3.0/docPublic/index.htm
Now, it is called Hikari but the same style names seem to apply
But it is not documented anymore
What is next is unclear!
• On premises, the CSS are loaded with the header as explained before
• On the cloud, you have to load the CSS yourself from the Connections
server
Inspect the CSS loaded by a Connections app and load them explicitly
Custom Code Demo
23 2/24/17
Customizing the UI
Widgets, Gadgets, Community Applications
24 2/24/17
ProjExec
25 2/24/17
Comparing the Technologies
26 2/24/17
iWidgets
- Defined using an widget-config.xml files
- Renders inline HTML in the page
- Not secure for cloud deployment
- Added from the Connections admin UI or using script
OpenSocial Gadgets
- Defined using a gadget.xml file
- Renders within a controlled iFrame in the page
- Designed for pure client, single page apps
- Proprietary JavaScript API
- Platform-agnostic API, although poorly implemented in Connections
- Registered though script commands
Community Applications
- Defined using a JSON file
- Render a simple iFrame pointing to your URL
- No APIs available
- Communicate the context (community id, user, …) using a simple
postMessage(…) to the iFrame
- Registered from the Connections admin UI or using REST services
For Connections On-Premises
For the Embedded Experience
(includes the Notes client)
For Connections Cloud
(maybe Verse?)
Optimize your Development
27 2/24/17
• Three technologies for the same purpose: render your app in IBM’s UI!
But don’t write the same applications 3 times
• The rules
Write your “thing” to be embedded in a iFrame
Works in the cloud
Isolated context from the page/other components (CSS, JavaScript…)
Wrap the API calls into a common API, delegating to the underlying technology
Use the iFrame directly as an community application (or a gadget)
Create a generic iWidget definition inserting an iFrame
The Techniques
28 2/24/17
• On the cloud, a static HTML page is gathering the community information
Can redirect to another page
The parameters can then be sent to the server for processing
Ex: community ID
• On premises, the widget generates an <iframe> tag that loads the real page
Information can be gathered from the main page and sent to the iframe (not
implemented in the demo)
A resizing mechanism can also be implemented
• In both case, the body comes from the same code
Custom Code Demo
29 2/24/17
What Else?
Many other capabilities are available
30 2/24/17
Other Extensions to Consider
31 2/24/17
• Connections cloud
Add organization extensions, per service
BSS API, to access to use registration and guest users
Display the business card
• Connections on-premises
Customize the UI besides iWidgets – act on the JSPs
Display the business card
Participate in JavaScript aggregation
Since C5.0, pure client aggregation does not work
Create a Jazz OSGi plug-in and contribute your JS
SPIs
IBM Guest Speaker
How this will evolve in a near future
32 2/24/17
The Future of Connections Application Development
33 2/24/17
• Maureen Leland
Connections App Dev Chief Architect
Session to follow:
DEV-1048 : The Future Is PINK: IBM Connections Your
Way
Program : Development, Design and Tools
Topic : Enterprise collaboration
Session Type : Breakout Session
Date/Time : Wed, 22-Feb, 11:00 AM-11:45 AM
Location : Moscone West, Level 2 - Room 2007
Presenter(s) : Andre Hagemeier, IBM; Maureen Leland,
IBM
Thank you
34 2/24/17

Weitere ähnliche Inhalte

Was ist angesagt?

How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thingBelsoft
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsSharon James
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...David Currie
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on BluemixRam Vennam
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsIan Robinson
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgZiyad Bazed
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesEamon Muldoon
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
 
JMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocialJMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocialRyan Baxter
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para androidDroidcon Spain
 
O365con14 - microsoft lync server 2013 online hybrid voice
O365con14 - microsoft lync server 2013 online hybrid voiceO365con14 - microsoft lync server 2013 online hybrid voice
O365con14 - microsoft lync server 2013 online hybrid voiceNCCOMMS
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devopsDamien Caro
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialRyan Baxter
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
The Bluemix Quadruple Threat
The Bluemix Quadruple ThreatThe Bluemix Quadruple Threat
The Bluemix Quadruple ThreatRam Vennam
 
Microsoft lync server 2013 step by step for anyone
Microsoft lync server 2013 step by step for anyoneMicrosoft lync server 2013 step by step for anyone
Microsoft lync server 2013 step by step for anyoneVinh Nguyen
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixDavid Currie
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsKen Tabor
 

Was ist angesagt? (20)

How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
JMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocialJMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocial
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para android
 
O365con14 - microsoft lync server 2013 online hybrid voice
O365con14 - microsoft lync server 2013 online hybrid voiceO365con14 - microsoft lync server 2013 online hybrid voice
O365con14 - microsoft lync server 2013 online hybrid voice
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devops
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
The Bluemix Quadruple Threat
The Bluemix Quadruple ThreatThe Bluemix Quadruple Threat
The Bluemix Quadruple Threat
 
Microsoft lync server 2013 step by step for anyone
Microsoft lync server 2013 step by step for anyoneMicrosoft lync server 2013 step by step for anyone
Microsoft lync server 2013 step by step for anyone
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 

Andere mochten auch

One Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudOne Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudKeith Brooks
 
IBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino DesignerIBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino DesignerStephan H. Wissel
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friendStephan H. Wissel
 
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing SmartcloudConnect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing SmartcloudMatteo Bisi
 
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017panagenda
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With GraphsRed Pill Now
 
IBM Connect 2017: Refresh and Extend IBM Domino Applications
IBM Connect 2017: Refresh and Extend IBM Domino ApplicationsIBM Connect 2017: Refresh and Extend IBM Domino Applications
IBM Connect 2017: Refresh and Extend IBM Domino ApplicationsEd Brill
 
Socialytics: Accelerating IBM Connections Adoption with Watson Analytics
Socialytics: Accelerating IBM Connections Adoption with Watson AnalyticsSocialytics: Accelerating IBM Connections Adoption with Watson Analytics
Socialytics: Accelerating IBM Connections Adoption with Watson AnalyticsFemke Goedhart
 
18+ Ways To Help Clients Love You
18+ Ways To Help Clients Love You18+ Ways To Help Clients Love You
18+ Ways To Help Clients Love YouKeith Brooks
 
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017panagenda
 
AD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus DominoAD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus DominoStephan H. Wissel
 
Email vs. Status Updates as presented at Social Connections VIII Event
Email vs. Status Updates as presented at Social Connections VIII EventEmail vs. Status Updates as presented at Social Connections VIII Event
Email vs. Status Updates as presented at Social Connections VIII EventKeith Brooks
 
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Keith Brooks
 
My Dog Ate My Translation Assignment
My Dog Ate My Translation AssignmentMy Dog Ate My Translation Assignment
My Dog Ate My Translation AssignmentKeith Brooks
 
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...Extend IBM Connections to a Social Intranet with Internal Communications, Emp...
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...LetsConnect
 
User Access Manager for IBM Connections (UAM)
User Access Manager for IBM Connections (UAM)User Access Manager for IBM Connections (UAM)
User Access Manager for IBM Connections (UAM)TIMETOACT GROUP
 

Andere mochten auch (20)

One Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The CloudOne Firm's Wild Ride to The Cloud
One Firm's Wild Ride to The Cloud
 
IBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino DesignerIBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino Designer
 
GraphQL 101
GraphQL 101GraphQL 101
GraphQL 101
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
 
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing SmartcloudConnect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
 
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With Graphs
 
IBM Connect 2017: Refresh and Extend IBM Domino Applications
IBM Connect 2017: Refresh and Extend IBM Domino ApplicationsIBM Connect 2017: Refresh and Extend IBM Domino Applications
IBM Connect 2017: Refresh and Extend IBM Domino Applications
 
Socialytics: Accelerating IBM Connections Adoption with Watson Analytics
Socialytics: Accelerating IBM Connections Adoption with Watson AnalyticsSocialytics: Accelerating IBM Connections Adoption with Watson Analytics
Socialytics: Accelerating IBM Connections Adoption with Watson Analytics
 
18+ Ways To Help Clients Love You
18+ Ways To Help Clients Love You18+ Ways To Help Clients Love You
18+ Ways To Help Clients Love You
 
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
 
AD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus DominoAD107 Microsoft SharePoint meets IBM Lotus Domino
AD107 Microsoft SharePoint meets IBM Lotus Domino
 
IBM Connections Cloud Administration
IBM Connections Cloud AdministrationIBM Connections Cloud Administration
IBM Connections Cloud Administration
 
Email vs. Status Updates as presented at Social Connections VIII Event
Email vs. Status Updates as presented at Social Connections VIII EventEmail vs. Status Updates as presented at Social Connections VIII Event
Email vs. Status Updates as presented at Social Connections VIII Event
 
SpeedGeeking 2015
SpeedGeeking 2015SpeedGeeking 2015
SpeedGeeking 2015
 
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
 
Advanced Backups
Advanced BackupsAdvanced Backups
Advanced Backups
 
My Dog Ate My Translation Assignment
My Dog Ate My Translation AssignmentMy Dog Ate My Translation Assignment
My Dog Ate My Translation Assignment
 
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...Extend IBM Connections to a Social Intranet with Internal Communications, Emp...
Extend IBM Connections to a Social Intranet with Internal Communications, Emp...
 
User Access Manager for IBM Connections (UAM)
User Access Manager for IBM Connections (UAM)User Access Manager for IBM Connections (UAM)
User Access Manager for IBM Connections (UAM)
 

Ähnlich wie DEV-1430 IBM Connections Integration

SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarKeyur Shah
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...GRUC
 
Sequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverSequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverRyanWillDotcom
 
Get over the Cloud with Bluemix
Get over the Cloud with BluemixGet over the Cloud with Bluemix
Get over the Cloud with BluemixCodemotion
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Haytham Ghandour
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )senthil0809
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumSteven Miller
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developersFilip Rakowski
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerAOE
 

Ähnlich wie DEV-1430 IBM Connections Integration (20)

SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
 
Sequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverSequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 Denver
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
Get over the Cloud with Bluemix
Get over the Cloud with BluemixGet over the Cloud with Bluemix
Get over the Cloud with Bluemix
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
IBM Notes in the Cloud
IBM Notes in the CloudIBM Notes in the Cloud
IBM Notes in the Cloud
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Bluemix DevOps Services
Bluemix DevOps Services Bluemix DevOps Services
Bluemix DevOps Services
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel Pötzinger
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 

Mehr von Jesse Gallagher

OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeOpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeJesse Gallagher
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
 
OpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - JesseOpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - JesseJesse Gallagher
 
CollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP ToolingCollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP ToolingJesse Gallagher
 
Engage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesEngage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesJesse Gallagher
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesJesse Gallagher
 

Mehr von Jesse Gallagher (7)

OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeOpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
OpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - JesseOpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - Jesse
 
CollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP ToolingCollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP Tooling
 
Engage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesEngage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPages
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPages
 
MWLUG 2016 - AD106
MWLUG 2016 - AD106MWLUG 2016 - AD106
MWLUG 2016 - AD106
 

Kürzlich hochgeladen

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

DEV-1430 IBM Connections Integration

  • 1. DEV-1430 IBM Connections Integration Exploring the Long List of Options
  • 2. Disclaimer 2 2/24/17 • Some of the techniques exposed in the session might not be documented by IBM and thus do engage IBM in anyway • Some of these techniques might not work after an upgrade of either IBM Connections cloud or IBM Connections on premises • USE OF THIS INFORMATION IS ENTIRELY AT YOUR OWN RISK. TRILOGGROUP AND DARWINO INC BEAR NO RESPONSIBILITY FOR THE CONSEQUENCES OF RELIANCE ON, OR ANY INACCURACY IN, ANY INFORMATION CONTAINED IN OR SUBMITTED TO THIS SITE. THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  • 3. About the Speakers 3 2/24/17 • Jesse Gallagher CTO of I Know Some Guys Board Member of OpenNTF • Philippe Riand CTO of Trilog Group & Darwino Inc. Former application development chief architect for IBM Collaboration Services Chief architect, and inventor, of IBM Domino XPages
  • 4. Who Are We? 4 2/24/17 • TrilogGroup offers a Social Project Management solution called ProjExec IBM partner for 20+ years Fully integrated within the IBM platform Connections cloud and on-premises Often referenced by IBM as an integration example • Darwino is an application development platform targeting mobile, cloud, and IoT Darwino is well-integrated with IBM platforms, including IBM Connections, IBM Domino, IBM Bluemix and IBM Watson darwino.org, a branch of OpenNTF, is the open source organization providing the Connections integration code shown in this session We are in the showcase, booth 630
  • 5. Objectives of the Session 5 2/24/17 • Demonstrate the techniques used by a real application to integrate with IBM Connections, cloud & on-premises • Show the differences between cloud and on-premises platforms and how to adapt to them • Introduce the open-source Darwino libraries abstracting the differences, along with the sample code
  • 6. Open Source project 6 2/24/17 • All the code shown here is *real* and available as an open source project on Darwino.Org • The source code is on Github: https://github.com/darwino-org/Darwino-Connections • It is currently made of 2 projects: A reusable library A demo application showing the capabilities • It is using the darwino-commons library for convenience, which is available as a community edition The library is actually a subset of the full Darwino library
  • 7. Authentication Avoid multiple logins and share the same user identity 7 2/24/17
  • 9. Authenticating on the Cloud 9 2/24/17 • ProjExec uses the IBM Connections Cloud authentication mechanism SAML is not an option because the identity provider has to be Connections Single sign-on is not an option because the servers are running from different domains (no LTPA token) Should not use basic authentication as it forces your server to store the user/password • The solution is to use OAuth: Authentication through Authorization ProjExec triggers the OAuth dance to get an access token for the current user Any call to Connections Cloud services use the same token A call to the people service to get the identity of the current user /manage/oauth/getUserIdentity
  • 10. Pros and Cons of using OAuth 10 2/24/17 • Works similarly on the cloud and on-premises Well, almost – there are inconsistencies in the code that force the application to use 2 code streams (use IBM SBT or Darwino core libs!) connections/opensocial/oauth/rest/people/@me/@self • The user has to grant access to the application the very first time Once done, there is no way for the user to change that! On-premises has a UI to manage OAuth access, but not on the cloud • The dance is always run, but it is often seamless If already authenticated to Connections, the login page does not appear The user does have grant access for every single session
  • 11. Authenticating On-Premises – Single Sign-On 11 2/24/17 • Uses IBM Single Sign-on technology – LTPA Works on top of IBM servers, ideally the same WAS server Runs in the same domain • The authentication is seamless but you need to configure your app to use the Connections login page /profiles/login WAS uses a cookie to redirect to the initial page (WASReqURL) • There is also a Mobile login page when connecting from mobile devices /mobile/admin/Login Create your own login page that redirects to one or the other (by checking the cookie above)
  • 13. Calling Services 13 2/24/17 • The OAuth Token, or the LTPA2 token can be used to call REST services on the behalf of the user • Be careful: some services requires the auth mode to be part of the URL /connections/opensocial/{basic|oauth}/rest/people/{userI d}/{groupId}
  • 14. Integrating into the NavBar Make your application visible in Connections 14 2/24/17
  • 16. Integrating with the Cloud NavBar 16 2/24/17 • The integration should be done by an organization administrator through the Administration page Has to be done on a per organization basis This integration is basic as there is no way to hide/show the option • A partner can work with IBM to get its application available as an “integrated 3 rd party” The process is currently heavyweight This might change in the near future thanks to an application catalog
  • 17. Integrating with the On-Premises NavBar 17 2/24/17 • Done by customizing the IBM Connections JSPs This has to be repeated after a new Connections installation • Documented by IBM in the Customization Guide https://www.ibm.com/support/knowledgecenter/SSYGQH_5.5.0/admin/custo mize/t_admin_common_customize_main.html Add your application to template/menu/apps.jsp In the directory CONNECTIONS_CUSTOMIZATION_PATH There is a ‘debug mode’ so you can do the changes without having to restart the applications • As it is done with JSPs, it is easy to hide/show an application for a user http://blog.riand.com/2014/07/filtering-connections-applications.html
  • 18. Custom Code Demo 18 2/24/17 Darwino --%><tr><%-- --%><th scope="row" class="lotusNowrap"><%-- --%><img style="width:16px;height:16px;" src="data:image/png;base64,iVBORw..." alt="" role="presentation"><%-- --%><a href="/darwino-connections"><%-- --%><strong>Darwino Demo</strong><%-- --%></a><%-- --%></th><%-- --%><td class="lotusNowrap"><%-- --%><a href="https://localhost:8443/darwino-connections"><%-- --%>Darwino Demo Local<%-- --%></a><%-- --%></td><%-- --%></tr><%--
  • 19. Get the Connections Look & Feel Let the user feel that the application is part of IBM Connections 19 2/24/17
  • 21. Integrate the NavBar: Connections Cloud 21 2/24/17 • This is the easiest and documented https://www- 10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=Toolkit+do cs#action=openDocument&res_title=Adding_the_IBM_SmartCloud_for_Soc ial_Business_banner_to_partner_applications_sbt&content=sdkcontent • Just insert a JavaScript tag to your application <script src="https://<connections_server>/navbar/banner/<appName>/<divElementId>"></script> • The banner recently evolved in June 2016 and then September 2016 Use an extra parameter to get the new version: <script src="...navbar/banner/partner/<divElementId>?PNB=1"></script>
  • 22. Make your Application Look Like Connections 22 2/24/17 • The look and feel consistency is achieved by using the same style sheet Since V1, Connections used OneUI that has been documented until v3.0.3 http://infolib.lotus.com/resources/oneui/3.0/docPublic/index.htm Now, it is called Hikari but the same style names seem to apply But it is not documented anymore What is next is unclear! • On premises, the CSS are loaded with the header as explained before • On the cloud, you have to load the CSS yourself from the Connections server Inspect the CSS loaded by a Connections app and load them explicitly
  • 24. Customizing the UI Widgets, Gadgets, Community Applications 24 2/24/17
  • 26. Comparing the Technologies 26 2/24/17 iWidgets - Defined using an widget-config.xml files - Renders inline HTML in the page - Not secure for cloud deployment - Added from the Connections admin UI or using script OpenSocial Gadgets - Defined using a gadget.xml file - Renders within a controlled iFrame in the page - Designed for pure client, single page apps - Proprietary JavaScript API - Platform-agnostic API, although poorly implemented in Connections - Registered though script commands Community Applications - Defined using a JSON file - Render a simple iFrame pointing to your URL - No APIs available - Communicate the context (community id, user, …) using a simple postMessage(…) to the iFrame - Registered from the Connections admin UI or using REST services For Connections On-Premises For the Embedded Experience (includes the Notes client) For Connections Cloud (maybe Verse?)
  • 27. Optimize your Development 27 2/24/17 • Three technologies for the same purpose: render your app in IBM’s UI! But don’t write the same applications 3 times • The rules Write your “thing” to be embedded in a iFrame Works in the cloud Isolated context from the page/other components (CSS, JavaScript…) Wrap the API calls into a common API, delegating to the underlying technology Use the iFrame directly as an community application (or a gadget) Create a generic iWidget definition inserting an iFrame
  • 28. The Techniques 28 2/24/17 • On the cloud, a static HTML page is gathering the community information Can redirect to another page The parameters can then be sent to the server for processing Ex: community ID • On premises, the widget generates an <iframe> tag that loads the real page Information can be gathered from the main page and sent to the iframe (not implemented in the demo) A resizing mechanism can also be implemented • In both case, the body comes from the same code
  • 30. What Else? Many other capabilities are available 30 2/24/17
  • 31. Other Extensions to Consider 31 2/24/17 • Connections cloud Add organization extensions, per service BSS API, to access to use registration and guest users Display the business card • Connections on-premises Customize the UI besides iWidgets – act on the JSPs Display the business card Participate in JavaScript aggregation Since C5.0, pure client aggregation does not work Create a Jazz OSGi plug-in and contribute your JS SPIs
  • 32. IBM Guest Speaker How this will evolve in a near future 32 2/24/17
  • 33. The Future of Connections Application Development 33 2/24/17 • Maureen Leland Connections App Dev Chief Architect Session to follow: DEV-1048 : The Future Is PINK: IBM Connections Your Way Program : Development, Design and Tools Topic : Enterprise collaboration Session Type : Breakout Session Date/Time : Wed, 22-Feb, 11:00 AM-11:45 AM Location : Moscone West, Level 2 - Room 2007 Presenter(s) : Andre Hagemeier, IBM; Maureen Leland, IBM