AD305: IBM Sametime
iWidgets: Extending
Connections' Use of
Sametime
Jason Cheung, IBM

© 2014 IBM Corporation
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notic...
Agenda

3
Introduction


4

What is an iWidget?
–
A small browser-based component
–
IBM specification
–
Used in multiple platforms
...
Introduction

iWidgets in Connections Communities

5
Creating a Simple iWidget

6
Creating a Simple iWidget

The Widget Descriptor (HelloConnect.xml)

Object Name
Mode

External
Resource
HTML
Markup

7
Creating a Simple iWidget

The Widget Functionality (HelloConnect.js)

Object Name

8
Adding an iWidget to a
Connections Community

9
Adding an iWidget to a Connections Community
Modify widgets-config.xml

Step 1. Retrieve widgets-config.xml

Step 2. Add w...
Adding an iWidget to a Connections Community
Step 1. Retrieve widgets-config.xml

11
Adding an iWidget to a Connections Community
Step 2. Add Widget Definition to widgets-config.xml

12
Adding an iWidget to a Connections Community
Step 3. Check in widgets-config.xml

13
Adding an iWidget to a Connections Community
Step 4. Restart Communities application











1)
2)
3)
4)
14

...
Adding an iWidget to a Connections Community
The End Result

15
iWidgets in Detail

16
iWidgets in Detail
Modes

Fullpage

17

Search

View/Edit
iWidgets in Detail
Edit Mode

18
iWidgets in Detail
Fullpage Mode

19
iWidgets in Detail
Search Mode

20
iWidgets in Detail
iWidget Functions (1/4)


iContext
–
Programmatically interact with iWidget




iContext.getItemSet(...
iWidgets in Detail
iWidget Functions (2/4)


iContext.getUserProfile()
–
The information of the current user

“ajones30@i...
iWidgets in Detail
iWidget Functions (3/4)


23

iContext.getiWidgetAttributes()
–
Programmatically interact with the ite...
iWidgets in Detail
iWidget Functions (4/4)


iContext.io
–
For XMLHttpRequests
●
request(“httpMethod”, “URI”, callbackFun...
iWidgets in Detail
Best Practices






25

Minimize the number of HTTP requests
Use non-blocking HTTP requests
Use b...
Integrating Sametime

26
Integrating Sametime
Sametime Products

27
Integrating Sametime

Sample Sametime Integration Points


Sametime Advanced 9.0 Software Development Kit
–
Manage persis...
Community Chat Widget
Demo

29
Community Chat Widget Demo
Community Chat Widget in Connections

30
Community Chat Widget Demo
Steps Involved
1)
2)
3)
4)

31

Enable Sametime Proxy in Connections
Write Community Chat widge...
Community Chat Widget Demo
Step 2. Write CommunityChatWidget.xml

32
Community Chat Widget Demo
Step 3. Write CommunityChatWidget.js


33

Code...
Community Chat Widget Demo
Step 4. Add Widget to widgets-config.xml

34
Community Chat Widget Demo
Community Chat Widget in Connections

35
Considerations when Integrating
with Sametime

36
Considerations when Integrating with Sametime
Cross-Domain Ajax Request (1/3)

GET /communityPage.html

connections.renova...
Considerations when Integrating with Sametime
Cross-Domain Ajax Request via the Ajax Proxy (2/3)

GET /communityPage.html
...
Considerations when Integrating with Sametime
Connections' proxy-config.tpl (3/3)

39
Considerations when Integrating with Sametime
Single Sign-On (SSO)



40

No need to explicitly log into iWidget's Samet...
Considerations when Integrating with Sametime
Managing Membership – Events SPI (1/2)


41

Events SPI
–
Useful for captur...
Considerations when Integrating with Sametime
Managing Membership – Registering an Event Listener JAR (2/2)



42

WebSp...
Summary

43
Summary






44

iWidget is: XML descriptor and JavaScript functionality
Deploying an iWidget to Connections - widge...
Additional Resources















45

iWidget Specification v2.1
Widget programming guide
Best practices ...
Plan your week...
Tues 1/28

Wednesday 1/29
D306;Keep Calm and Call On! IBM
Sametime Communicate Softphone
Made Simple; Gi...
Questions

47
 Access Connect Online to complete your session surveys using any:
– Web or mobile browser
– Connect Online kiosk onsite
...
Engage Online


SocialBiz User Group socialbizug.org
– Join the epicenter of Notes and Collaboration user groups



Foll...
Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do n...
Upcoming SlideShare
Loading in …5
×

AD305:

