© 2014 IBM Corporation iWidget Development IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes.

Slides:



Advertisements
Similar presentations
Using the Self Service BMC Helpdesk
Advertisements

Master Pages, User Controls, Site Maps, Localization Svetlin Nakov Telerik Corporation
Grouper UI Part 2 Shilen Patel Duke University This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Overview of User Set-up & Security. Administrator Functions Before adding new Users, we first need to define some User Security Settings To do this navigate.
Apache Struts Technology
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
1 Agenda Overview Review Roles Lists Libraries Columns.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
Snippet Management The following screens demonstrate how to: 1. Access and view snippets 2. Create a local standard snippet, or a local class snippet 3.
UNIT-V The MVC architecture and Struts Framework.
Login Screen This is the Sign In page for the Dashboard Enter Id and Password to sign In New User Registration.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Student Employment Student Training Note: This is a template that can be utilized to create your own institutional specific Student Employment Student.
TAM STE Series 2008 © 2008 IBM Corporation WebSEAL SSO, Session 108/2008 TAM STE Series WebSEAL SSO, Session 1 Presented by: Andrew Quap.
Adobe Dreamweaver CS3 Revealed CHAPTER ONE: GETTING STARTED WITH DREAMWEAVER.
WaveMaker Visual AJAX Studio 4.0 Training Studio Overview.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Classroom User Training June 29, 2005 Presented by:
Login Screen This is the Sign In page for the Dashboard New User Registration Enter Id and Password to sign In.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Using Styles and Style Sheets for Design
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Global Customer Partnership Council Forum | 2008 | November 18 1IBM - GCPC MeetingIBM - GCPC Meeting IBM Lotus® Sametime® Meeting Server Deployment and.
WaveMaker Visual AJAX Studio 4.0 Training Authentication.
Copyright 2000 eMation SECURITY - Controlling Data Access with
XP Dreamweaver 8.0 Tutorial 3 1 Adding Text and Formatting Text with CSS Styles.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
Course ILT Internet/intranet support Unit objectives Use the Internet Information Services snap-in to manage IIS, Web sites, virtual directories, and WebDAV.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 6: Links.
FIspace SPT Seyhun Futaci. Technology behind FIspace Authentication and Authorization IDM service of Fispace provides SSO solution for web apps, mobile.
Chapter 8 Cookies And Security JavaScript, Third Edition.
TWSd - Security Workshop Part I of III T302 Tuesday, 4/20/2010 TWS Distributed & Mainframe User Education April 18-21, 2010  Carefree Resort  Carefree,
Getting the most out of ArcGIS Web Application Templates
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Chapter 6 Server-side Programming: Java Servlets
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Tutorial 3 Adding and Formatting Text with CSS Styles.
Microsoft ® Official Course Developing a Publishing Site for Web Content Microsoft SharePoint 2013 SharePoint Practice.
Module 9 User Profiles and Social Networking. Module Overview Configuring User Profiles Implementing SharePoint 2010 Social Networking Features.
Hubnet Training One Health Network South East Asia Network Overview | Public and Members-only Pages; Communicating and Publishing using Blogs and News.
ICM – API Server & Forms Gary Ratcliffe.
Securing Angular Apps Brian Noyes
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
AJAX Use Cases for WSRP Subbu Allamaraju BEA Systems Inc WSRP F2F Meeting, May 2006.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Apache Struts Technology A MVC Framework for Java Web Applications.
© 2014 IBM Corporation External Collaboration IBM Connections 5.0 Workshop IBM Ecosystem Development Duration: 30 minutes.
© 2014 IBM Corporation Mobile Customization & Administration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 30 minutes.
© 2014 IBM Corporation Activity Streams Integration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes.
Live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax:
Redmond Protocols Plugfest 2016 Tarun Chopra Accessing APIs through Add-Ins Sr. Escalation Engineer.
ArcGIS for Server Security: Advanced
Unit 4 Representing Web Data: XML
Subbu Allamaraju BEA Systems Inc
Chapter 7 Representing Web Data: XML
This is the Sign In page for the Dashboard
Presentation transcript:

© 2014 IBM Corporation iWidget Development IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes

Agenda Overview Components of an iWidget Deployment / Configuration APIs Authentication

