The Video Chat Widget
The Video Chat widget provides audio video capability on an IBM Connections Community. Users of the Video Chat widget just click a button from the Connection community to start an audio video conference. If the conference has not been started by anyone, the Start Video Conference button displays. If the conference has been started, the Join Conference button displays. The number of users logged into the conference is also displayed.
Supported software versions
Supported software | Version |
IBM Connections | 3.0.1 or later |
IBM Sametime | 8.5.2 IFR 1 |
Installation Prerequisites
The
Login Properties field on the Connections Server needs to start with "mail" to match the
Login Properties field on the Sametime server.
Enable communication between Sametime Meetings and Connections
The Sametime Meetings API requires authentication before releasing data, therefore, single sign-on must be enabled between Connections and the Sametime Meetings Server. Complete these procedures to enable single sign-on:
Note: LDAP should be configured correctly on the IBM Connections server and the Sametime Meeting Server.
Export LTPA tokens from the IBM® Sametime® Meeting Server.
After exporting the LTPA tokens, you can complete the procedure to import the LTPA token key file into IBM Connections.
- On the server hosting the Sametime Meeting Server, log in to the WebSphere Integrated Solutions Console as the WebSphere administrator.
- In the navigation tree, click Security > Global Security.
- In the Authentication section, click LTPA.
- On the Global Security - LTPA page, in the Cross-cell single sign-on section, complete these steps:
- Specify a password and confirm the password.
- In the fully qualified key file name field, specify a path and file name for storing the key file. For example, C:\ssoLtpa.key
If you do not specify a path when saving the file, the default location is the Dmgr folder; for example on Windows:
C:\Program Files(x86)\IBM\WebSphere\AppServer\profiles\...DMgr
- Click Export keys.
Import the LTPA token key file into Connections
Import the LTPA token key file into Connections from the Sametime Meetings Server by completing the following steps:
- Copy the token key file that you exported from the Sametime Meetings Server and store it on the computer where the Connections deployment manager is installed.
- On the server hosting the IBM Connections server, log in to the Integrated Solutions Console as a WebSphere® administrator.
- Click Security > Global Security.
- In the Authentication section, click LTPA.
- On the LTPA page, use the Cross-cell single sign-on section to provide the following information about the token key file:
- Password: Type the password you provided when you exported this file from Sametime.
- Confirm password: Type the password a second time to verify it.
- Fully qualified key file name: Type the complete path and file name to the key file.
- Click Import keys to import the file.
- Click OK.
Enable single sign-on between Sametime and Connections for the Meetings Rooms widget
Complete these steps to enable single sign-on between the IBM Sametime Meeting Server and IBM Connections so that users can enter meeting rooms without needing to authenticate again with the Sametime Meeting Server.
Perform this procedure on all WebSphere® Application Servers in the SSO domain to enable SSO among those servers. The Domain Name setting determines the cookie domain of the LtpaToken.
- Log on to the WebSphere Application Server, Integrated Solutions Console as an administrator.
- Click Security > Global Security.
- In the Authentication section, expand Web and SIP Security. Click Single sign-on (SSO).
- On the General Properties page, complete these steps:
- Select Enabled to enable SSO between servers.
- In the Domain Name field, enter the domain name for all SSO hosts. Add a leading dot before the domain name, for example, .ibm.com. You can also specify a UseDomainFromURL value, on which the application server sets the SSO domain name value to the domain of the host that is used in the Web address.
- Select Interoperability mode to provide backward interoperability if you have a WebSphere Application Server version earlier than version 5.1 and a Lotus® Domino® version earlier than 7.0 in the SSO domain.
- Select Web inbound security attribute propagation to enable this feature. Web inbound security attribution propagation might be required by some IBM products.
- Click OK.
For detailed instructions on enabling single sign-on, see this topic:
Configuring single sign-on with an LTPA token on IBM WebSphere and IBM Domino platforms.
Installation
The Video Chat Widget is available from the IBM
Collaboration Solutions Catalog on Greenhouse.
Install the widget
Install the SametimeVideo.xml file on the IBM Connections server in a web-accessible folder. For example:
.../IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/
/Communities.ear/comm.web.war/SametimeVideo.xml
Configure the widget
1. Modify the widgets-config.xml files by completing these steps:a. To display this widget on every community's home page, edit the widgets-config.xml file. This file is typically found in two places:
.../IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells//LotusConnections-config/widgets-config.xml
..../IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells//LotusConnections-config/widgets-config.xml
b. In each of these files, locate the resource tag with a type of community.
Within that tag there is a widgets tag, and within that tag there is a definitions tag.
c. To create a new Sametime Video widget definition, add a new widgetDef tag within the definitions section.
The widget definition should look like this:
d. Set the value of sametimeMeetingServerUrl to the appropriate fully qualified host name, port, and context-root of your Sametime Meeting server.Ensure that the URL specified in the main widgetDef matches where you installed the SametimeVideo.xml file.
If you placed the SametimeVideo.xml file somewhere other than the suggested location in step 1.a., modify this URL in your widget definition.
For example, the Sametime Video widget added as second definition:
<resource type="community" aclServiceImpl="com.ibm.lconn.comm.acl.ACLSvcImpl" resourceValuesProvider="com.ibm.tango.internal.service.CommunitiesResourceValuesProvider" xpathMandatedWidgetForMainPage="/tns:config/tns:resource[@type='community']/tns:widgets/tns:layout/tns:page[@pageId = 'communityOverview']">
<widgets xmlns:tns="http://www.ibm.com/widgets-config">
<definitions>
<widgetDef defId="Members" primaryWidget="false" modes="view fullpage" showInPalette="false" uniqueInstance="true" url="{webresourcesSvcRef}/web/lconn.comm/communityMembers/communityMembers.xml?version={version}">
<itemSet>
<item name="membersPerPage" value="18" />
<item name="membersPerPageFullPage" value="16" />
</itemSet>
</widgetDef>
<widgetDef defId="Video" primaryWidget="false" modes="view" uniqueInstance="true" url="{contextRoot}/SametimeVideo.xml">
<itemSet>
<item name="sametimeMeetingServerUrl" value="http://stmeetings.company.com:9080/stmeetings"/>"
</itemSet>
</widgetDef>
<widgetDef defId="Blog" prerequisite="blogs" modes="view edit search" url="{blogsSvcRef}/static/{version}!{locale}/iwidgets/blog/blogsWidget.jsp" navBarLink="{blogsSvcRef}/{resourceId}" description="blogsDescription" uniqueInstance="true" helpLink="{helpSvcRef}/topic/com.ibm.lotus.connections.communities.help/community_blog_frame.html" iconUrl="{contextRoot}/nav/common/images/iconBlogs16.png">
e. In the same widgets-config.xml files, define where the new widget will display.
From within the widgets tag, find the layout tag (should be after the close of the definitions tag).
On the page with an id of communityOverview, create a new widgetInstance tag like the following:
<widgetInstance uiLocation="col3" defIdRef="Video"/>
The uiLocation setting and the order of the widgetInstance tags determines where the widget shows up on the page.
For example, the Sametime Video widget in column 3, above Members":
<!-- mandated widgets -->
<layout resourceSubType="default">
<page pageId="communityOverview">
<widgetInstance uiLocation="col3" defIdRef="Video"/>
<widgetInstance uiLocation="col3" defIdRef="Members"/>
</page>
<page pageId="allCommunities">
<widgetInstance uiLocation="col1" defIdRef="sand_recomComm"/>
</page>
<page pageId="myCommunities">
<widgetInstance uiLocation="col1" defIdRef="sand_recomComm"/>
</page>
</layout>
2. Restart the Communities application.
3. Install the latest Sametime Meetings 8.5.2 IFR 1 fix from
IBM Fix Central. At the time of this writing, that fix is RPOH-8U4KJM.
Note: This step is not necessary if you have Sametime Meetings 9 or later installed.
4. Adjust the service provider properties as described in these steps:
If you plan to use an audio/video service provider other than Sametime AV, modify the properties file so that video rooms are created
with the appropriate attributes.
- On the Sametime Media server, where the Conference Focus Component is deployed, access this path: .../IBM/WebSphere/AppServer/profiles//sametime_tcspi
- Open the Service Provider specific properties file, for example, myAV.properties.
Note the Service Provider ID (SERVICE_PROVIDER_ID).
- Open the ConferenceManager.properties file.
Note the ServiceProvider name from the ConferenceServiceName property.
- On the Sametime Meeting Server, locate the serviceProvider.json file in the stmeetings.webclient.war folder of the Sametime Meeting Server.ear deployment.
For example,
.../IBM/WebSphere/AppServer/profiles//installedApps//SametimeMeetingServer.ear/stmeetings.webclient.war/serviceProvider.json
- Edit this file and set the following properties using the information from steps 2 and 3:
- id = SERVICE_PROVIDER_ID from step b
- ConferenceServiceName = ConferenceServiceName from step c
- label = ConferenceServiceName from step c
Configuring the Ajax proxy
The Ajax proxy allows requests to be made across domains. Since the Sametime Meetings application resides on its own server, not on the Connections server, requests should be made through the Ajax proxy.
The WebSphere Application Server contains a modifiable proxy configuration file, proxy-config.tpl.
To modify the file, see this procedure:
Configuring the Ajax proxy.
The proxy must allow the actions, cookies, and headers as shown.
Note: You must modify the url value according to your own configuration.
<proxy:policy url="http://stkvmg17.cn.ibm.com:9080/*" acf="none">
<proxy:actions>
<proxy:method>GET</proxy:method>
<proxy:method>HEAD</proxy:method>
<proxy:method>POST</proxy:method>
<proxy:method>PUT</proxy:method>
<proxy:method>DELETE</proxy:method>
</proxy:actions>
<proxy:cookies>
<proxy:cookie>LtpaToken</proxy:cookie>
<proxy:cookie>LtpaToken2</proxy:cookie>
<proxy:cookie>JSESSIONID</proxy:cookie>
</proxy:cookies>
<proxy:headers>
<proxy:header>X-ST-CSRF-Token</proxy:header>
<proxy:header>User-Agent</proxy:header>
<proxy:header>Accept.*</proxy:header>
<proxy:header>Content.*</proxy:header>
<proxy:header>Authorization.*</proxy:header>
<proxy:header>If-.*</proxy:header>
<proxy:header>Pragma</proxy:header>
<proxy:header>Cache-Control</proxy:header>
<proxy:header>X-Update-Nonce</proxy:header>
<proxy:header>WWW-Authenticate.*</proxy:header>
<proxy:header>Access.*</proxy:header>
</proxy:headers>
</proxy:policy>
Known Issues and limitations
The Connections community page must be refreshed to obtain the number of users connected to the video conference.
The Video Chat widget does not support anonymous users.
Debugging
Check whether both of the widgets-config.xml files are installed and configured properly as described in the Install the widget and Configure the widget sections of this article.