5. Social Connections 14 Berlin, October 16-17 2018
MAXIMIZE EMPLOYEE EXPERIENCE + CUSTOMER EXPERIENCE
BUSINESS IT
ENTERPRISE IT
6. Social Connections 14 Berlin, October 16-17 2018
Credits
1. IBM Documentation
https://www-10.lotus.com/ldd/appdevwiki.nsf/home.xsp
7. Social Connections 14 Berlin, October 16-17 2018
Credits
1. David Simpson, Patrick Li
https://davidsimpson.me/2016/02/09/ibm-connect-2016-
1402-getting-technically-cozy-with-ibm-connections-
cloud-apis-and-app-dev/
https://github.com/dvdsmpsn/ibm-connect-2016-
examples/
8. Social Connections 14 Berlin, October 16-17 2018
HOW: Connections Cloud
Extension Points
9. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud (green) App Registry
App registry (green)
• Organization
Extensions
• App
• Extension Point
• Extensions
10. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud (green) Extension Points
11. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud (pink) App Registry
App registry (pink)
• Organization
Extensions
• App
• Service
• Extensions
• Status
12. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud (pink) Extension Points
13. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
14. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
The static URL APP
15. Social Connections 14 Berlin, October 16-17 2018
define insert use
Connections Cloud Community Apps
Static URL App
16. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Static URL App -> Define
App registry (green) app
• Name
• Icon (won‘t show)
• IBM Widget for
iFrame
• Attributes
• Static URL
17. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Static URL App -> Insert (wait >5min!!)
18. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Static URL App -> Use
View
• Title (editable)
• Content of static URL
19. Social Connections 14 Berlin, October 16-17 2018
• Admins can
change content
• Views
• Landing
page
widget
„view“
• Full screen
widget
„fullpage“
Connections Cloud Community Apps
Static URL App
20. Social Connections 14 Berlin, October 16-17 2018
• ADMIN defines app with static URL
• Community Owner adds app
• Owners und Members use App „as is“
• Suggested for Apps
• that can be loaded in an iFrame (CORS issues)
• that allow anonymous access or support SSO (e. g. SAML)
• whose content don‘t depend from community context
Connections Cloud Community Apps
Static URL App
21. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
The generic URL APP
22. Social Connections 14 Berlin, October 16-17 2018
define insert configure use
Connections Cloud Community Apps
Generic URL App
23. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Generic URL App -> define
App registry (green) app
• Name
• Icon (won‘t show)
• IBM Widget for
iFrame
• Attributes
• Static URL
24. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Generic URL App -> define
Simple Domino DB
• ACL:
• Anonymous = reader
• Default = editor
• Show In Open Application
Dialog:
• false
• View for config-docs
• ID
• URL
Contains:
Skeleton.xsp
25. Social Connections 14 Berlin, October 16-17 2018
IBM iWidget
Wait for
„appready“
Send
message
Skeleton.xsp
1. Get infos
• Add event listener
• Send „appready“
• Get message
2. Load Redir.xsp
• Parameter: -> WidgetInstanceID
• Parameter: -> canPersonalize
Connections Cloud Community Apps
Generic URL App -> define
26. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Generic URL App -> define
Response to „appready“
• Widget Details
• User Details
• Permssions
• Owners can
personalize
• Members can
contribute
27. Social Connections 14 Berlin, October 16-17 2018
IBM iWidget
Wait for
„appready“
Send
message
Redir.xsp
Load-from-nsf
• @dbLookup „get URL for
WidgetInstanceID“
• Save URL-Variable in viewScope
?URL exists
• true: -> load ccContent
• false: -> load ccConfig
Connections Cloud Community Apps
Generic URL App -> define
28. Social Connections 14 Berlin, October 16-17 2018
IBM iWidget
Wait for
„appready“
Send
message
redir.xsp mit ccConfig custom ctl
URL-Input
• Get URL from ViewScope-Variable
Save-button
• Refresh ViewScope Variable
• Save-to-nsf (widgetID, URL)
• Reload page
Connections Cloud Community Apps
Generic URL App -> define
29. Social Connections 14 Berlin, October 16-17 2018
IBM iWidget
Wait for
„appready“
Send
message
redir.xsp mit ccContent custom ctl
„config“-
button ->
ccConfig
(can
Personalize)
iFrame
SRC = URL from ViewScope-Variable
Connections Cloud Community Apps
Generic URL App -> define
30. Social Connections 14 Berlin, October 16-17 2018
• „skeleton.xsp“
• Landing page
• No-cache
• ccEngine
custom control
Connections Cloud Community Apps
Generic URL App -> define
31. Social Connections 14 Berlin, October 16-17 2018
• „ccEngine“
custom control
• Add Event
listener
‘message‘
• Send ‘appready‘
• Wait for
message
• Call redir.xsp
Connections Cloud Community Apps
Generic URL App -> define
32. Social Connections 14 Berlin, October 16-17 2018
• Lookup
URL for
Widget-
InstanceID
• Load
config or
content
custom
control
Connections Cloud Community Apps
Generic URL App -> define
33. Social Connections 14 Berlin, October 16-17 2018
• Load URL
in iFrame
• Show
button if
user has
permission
Connections Cloud Community Apps
Generic URL App -> define
34. Social Connections 14 Berlin, October 16-17 2018
• Lookup
existing
config
document
• Create new if
none exists
• Show edit
field and
submit button
Connections Cloud Community Apps
Generic URL App -> define
35. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
Generic URL App -> configure
Generic URL
• Änderbarer Titel
• Infos von CNX
• URL-Eingabehttps://www.ibm.de
36. Social Connections 14 Berlin, October 16-17 2018
• Inhalt
anpassbar vom
Community
Owner
• Views
• Landing
page
widget
„view“
• Full screen
widget
„fullpage“
Connections Cloud Community Apps
Generic URL App -> use
37. Social Connections 14 Berlin, October 16-17 2018
• ADMIN defines static domino service App-URL as OrgExtension
• Community Owner adds app and sets „his“ custom web URL
• Owners und Members see only that custom web app
• Suggested for Apps
• that can be loaded in an iFrame (CORS issues)
• that allow anonymous or support SSO (e. g. SAML)
• whose content depend from community context
Connections Cloud Community Apps
Generic URL App
38. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
The generic app for protected content
39. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
The generic URL APP with keystore login
40. Social Connections 14 Berlin, October 16-17 2018
define insert config sign on use
Connections Community Apps
Generic App with Keystore
(Domino-API)
41. Social Connections 14 Berlin, October 16-17 2018
AUTH
app
get
credentials
get auth-
cookie
get URL
load URL in
iFrame
show
original UI
API
app
get
credentials
authenticate
to API
get config
parameters
get Data via
API
show
custom UI
Connections Cloud Community Apps
Generic App with Keystore
42. Social Connections 14 Berlin, October 16-17 2018
AUTH
app
get
credentials
get auth-
cookie
get URL
load URL in
iFrame
show
original UI
API
app
get
credentials
authenticate
to API
get config
parameters
get Data via
API
show
custom UI
Connections Cloud Community Apps
Generic App with Keystore
43. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
AUTH App with Keystore
AUTH-APP
• Keystore-Actions
• getCredentials()
• putCredentials()
• 3rd party Auth
Transactions
• login()
• addCookie()
• Original UI
• loadURL()
Keystore
• Keystore ACL:
• Default = no access
• Anonymous = no access
• View for config-docs
• CNX-username
• 3rd party username
• 3rd party password
(encrypted with server key)
44. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
AUTH App with Keystore
Configuration
• Infos from
Connections
• URL Configuration
(xPages App URL)
45. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
AUTH App with Keystore
Authentication
• Infos from
Connections
• User-Credentials
• Save in Keystore?
• Login via xhttp
request
46. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
AUTH App mit Keystore
Usage
• Connections
• xPages App
• Background-login
fetches LTPA-Cookie,
feels like SSO
47. Social Connections 14 Berlin, October 16-17 2018
• ADMIN defines static domino service App-URL as OrgExtension
• Community Owner adds app and sets „his“ custom web URL
• Owners und Members see only that custom web app
• Suggested for Apps
• that can be loaded in an iFrame (CORS issues)
• that provide background basic auth and deliver token cookie
• whose content depend from community context
Connections Cloud Community Apps
AUTH App mit Keystore
48. Social Connections 14 Berlin, October 16-17 2018
WHAT: Connections Cloud
Community Apps
The generic API APP with keystore
49. Social Connections 14 Berlin, October 16-17 2018
AUTH
app
get
credentials
get auth-
cookie
get URL
load URL in
iFrame
show
original UI
API
app
get
credentials
authenticate
to API
get config
parameters
get Data via
API
show
custom UI
Connections Cloud Community Apps
Generic App with Keystore
50. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
API App with Keystore
API-APP
• Keystore-Aktionen
• getCredentials()
• putCredentials()
• 3rd party API
Transaktionen
• get(), put(), modify(), …
• Custom UI
• renderData()
Keystore
• Keystore ACL:
• Default = no access
• Anonymous = no access
• View für config-docs
• CNX-username
• 3rd party username
• 3rd party password
(encrypted)
51. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
API App mit Keystore
Konfiguration
• Infos from
Connections
• Configuration (API)
• Configuration (Folder)
52. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
API App wth Keystore
Authentication
• Infos from
Connections
• User-Creddentials
• Store in Keystore?
• Login
53. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Community Apps
API App mit Keystore
Example
• Connections
• API App (Nasuni)
• Background-login
fetches LTPA-Cookie,
renders new UI, acts
as the user
54. Social Connections 14 Berlin, October 16-17 2018
• ADMIN defines static domino service App-URL as OrgExtension
• Community Owner adds app and sets „his“ custom web URL
• Owners und Members see only that custom web app
• Suggested for Apps
• that can‘t be loaded in an iFrame (CORS issues)
• that provide background basic auth and deliver token cookie
• that have a REST API (with basic or oAuth Authentication)
• whose content depend from community context
Connections Cloud Community Apps
API App mit keystore
57. Social Connections 14 Berlin, October 16-17 2018
define insert use
Connections Cloud Embedded Experience
Static URL EE app
Kein Kontext!
Bsp.
58. Social Connections 14 Berlin, October 16-17 2018
define insert use
Connections Cloud Embedded Experience
generic URL EE app
Im Kontext!
Bsp.
59. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Embedded Experience
generic URL EE app
Activity Stream
message
• Actor (me)
• Generator (our APP)
• Receiver
• Content
• Links
60. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Embedded Experience
generic URL EE app
Embedded Experience
• openSocial Objekt
• IBMs Cloud EE
widget
• custom payload
• custom URL
• static URL
61. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Embedded Experience
generic URL EE app
ee.html
• load ee.js
• inner CSS
• inner iFrame
62. Social Connections 14 Berlin, October 16-17 2018
Connections Cloud Embedded Experience
generic URL EE app
ee.js
• addEventHandler
• receiveMessage
• loadURL from custom
payload in iFrame
63. Social Connections 14 Berlin, October 16-17 2018
• ADMIN defines „generic-EE-Widget“, to allow ee.html
• API POST an e. g. /connections/opensocial/basic/rest/activitystreams/@me/@all
with static URL = ee.html and custom payload „url“ allows
any URL insde of your EE
• Your web app for EE should use SSO/oAuth – or you will –
again – have to create and use a keystore for AUTH or API
connect…
Connections Cloud Embedded Experience
generic URL EE app
64. Vössing Ingenieurgesellschaft mbH
Brunnenstraße 29-31
D-40223 Düsseldorf
Besuchen Sie uns auf:Fon: +49 211 9054-5
Email: info@voessing.de
www.voessing.de
BERATUNG I PROJEKTMANAGEMENT I PLANUNG I BAUÜBERWACHUNG