Upload
niklas-heidloff
View
4.978
Download
2
Tags:
Embed Size (px)
DESCRIPTION
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
Citation preview
© 2013 IBM Corporation
AD206IBM® Domino® XPages – Embrace, Extend, IntegratePadraic Edwards, Software Engineer, IBMNiklas Heidloff, Software Architect, IBM
2 © 2013 IBM Corporation
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 © 2013 IBM Corporation
Agenda
Introduction
Access to REST APIs from XPages
Extensions to IBM Connections via iWidgets
Extensions to IBM Connections via OpenSocial
Extensions to IBM Notes® via OpenSocial
Q & A
4 © 2013 IBM Corporation
Embrace
5 © 2013 IBM Corporation
Extend
6 © 2013 IBM Corporation
Integrate
7 © 2013 IBM Corporation
Social Enabling Technologies
Definition: Custom social applications─ Applications that provide social and collaborative functionality and/or─ Applications that leverage existing social software
Social software as well as other cloud based and on-premises services provide REST APIs
─ Custom social applications that leverage social software need to consume REST APIs
Interoperability through open standards
HTML5 ARIA SAML
8 © 2013 IBM Corporation
XPages Social Enabler and IBM Social Business Toolkit SDK
Infrastructure to easily inovke REST APIs─ XPages social enabler─ IBM Social Business Toolkit SDK
Benefits─ Isolates complexity related to authentication mechanisms─ Makes it easy to switch between multiple environments─ Provides easy to use objects with many code examples
9 © 2013 IBM Corporation
IBM Social Business Toolkit SDK
Targets the broader range of developers─ Focus on web technologies: HTML, JavaScript and CSS─ Also supports Java™ developers, and more over time
Simplifies access to …─ IBM Connections─ IBM SmartCloud™ for Social Business─ Other REST services
Provides new APIs and services designed to help developers build unified user experiences and consistent extensibility independent of ...
─ Product, ─ Delivery model (cloud, on-premises) and ─ Client type (desktop client, browser, mobile)
10 © 2013 IBM Corporation
New IBM Social Business Toolkit – Components
SDK─ Available as open source
Development community─ Wiki, Q&A, etc.
Goal: IBM Collaboration QuickStart Social Business─ On IBM SmartCloud─ As downloadable image
Playground─ Lets developers experiment the social functionality using a web based application─ Goal: Hosted on IBM Greenhouse
11 © 2013 IBM Corporation
XPages Social Enabler
The social enabler is an infrastructure to invoke REST APIs
Available on OpenNTF with samples to connect to …─ IBM Connections, IBM SmartCloud for Social Business, etc.
12 © 2013 IBM Corporation
XPages Social Enabler and IBM Social Business Toolkit SDK
IBM Social Business Toolkit SDK─ For web and Java (including XPages) developers─ Advantages:
– Convenience Java APIs to access IBM Connections and IBM SmartCloud – OAuth 2 – Anonymous users
XPages social enabler─ For XPages developers─ Advantages:
– Persistent web security store– Ltpa – XPages controls (e.g. data sources, user bean)
Goal: Integrate SDK in future XPages extension library release
13 © 2013 IBM Corporation
Demo
Create activity stream entries in communities from XPages─ Via Social Business Toolkit SDK
14 © 2013 IBM Corporation
15 © 2013 IBM Corporation
16 © 2013 IBM Corporation
17 © 2013 IBM Corporation
18 © 2013 IBM Corporation
19 © 2013 IBM Corporation
20 © 2013 IBM Corporation
21 © 2013 IBM Corporation
22 © 2013 IBM Corporation
23 © 2013 IBM Corporation
24 © 2013 IBM Corporation
25 © 2013 IBM Corporation
26 © 2013 IBM Corporation
27 © 2013 IBM Corporation
28 © 2013 IBM Corporation
29 © 2013 IBM Corporation
Scenario: Publish to other users' activity streams
Requires the definition of a trusted “user” Requires usage of basic authentication
30 © 2013 IBM Corporation
31 © 2013 IBM Corporation
32 © 2013 IBM Corporation
33 © 2013 IBM Corporation
Demo
Create bookmarks in IBM Connections from XPages─ Via XPages social enabler
34 © 2013 IBM Corporation
35 © 2013 IBM Corporation
36 © 2013 IBM Corporation
37 © 2013 IBM Corporation
38 © 2013 IBM Corporation
39 © 2013 IBM Corporation
40 © 2013 IBM Corporation
41 © 2013 IBM Corporation
42 © 2013 IBM Corporation
43 © 2013 IBM Corporation
44 © 2013 IBM Corporation
45 © 2013 IBM Corporation
Extensions to IBM Connections via iWidgets
Home pages, communities and profiles can be extended via iWidgets
Designer allows definition of iWidgets for XPages─ Goal: Improvements for sizing and full page mode
46 © 2013 IBM Corporation
47 © 2013 IBM Corporation
48 © 2013 IBM Corporation
49 © 2013 IBM Corporation
50 © 2013 IBM Corporation
51 © 2013 IBM Corporation
52 © 2013 IBM Corporation
OpenNTF Projects
Generic NSF View Widget for IBM Connections by Rene Winkelmeyer
IFrame-able View Controls by Jesse Gallagher
Notes mail and calendar for IBM Connections 3 by David Marko and Stanislav Marszalek
Attendance Widget for IBM Connections by NithyaPriya Rajkumar and Abeish Babu
53 © 2013 IBM Corporation
54 © 2013 IBM Corporation
55 © 2013 IBM Corporation
56 © 2013 IBM Corporation
57 © 2013 IBM Corporation
58 © 2013 IBM Corporation
59 © 2013 IBM Corporation
60 © 2013 IBM Corporation
61 © 2013 IBM Corporation
62 © 2013 IBM Corporation
63 © 2013 IBM Corporation
64 © 2013 IBM Corporation
65 © 2013 IBM Corporation
66 © 2013 IBM Corporation
67 © 2013 IBM Corporation
68 © 2013 IBM Corporation
69 © 2013 IBM Corporation
Extensions to IBM Connections via OpenSocial
Definition OpenSocial (from opensocial.org):─ “OpenSocial is a set of APIs for building social applications that run on the web. OpenSocial's
goal is to make more apps available to more users, by providing a common API that can be used in many different contexts. Developers can create applications, using standard JavaScript and HTML, that run on social websites that have implemented the OpenSocial APIs. These websites, known as OpenSocial containers, allow developers to access their social information.”
Implementations─ IBM Connections 4 supports OpenSocial 2.0─ Goal: IBM Notes 9 and IBM iNotes 9 to support OpenSocial─ Open source reference implementation: Apache Shindig─ Several other OpenSocial containers
70 © 2013 IBM Corporation
Responsibilities of OpenSocial Containers
Provide OpenSocial APIs─ Activity Stream API─ People API─ Microblogging API
Allow extensibility via actions and selections─ Example: Actions in the IBM Connections share box
Support OpenSocial gadgets and embedded experiences
71 © 2013 IBM Corporation
Embedded Experiences and OpenSocial Gadgets
Embedded experiences allow users to open entries from activity streams to display and interact with them in context
Support for embedded experiences:─ IBM Connections 4 CR2 personal and community activity streams─ IBM Connections 4 CR2 mail─ Goal: IBM Notes 9 and IBM iNotes 9
Embedded experiences contain either ...─ Arbitrary web pages or─ OpenSocial gadgets
72 © 2013 IBM Corporation
Web Pages vs OpenSocial Gadgets in Embedded Experiences
Web pages─ URLs to web pages rendered in iframes─ Context is passed via URL parameters─ SSO and basic authentication─ Access to IBM Connections via IBM Connections REST API
OpenSocial gadgets─ XML descriptors ─ Context is passed via OpenSocial container─ OAuth and SSO (SSO only in IBM Connections 4, not IBM Notes 9)─ OAuth to third party services is handled by the container─ Access to IBM Connections via IBM Connections REST API (superset of OpenSocial APIs)─ Contributions of actions in menus and toolbars─ Two types (both using iframes)
– URL content– HTML content
73 © 2013 IBM Corporation
Send Mail Action
Goal for IBM Notes and Domino 9: Provide new send mail action
Drag & drop simple action to facilitate sending basic mail
Ability to send both plain text and html parts
Deliver option support
Embedded experience support─ Encapsulates required JSON payload for embedded experiences─ Options for web pages or OpenSocial gadgets─ Name/value UI to easily add gadget context properties
74 © 2013 IBM Corporation
Demo
Send mails with embedded experiences rendering XPages web pages in IBM Connections mail, IBM Notes and IBM iNotes
75 © 2013 IBM Corporation
76 © 2013 IBM Corporation
77 © 2013 IBM Corporation
78 © 2013 IBM Corporation
79 © 2013 IBM Corporation
80 © 2013 IBM Corporation
81 © 2013 IBM Corporation
82 © 2013 IBM Corporation
83 © 2013 IBM Corporation
84 © 2013 IBM Corporation
85 © 2013 IBM Corporation
86 © 2013 IBM Corporation
87 © 2013 IBM Corporation
88 © 2013 IBM Corporation
89 © 2013 IBM Corporation
90 © 2013 IBM Corporation
91 © 2013 IBM Corporation
92 © 2013 IBM Corporation
93 © 2013 IBM Corporation
94 © 2013 IBM Corporation
95 © 2013 IBM Corporation
96 © 2013 IBM Corporation
97 © 2013 IBM Corporation
98 © 2013 IBM Corporation
99 © 2013 IBM Corporation
100 © 2013 IBM Corporation
101 © 2013 IBM Corporation
102 © 2013 IBM Corporation
103 © 2013 IBM Corporation
104 © 2013 IBM Corporation
Contributions of Actions
Goal: Allow contributions of actions in future versions of IBM Notes and IBM iNotes
Makes use of the OpenSocial container services API which has the following services
– gadgets.selection: to participate in the container’s selection eventing– gadgets.actions: to contribute buttons and menu items to the container’s UI– gadgets.views: to open and/or close gadgets and URL sites within the container which
it is rendered
Provides contributions to IBM Notes and IBM iNotes existing pop up menus and toolbars with the exact same code in your gadget
105 © 2013 IBM Corporation
Demo
OpenSocial gadget implemented via HTML and XPages contributing actions to IBM Notes and IBM iNotes
106 © 2013 IBM Corporation
107 © 2013 IBM Corporation
108 © 2013 IBM Corporation
109 © 2013 IBM Corporation
110 © 2013 IBM Corporation
111 © 2013 IBM Corporation
112 © 2013 IBM Corporation
113 © 2013 IBM Corporation
114 © 2013 IBM Corporation
115 © 2013 IBM Corporation
Goals for future IBM Notes and Domino Releases
Leverage existing component model for iWidgets and composite application components
Add new options to generate OpenSocial gadgets for XPages
Take an existing XPages application and use type URL content option for gadgets
Build an XPages application from scratch for your gadget and use type HTML content option for a gadget
Allow the runtime to dynamically create gadgets from component data
Possible .gadget.xml extension similar to iWidget extension
116 © 2013 IBM Corporation
117 © 2013 IBM Corporation
© 2013 IBM Corporation
References
XPages Social Enabler:http://extlib.openntf.org
IBM Social Business Toolkit SDK: http://ibmsbt.openntf.org
OpenNTF Project XPages for Connections: http://openntf.org/p/xpages%20for%20connections
IBM Connections Fixeshttp://www-933.ibm.com/support/fixcentral/swg/selectFixes?product=ibm/Lotus/Lotus+Connections&release=4.0.0.0&platform=Linux&function=all
119 © 2013 IBM Corporation
Legal disclaimer
© IBM Corporation 2013. All Rights Reserved.The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
All references to Renovations refer to a fictitious company and are used for illustration purposes only.