675 views
510 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
675
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AD305:

  1. 1. AD305: IBM Sametime iWidgets: Extending Connections' Use of Sametime Jason Cheung, IBM © 2014 IBM Corporation
  2. 2. 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. 2
  3. 3. Agenda 3
  4. 4. Introduction  4 What is an iWidget? – A small browser-based component – IBM specification – Used in multiple platforms ● IBM Mashup Center ● IBM WebSphere Portal ● IBM Connections
  5. 5. Introduction iWidgets in Connections Communities 5
  6. 6. Creating a Simple iWidget 6
  7. 7. Creating a Simple iWidget The Widget Descriptor (HelloConnect.xml) Object Name Mode External Resource HTML Markup 7
  8. 8. Creating a Simple iWidget The Widget Functionality (HelloConnect.js) Object Name 8
  9. 9. Adding an iWidget to a Connections Community 9
  10. 10. Adding an iWidget to a Connections Community Modify widgets-config.xml Step 1. Retrieve widgets-config.xml Step 2. Add widget definition to widgets-config.xml Connections Server 10 Step 3. Check in widgets-config.xml Step 4. Restart Communities application
  11. 11. Adding an iWidget to a Connections Community Step 1. Retrieve widgets-config.xml 11
  12. 12. Adding an iWidget to a Connections Community Step 2. Add Widget Definition to widgets-config.xml 12
  13. 13. Adding an iWidget to a Connections Community Step 3. Check in widgets-config.xml 13
  14. 14. Adding an iWidget to a Connections Community Step 4. Restart Communities application           1) 2) 3) 4) 14 Click 'WebSphere enterprise applications' Select 'Communities' application Click 'Stop' Click 'Start'
  15. 15. Adding an iWidget to a Connections Community The End Result 15
  16. 16. iWidgets in Detail 16
  17. 17. iWidgets in Detail Modes Fullpage 17 Search View/Edit
  18. 18. iWidgets in Detail Edit Mode 18
  19. 19. iWidgets in Detail Fullpage Mode 19
  20. 20. iWidgets in Detail Search Mode 20
  21. 21. iWidgets in Detail iWidget Functions (1/4)  iContext – Programmatically interact with iWidget   iContext.getItemSet(“itemSetId”) – Retrieve a pre-defined itemset from the widget descriptor   HelloConnect.xml   [“itemsPerPage”] “5” 21
  22. 22. iWidgets in Detail iWidget Functions (2/4)  iContext.getUserProfile() – The information of the current user “ajones30@ibm.com 22
  23. 23. iWidgets in Detail iWidget Functions (3/4)  23 iContext.getiWidgetAttributes() – Programmatically interact with the items stored in the itemset
  24. 24. iWidgets in Detail iWidget Functions (4/4)  iContext.io – For XMLHttpRequests ● request(“httpMethod”, “URI”, callbackFunction, “message”, arrayOfHeaders) ● ● ● ● ● 24 rewriteURI(“URI”)
  25. 25. iWidgets in Detail Best Practices      25 Minimize the number of HTTP requests Use non-blocking HTTP requests Use browser cache for static files Reuse page styles Encapsulate variables to the widget's scope
  26. 26. Integrating Sametime 26
  27. 27. Integrating Sametime Sametime Products 27
  28. 28. Integrating Sametime Sample Sametime Integration Points  Sametime Advanced 9.0 Software Development Kit – Manage persistent chat rooms, folders, SkillTap, compliance, and broadcast communities – Retrieve data as an ATOM feed –  Sametime Browser Client Toolkit – Manage contacts, groups, watchlists, open chats, preferences, and more... – Integrate Sametime Proxy functionality directly into your web page –  28 Download the Sametime 9 SDK
  29. 29. Community Chat Widget Demo 29
  30. 30. Community Chat Widget Demo Community Chat Widget in Connections 30
  31. 31. Community Chat Widget Demo Steps Involved 1) 2) 3) 4) 31 Enable Sametime Proxy in Connections Write Community Chat widget XML file Write Community Chat widget JavaScript file Add widget definition to the widgets-config.xml file
  32. 32. Community Chat Widget Demo Step 2. Write CommunityChatWidget.xml 32
  33. 33. Community Chat Widget Demo Step 3. Write CommunityChatWidget.js  33 Code...
  34. 34. Community Chat Widget Demo Step 4. Add Widget to widgets-config.xml 34
  35. 35. Community Chat Widget Demo Community Chat Widget in Connections 35
  36. 36. Considerations when Integrating with Sametime 36
  37. 37. Considerations when Integrating with Sametime Cross-Domain Ajax Request (1/3) GET /communityPage.html connections.renovations.com Web Browser XMLHttpRequest stproxy.renovations.com 37
  38. 38. Considerations when Integrating with Sametime Cross-Domain Ajax Request via the Ajax Proxy (2/3) GET /communityPage.html XMLHttpRequest Web Browser 38 Ajax Proxy GET /(API service) connections.renovations.com stproxy.renovations.com
  39. 39. Considerations when Integrating with Sametime Connections' proxy-config.tpl (3/3) 39
  40. 40. Considerations when Integrating with Sametime Single Sign-On (SSO)   40 No need to explicitly log into iWidget's Sametime service Details for 'Configuring single sign-on...'
  41. 41. Considerations when Integrating with Sametime Managing Membership – Events SPI (1/2)  41 Events SPI – Useful for capturing membership events within a Community ● Note: be wary of the number of requests being made to the Sametime service
  42. 42. Considerations when Integrating with Sametime Managing Membership – Registering an Event Listener JAR (2/2)   42 WebSphere shared libraries allow the code in the Events SPI handler to be published Add the shared library to the News module on the Connections server
  43. 43. Summary 43
  44. 44. Summary      44 iWidget is: XML descriptor and JavaScript functionality Deploying an iWidget to Connections - widgets-config.xml Considerations when including Sametime
  45. 45. Additional Resources                45 iWidget Specification v2.1 Widget programming guide Best practices for iWidget development Enabling custom widgets for Communities Editing configuration files Communities API Adding Sametime awareness through the Sametime server Configuring the AJAX proxy Configuring single sign-on... Enabling SSL access to the Communities Server Events SPI Managing shared libraries Meeting Rooms Widget on Greenhouse (includes link to widget installation guide) Chat Rooms Widget on Greenhouse (includes link to widget installation guide) Video Chat Widget on Greenhouse (includes link to widget installation guide)
  46. 46. Plan your week... Tues 1/28 Wednesday 1/29 D306;Keep Calm and Call On! IBM Sametime Communicate Softphone Made Simple; Ginni Saini, IBM BOF103; Sametime Customer Advisory Council Kick Off; William Kulju, IBM CUST117;Social Communications in Social Business. One Client's Fast Journey; Gopal Soora, IBM; Manfred Leistner, E.G.O. AD207 Widgets, Live Text and Now Open Social: Linking Your Data to the World; Andrew Davis, IBM ID303;Architecting a Highly Avaliable IBM Sametime 9 Environment; Fernando Salazar, IBM BP503;What Does it Do to the Network? Answering Question #1 for IBM Sametime 9 Video; Peter Lurie, Polycom BP501;Building and Deploying Custom IBM Sametime Connect Client Installations;Carl Tyler, Epilio SB205 Strategies for Connecting the Global Workforce through the Cloud R Buisan ID201; Social Communications from the Cloud; Marc Pagnier, IBM ID300;What's New in IBM Sametime 9;Marlon Machado, IBM Corporation (R2) AD506;IBM Sametime Proxy 9: A Fuller, Richer Customizable Experience; William Holmes, IBM 46 SHOW401; Taking IBM Sametime Mobile; Gabriella Davis, The Turtle Partnership; Paul Mooney, Bluewave Technology; ID305;IBM Sametime Mobile - Now With Voice and Video!; Steve Babin, IBM; Russ Fahey, IBM ID304;IBM Sametime 9 Voice and Video Deployment; Bhavuk Srivastava, IBM India AD505;How to Integrate Sametime Meetings Using the Remote Client SDK; Ron Pontrich, IBM; Andrew Ortwein, IBM BP502;Is Your IBM Sametime Deployment Stuck in First Gear? Learn From UC Mechanics; David Price, Meridian IT Inc.; Peter Lurie, Polycom Thursday 1/30 ID302;Upgrading and Migrating to IBM Sametime 9;Tony Payne, IBM SHOW400; IBM Sametime 9.0 Media Components on Linux for the Windows Administrator; Jeff Miller, IBM ID301;IBM Sametime 9 Voice and Video: The Value Today and the Roadmap for Tomorrow; Pat Galvin, IBM; Julie Reed, IBM ASK102 Ask the Product Managers ASK101 Ask the Developers
  47. 47. Questions 47
  48. 48.  Access Connect Online to complete your session surveys using any: – Web or mobile browser – Connect Online kiosk onsite – AD305 48
  49. 49. Engage Online  SocialBiz User Group socialbizug.org – Join the epicenter of Notes and Collaboration user groups  Follow us on Twitter – @IBMConnect and @IBMSocialBiz  LinkedIn http://bit.ly/SBComm – Participate in the IBM Social Business group on LinkedIn:  Facebook https://www.facebook.com/IBMSocialBiz – Like IBM Social Business on Facebook  Social Business Insights blog ibm.com/blogs/socialbusiness – Read and engage with our bloggers 49
  50. 50. Acknowledgements and Disclaimers Availability. 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. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation 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. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. 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. © Copyright IBM Corporation 2014. All rights reserved.  U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  IBM, the IBM logo, ibm.com, and Sametime, Connections, WebSphere, Rational Application Developer, Greenhouse, ClearCase are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Google Chrome, Mozilla Firefox Other company, product, or service names may be trademarks or service marks of others. 50

×