Overview Definition, according to the iWidget 1.0 specification: “A browser-oriented component, potentially extending a server-side component, that provides either a logical service to the page or a visualization for the user (normally related to a server-side component or a configured data source).” An iWidget is a basic building block for adding new features to IBM Connections Use iWidgets to socialize and integrate your applications into IBM Connections Custom iWidgets can be added to: Home Page, Profiles, and Communities Comprised of the following components XML widget descriptor JavaScript files (optional) CSS files (optional)

iWidgets vs OpenSocial Gadgets iWidgetOpenSocial Gadget Activity Streams *X Share DialogX Home PageXX ProfilesX CommunitiesX RenderinginlineiFrame SpecificationiWidget 1.0OpenSocial 2.0 Recommendation: Use an OpenSocial Gadget when possible Provides better integration and code reuse opportunities with other products  Example: IBM Notes / Domino 9 * Available in the following applications: Home Page, Profiles, Communities

Agenda Overview Components of an iWidget Deployment / Configuration APIs Authentication

XML widget descriptor Placed on any HTTP server TagAttributeDescription iw:iwidgetidUnique identifier supportedModesView modes supported by the widget modeDefault view mode to use iScopeName of the JavaScript instance iw:resourceuriLinks to additional JavaScript or CSS files iw:contentmodeDefault HTML to use when a view is loaded

Resource bundle A.properties file that defines UI strings for the application Create a text file and give it a name unique to your application Example: com.ibm.idr.exercise1.properties Place the file in the “strings” folder of the shared customization directory Add key / value string pairs for the widget title and description Overrides the default values generated by the iWidget framework Add additional key / value string pairs as appropriate for the application

LotusConnections-config.xml TagAttributeDescription widgetBundlename Name of the resource bundle containing your strings Corresponds to the name of the file placed in the strings customization directory prefix Unique ID of the bundle in Connections Used for later references to the bundle Define any custom resource bundles used

widgets-config.xml TagAttributeDescription widgetDefdefId Unique identifer The key in the properties file for the title descriptionThe key in the properties file for the widget palette description bundleRefId Name of resource bundle to load Bundle was defined in LotusConnections-config.xml urlLocation of the XML descriptor for the iWidget itemSet itemnameName for a predefined attribute valueValue for the predefined attribute Inform IBM Connections about the widget and where to find it Provide configuration information in the form of ItemSets

Putting all of the components together

Agenda Overview Components of an iWidget Deployment / Configuration APIs Authentication

Common iWidget deployment tasks Optional tasks Create a resource bundle  Contains UI strings such as the title, description, labels, etc. Register the resource bundle in IBM Connections (required, if using bundles)  Tell Connections to load the bundle and where to find it Configure the AJAX Proxy  Only required if the widget makes AJAX requests to other servers/ports Required tasks Create the widget XML descriptor file  Contains details about your widget, including pointers to additional resources to load

Configure the AJAX proxy If your application will make AJAX requests to other servers... Navigate to the “LotusConnections-config” directory Make a copy of proxy- config.tpl and rename it according to the IBM Connections application that will contain the widget Using wsadmin, check out/in the proxy- - config.tpl file Add a new proxy rule for the HTTP server that will be hosting the iWidget

Home Page iWidget deployment 1) Declare Home Page administrator(s) 1) Home Page administrators can: add/remove widgets enable/disable widgets 2) End users can then customize their Home Page from the widget palette

Add/Remove Home Page widgets Use the Home Page administration UI to add/remove widgets

Enable/Disable Home Page widgets

iWidgets in the Home Page

Communities iWidget deployment In addition to the common tasks, register the widget in IBM Connections Tell Connections about your widget and where to find the XML descriptor Widget will appear in the widget palette (unless showInPalette=”false”) Optionally can configure mandated widgets Define the UI location for the widget in the “layout” section of widgets-config.xml TagAttributeDescription widgetInstanceuiLocationDefines the location of the widget on the page. Possible values: col1, col2, col3 defIdRefThe widget definition to which this instance is bound. Maps to the “defId” attribute in the widget definition.

iWidgets in Communities

Profiles iWidget deployment In addition to the common tasks, register the widget in IBM Connections Tell Connections about your widget and where to find the XML descriptor Define the UI location for the widget in the “layout” section of widgets-config.xml TagAttributeDescription widgetInstanceuiLocationDefines the location of the widget on the page. Possible values: col1, col2, col3, or tabsWidget1 defIdRefThe widget definition to which this instance is bound. Maps to the “defId” attribute in the widget definition.

iWidgets in Profiles

Agenda Overview Components of an iWidget Deployment / Configuration APIs Authentication

iScope Defines the name of the instance of the JavaScript class The class written by the widget developer that contains the widget logic LinesDescription 1Tells Dojo a module has been provided with the given name (the iScope) 2Dojo class declaration 4Called once when class is instantiated 7Called when iWidget is loaded 10Called when iWidget mode is “view 13Called when iWidget mode is “edit”

iContext An iContext instance is automatically provided for the iScope class Used to interact with the iWidget framework Provides access to DOM I/O functions Widget attributes User attributes Important functions: iContext.getRootElement() iContext.getElementById() iContext.getiWidgetAttributes() iContext.getUserProfile() iContext.io.rewriteURI() iContext.iEvents.fireEvent()

ItemSet A data abstraction in the form of key / value string pairs Provide the widget with information about the embedding environment Can be declared in the widget preferences Can be retrieved using the iContext object and function: getItemValue(“key”)

Widget preferences Default widget attributes can be specified in widgets-config.xml → →

User Profile A predefined itemSet containing information about the authenticated user Returns “null” if user is not logged in (Profiles and Communities allow anonymous) displayName = display name = address userid = the IBM Connections unique user ID

Using the persistent data store Persist data on a per widget basis across sessions Tip! If you need to store a lot of data, consider consolidating the data in a single JSON object, then write the serialized string to the store Quickly store / retrieve information with a single API operation and improve responsiveness by minimizing HTTP requests

Making AJAX requests Dojo provides cross-browser XHR functions for making AJAX requests dojo.xhrGet, dojo.xhrPost, dojo.xhrDelete, dojo.xhrPut

io.rewriteURI Modern browsers have a “Same Origin Policy” in place to prevent cross-site scripting (XSS) attacks JavaScript can only make AJAX calls to the originating server To get around this problem, IBM Connections has an AJAX Proxy If your application makes AJAX requests to different servers (or ports), you must rewrite URLs so that they are processed by the proxy

Making AJAX requests using the Proxy Updated code with rewritten URL for the AJAX Proxy An asynchronous callback (such as an AJAX request) can lose track of it's scope Use dojo.hitch to force a function to use the provided scope

IBM Connections REST API A REST API is available that allows you to perform most functions that are possible with the default web UI The API for each Connections application is fully documented in the official wiki Uses AtomPub standard and HTTP CRUD operations for working with content These HTTP requests may not need to be proxied depending on your environment! Only an issue if features reside on separate servers

Accessing IBM Connections features Due to different deployment configurations, the URL of a particular IBM Connections feature might not be known during widget development You can insert the root URL of IBM Connections features using ItemSets ComponentVariable ActivitiesactivitiesSvcRef BlogsblogsSvcRef BookmarksdogearSvcRef CommunitiescommunitiesSvcRef ProfilesprofilesSvcRef

Retrieve Feeds using the REST API

Create new entries using the REST API *** Line 25: You MUST set this header or IBM Connections will reject the API request!

Use an iFrame Quickly develop a POC or demo using iFrames to display external sites or pages

Agenda Overview Components of an iWidget Deployment / Configuration APIs Authentication

Authentication Options Single Sign-on (SSO) IBM session cookies = LtpaToken or LtpaToken2  Can be used between WebSphere and Domino environments If your back-end server is not WebSphere or Domino based...  Can use 3 rd party products to integrate IBM and non-IBM servers Tivoli Acess Manager, SiteMinder, etc.  Can generate own trusted cookies using a combination of the current user's ID and some unique keys entered in widgets-config.xml Basic Provide a Base 64 encoded username / password pair with each request Can store the credentials in the iWidget persistent store OAuth Login provided by a 3 rd party provider User authorizes application to access resources for a given time period

Thanks! Access FREE education on the IBM Collaboration Solutions portfolio of products today! 1. Visit the IBM Greenhouse and create a free account. Link → 1. Visit the IBM Collaboration Solutions Ecosystem Development Community Link → 1. Learn new skills and share these links with your friends and colleagues!