Skip to main content link. Accesskey S
  • Log In
  • Help
  • IBM Logo
  • IBM Notes and Domino Application Development wiki
  • All Wikis
  • All Forums
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
Community Articles Product Documentation Learning Center IBM Redbooks This category Redbooks Wiki: Best Practices for Domino 8.0 Web Application Development Redbooks Wiki: Building Domino Web Applications using Domino 8.5.1 Redbooks Wiki: Creating Plugins for Lotus Notes, Sametime, and Symphony Redbooks Wiki: Lotus Domino Development Best Practices Custom Search Scope...
Search
Community Articles > 日本語 - Japanese > XPages Extension Library の Social Enabler Sametime コントロールの使い方
  • New Article
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

IBM contributorHiroaki Komine
Contribution Summary:
  • Articles authored: 41
  • Articles edited: 7
  • Comments Posted: 1

Recent articles by this author

XSP クライアントサイド Javascript オブジェクト関数

XPages アプリケーション開発の中で利用できる、XSP クライアントサイド Javascript オブジェクト関数について解説します。

Lotus Notes Java クラスのリサイクルとメモリ消費の検証

XPages や Java エージェントなどで Lotus Notes を操作する Lotus Notes Java クラスでは、開発者が明示的にリサイクルをして使用したオブジェクトを開放する必要があります。このリサイクルを適切に行わないことで、Java クラスの

XPages アプリケーションでの「可視(rendered)」プロパティによるパフォーマンス低下への対策

XPages アプリケーション開発で、「可視」設定ので「値の計算」はパフォーマンス低下を招く可能性があります。「可視」評価の Javascript に複雑な処理を実装する必要があるときには、そのスクリプトでパフォーマンスの低

XPages 内の JSF ライフサイクルのフェーズを表示する方法

XPages の裏側のでは JavaServer Faces の技術が使われています。より良い XPages アプリケーションを作成するには、この JSF の仕組みの理解が必要です。この記事では XPages の裏側で動く JSF のライフサイクルの動きを知るための

XPages SSJS で Lotus Notes クラスのオブジェクトでのリサイクルの及ぶ範囲

XPages や Java エージェントなどで Lotus Notes を操作する Lotus Notes Java クラスでは、使用したオブジェクトの開放をするために開発者が明示的に リサイクルをする必要があります。この recycle により開放される親子関係のオブ

Community articleXPages Extension Library の Social Enabler Sametime コントロールの使い方

Added by IBM contributor Hiroaki Komine | Edited by IBM contributor Hiroaki Komine on February 7, 2013 | Version 7
  • Edit
  • More Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
この記事では、XPages Extension Library の Social Enabler Sametime コントロールを使用し、XPages アプリケーションに Sametime LiveName と Web Client コンポーネントを組み込む方法について解説します。この記事の内容は Domino および Domino Designer 8.5.3 での XPages Extension Libray を基に記述されています。
Tags: XPages Extension Library, Sametime
ShowTable of Contents
HideTable of Contents
  • 1 はじめに
    • 1.1 Domino の FQHN について
  • 2 Sametime 用に Social Enabler の環境を構成する
    • 2.1 XPages Extension Library のインストール
    • 2.2 Social Enabler サンプルアプリケーションを試す
  • 3 Social Enabler に含まれる、Sametime 接続用のコントロール
  • 4 アプリケーションに Sametime コントロールを埋め込むための準備
    • 4.1 Sametime コントロールを使用する前のアプリケーションの構成
    • 4.2 Endpoint の構成を追加する
    • 4.3 再利用する XPage とカスタムコントロールをコピーする
  • 5 アプリケーションに Sametime コントロールを追加する
    • 5.1 Sametime へのログインページの追加
      • 5.1.1 "BasicAuthenticationPanel" カスタムコントロール
      • 5.1.2 「sbtLoginDialog」カスタムコントロール
      • 5.1.3 「sbtLoginSection」カスタムコントロール
    • 5.2 計算結果フィールドコントロールを使用した Livename コンポーネントの追加
    • 5.3 Sametime Widget コントロールを使用した Livename コンポーネントの追加
    • 5.4 Sametime Widget コントロールを使用した Web クライアントの追加

はじめに

XPages Extension Library の Social Enabler には Sametime コントロールが含まれています。Sametime コントロールを使用することで、XPages アプリケーションに Sametime のアウェアネスとインスタントメッセージの機能を組み込むことができます。Social Enabler の Sametime コントロールは、Sametime 8.5 から追加された Sametime Web クライアントの技術を利用しています。Sametime Web クライアントの技術は Dojo に基づいており、Dojo ライブラリ上の Web クライアントの UI を提供しており、Sametime Proxy サーバーコンポーネントで利用するとができます。
この記事では、XPages Extension Library の Social Enabler Sametime コントロールを使用し、XPages アプリケーションに Sametime LiveName と Web Client コンポーネントを組み込む方法について解説します。この記事の内容は Domino および Domino Designer 8.5.3 での XPages Extension Libray を基に記述されています。

この記事は、以下の英語の記事を日本語訳したものです。

How to use Social Enabler Sametime controls of XPages Extension Libraryexternal link

Domino の FQHN について

XPages Extension Library には、Social Enabler で Sametime の連携を試す際に、JavaScripot ライブラリのクロスサイトスクリプトの制限によって Social Enabler の Sametime ステータスなどの UI が正しく表示されないことあります。この問題を回避するために、Social Enabler を実装した XPages アプリケーションを提供する Domino サーバーを、Sametime と同じドメインでアクセスできるように構成します。

たとえば Lotus Greenhouse の Sametime は、greenhouse.lotus.com というホスト名でサービスを提供しているので、XPages アプリケーションを提供する Domino にも my_domino.lotus.com でアクセスできるようにします。これは Domino を lotus.com ドメインで構成しても良いですが、異なるドメインで構成済みの Domino に対し、クライアントの hosts ファイルで my_domino.lotus.com での接続を定義することも可能です。

Sametime 用に Social Enabler の環境を構成する

XPages Extension Library のインストール

XPages Extension Library の標準的な導入方法は以下の記事に記載されています。
XPages Extension Library Deployment in Domino 8.5.3 and IBM XWork Serverexternal link
XPages Extension Library のインストールが完了したら、以下の手順に従って「OAuth Token Store」データベースを作成します。

  1. WebSecurityStore.ntf を XPages Extension Library のパッケージからコピーします。
  2. Domino 管理クライアントか Domino Designer で WebSecurityStore.ntf を開き、アプリケーションに署名します。
  3. WebSecurityStore.nsf をテンプレートから作成します。アプリケーションのタイトルは自由につけてよいですが、ファイル名は変更しないでください。


Social Enabler を使用することで XPages アプリケーションをさまざまなソーシャルサービスやクラウドサービスに接続することができます。ある種のサービスに接続するためには、XPages Extension Library の導入後に追加の構成が必要になります。しかし Sametime 接続においては、 Lotus Greenhouseexternal link の Sametime サービスに接続するための構成が XPages Extension Library のサンプルアプリケーションに含まれており、インストールしてすぐに Sametime 接続を試すことができます。
XPages Extension Library のインストールが完了したら、Social Enabler の Sametime 接続を試すことができます。サンプルアプリケーションの実行の前に Lotus Greenhouseexternal link にアカウントがあることを確認してください。サンプルアプリケーションは
  Lotus Greenhouseexternal link にある Sametime サーバーに接続します。

Social Enabler サンプルアプリケーションを試す

Social Enabler のサンプルアプリケーションは、リリースされた XPages Extension Library のパッケージに XPagesSBT.nsf として含まれています。以下の手順で Sametime 接続のサンプルを試してください。

  1. XPagesSBT.nsf を Domino のデータフォルダへコピーする
  2. Domino 管理クライアントか Domino Designer で XPagesSBT.nsf を開き、アプリケーションに署名します。そしてテスト用に NSF ファイルに適切な ACL エントリを追加します。しかし、ユーザーの認証情報(ユーザー名とパスワード)は「OAuth Token Store」データベースに、ユーザー名と関連つけて保持されるため、アプリケーションへの Anonymous アクセスは推奨しません。
  3. Web ブラウザから以下の URL で NSF ファイルを開きます。http:///XPagesSBT.nsf/
  4. 「Sametime」タブをクリックし Sametime コントロールのサンプルページを開きます。
  5. 左側のペインで「Livename」セクションが選択されているので、「Login」リンクをクリックするか「Login to Sametime」リンクをクリックします。そしてログインダイアログかログインペインで Lotus Greenhouse ユーザー名とパスワードを入力します。
  6.  ログインが成功すると、Sametime ステータスが Livename に表示されます。

XPages Social Enabler サンプルアプリケーションのデモ

これで Social Enabler の環境が Sametime 用に構成され、接続の確認ができました。

Social Enabler に含まれる、Sametime 接続用のコントロール

Social Enabler の環境では、XPages アプリケーションで Sametime の Livename や Web クライアントを表示するために、2つの Sametime 用コントロールとひとつの汎用のコントロールを使用できます。

カテゴリ コントロール名 説明
コア・コントロール 計算結果フィールド 適切された contentType 属性を指定することで Sametime Livename を表示する。
Social Business Toolkit Sametime Client Sametime リソースをロードするコントロール。もしリソースがロードされないと、Sametime ウィジェットがまったく表示されない。
  Sametime Widget Sametime クライアントに関連する Dojo dijit を生成するコントロール。このコントロールの表示の時点で Sametime Client コントロールが生成されていないと何も表示されない。

Sametime Client コントロールは UI コンポーネントを生成しませんが、他のコントロールとともに常に使用されます。計算結果フィールドコントロールは Sametime Livename を表示するために使用され、Sametime Widget は Sametime Livename か Sametime Web クライアントウィジェットを表示するために使用されます。

アプリケーションに Sametime コントロールを埋め込むための準備

Sametime コントロールを使用する前のアプリケーションの構成

アプリケーションに Sametime コントロールを挿入する前に、Social Enabler を利用できるようにアプリケーションを構成します。

  1.   アプリケーションプロパティを開き「Advanced」タブを開きます、そして「XPages Library」セクションの以下の2つのライブラリを選択します。
    •    com.ibm.xsp.extlib.library
    •    com.ibm.xsp.extlibx.library
  2. 「XPages」タブで、「Theme Default」セクションの「Application Theme」で「oneuiv2.1」を選択するとよいでしょう。これによって Social Enabler の UI がより洗練された表示になります。

Endpoint の構成を追加する

Endpoint 構成は、Social Enabler のコンポーネントがどの Sametime との接続を行うかを指定します。faces-config.xml には JavaServer Faces の Managed-bean の構成を含んでおり endpoint も managed-bean の属性として定義されます
faces-config.xml を見るには、メニューから  [Window] - [Show Eclipse Views ] - [Package Explorer] を選択して Package Explorer を表示し、Package Explorer ビューで \WEB-INF フォルダを開きます。もし Lotus Greenhouse の Sametime サーバーに接続するのであれば、XPagesSBT.nsf の faces-config.xmlの内容をご自身のアプリケーションへコピーすればよいです。Sametime への接続には「PwdStore」 と 「greenhouseSametime」の二つの managed-bean の定義が必要です。


	<?xml version="1.0" encoding="UTF-8"?>

	<faces-config>

	  <!--

	        Password store physical implementation.

	    -->

	  <managed-bean>

	    <managed-bean-name>PwdStore</managed-bean-name>

	    <managed-bean-class>com.ibm.xsp.extlib.sbt.security.password.store.BANSFPasswordStore

	</managed-bean-class>

	    <managed-bean-scope>application</managed-bean-scope>

	    <managed-property>

	      <property-name>database</property-name>

	      <value>WebSecurityStore.nsf</value>

	    </managed-property>

	  </managed-bean>

	  <!--

	  Greenhouse Sametime

	   -->

	  <managed-bean>

	    <managed-bean-name>greenhouseSametime</managed-bean-name>

	    <managed-bean-class>com.ibm.xsp.extlib.sbt.services.client.endpoints.SameTimeEndpoint

	</managed-bean-class>

	    <managed-bean-scope>session</managed-bean-scope>

	    <managed-property>

	      <property-name>url</property-name>

	      <value>https://greenhouse.lotus.com</value>

	    </managed-property>

	    <managed-property>

	      <property-name>passwordStore</property-name>

	      <value>PwdStore</value>

	    </managed-property>

	    <managed-property>

	      <property-name>authenticationPage</property-name>

	      <value>_BasicLogin?endpoint=greenhouseSametime</value>

	    </managed-property>

	  </managed-bean>

	</faces-config>

	


ここで定義した endpoint を xsp.properties ファイルにも登録します。faces-config.xml と同じフォルダにある xsp.properties を開き、以下の行を追加して保存します。


	extlib.endpoint.sametime=greenhouseSametime

	

再利用する XPage とカスタムコントロールをコピーする

XPagesSBT.nsf サンプルアプリケーションは再利用可能な XPage とカスタムコントロールを含んでおり、それは Sametime への接続機能の開発に利用することができます以下の再利用可能なコンポーネントをご自身のアプリケーションにコピーするとよいでしょう。

設計要素 設計名 説明
XPage _BasicLogin.xsp ユーザー名とパスワードによる基本認証ログインページ
カスタムコントロール BasicAuthenticationPanel.xsp _BasciLogin.xsp へのリンクを提供
  sbtLoginDialog.xsp ログインダイアログを開くためのリンクを提供
  sbtLoginPage.xsp _BasicLogin.xsp 出使用される部品
  sbtLoginPanel.xsp sbtLoginDialog.xsp と sbtLoginSection.xsp で使用される部品
  sbtLoginSection.xsp ログインセクションを開くためのリンクを提供
 

アプリケーションに Sametime コントロールを追加する

準備が整ったので、アプリケーションへ Sametime のコントロールを追加します、このセクションでは以下の4つについて説明します。

  • Sametime へのログインページの追加
  • 計算結果フィールドコントロールを使用した Livename コンポーネントの追加
  • Sametime Widget コントロールを使用した Livename コンポーネントの追加
  • Sametime Widget コントロールを使用した Web クライアントの追加

どの場合でも Sametime クライアントを生成するために、 Sametime Client コントロールも追加する必要があります。このコントロールは Web ページ上で表示される Sametime コントロールで使用されるパラメータを保持します。もしこのコントロールがページ上になかったり適切に生成されていないと、そのほかの Sametime コントロールは Sametime サーバーに接続していないような状態になります。

Sametime へのログインページの追加

Social Enabler の Sametime 接続機能は、アプリケーションが、ユーザー名とパスワードによるベーシック認証でSametime サーバーにログインできるようにします。以下に示す3つのカスタムコントロールのひとつを使用して、自身の XPages アプリケーションに Sametime へのログインページを追加できます。

"BasicAuthenticationPanel" カスタムコントロール

このカスタムコントロールを使用するときには、以下のカスタムプロパティを指定します。

  • endpoint

Basic Authentication へのリンク

Basic Authentication ログインページ



	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	   xmlns:xc="http://www.ibm.com/xsp/custom">

	   <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	       clientScriptFile="livename" autoTunnelURI="true">

	   </xe:sametimeClient>

	   <xc:BasicAuthenticationPanel endpoint="sametime"></xc:BasicAuthenticationPanel>

	</xp:view>

	

「sbtLoginDialog」カスタムコントロール

このカスタムコントロールを使用するときには、以下のカスタムプロパティを指定します。

  • dialogTitle
  • Label
  • endpoint

Login Dialog の表示例


	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	    xmlns:xc="http://www.ibm.com/xsp/custom">

	    <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	        clientScriptFile="livename" autoTunnelURI="true">

	    </xe:sametimeClient>

	    Login Dialog:

	    <xc:sbtLoginDialog id="loginDialog" dialogTitle="Login To Sametime"

	        endpoint="sametime" label="Login To Sametime">

	    </xc:sbtLoginDialog>

	</xp:view>

	

「sbtLoginSection」カスタムコントロール

このカスタムコントロールを使用するときには、以下のカスタムプロパティを指定します。

  • dialogTitle
  • Label
  • endpoint

Login Sesion の表示例



	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	    xmlns:xc="http://www.ibm.com/xsp/custom">

	    <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	        clientScriptFile="livename" autoTunnelURI="true">

	    </xe:sametimeClient>

	    Login Section:

	    <xc:sbtLoginSection id="sbtLoginSection1"

	        sectionTitle="Login To Sametime" endpoint="sametime" label="Login To Sametime">

	    </xc:sbtLoginSection>

	</xp:view>

	

計算結果フィールドコントロールを使用した Livename コンポーネントの追加

計算結果フィールドコントロールは contentType="xs:st.livename" 属性を設定することで Sametime Livename を表示できます。


	<xp:text escape="true" id="computedField8" contentType="xs:st.livename">

	    <xp:this.value><![CDATA[#{"UserID|Display Name"}]]></xp:this.value>

	</xp:text>

	

あるいは


	<xp:text escape="true" id="computedField7"

	            contentType="xs:st.livename">

	            <xp:this.value><![CDATA[#{javascript:"UserID|Display Name"}]]></xp:this.value>

	</xp:text>

	

「value」の書式は "Sametimeユーザー ID | 表示名" です。
ログインしているユーザー自身の ID を取得するには、以下のスクリプトのように @Endpoint("sametime").getUserIdentity() を使用します。


	<xp:text escape="true" id="computedField3" contentType="xs:st.livename">

	        <xp:this.value><![CDATA[#{javascript:@Endpoint("sametime").getUserIdentity()+"|[user display name]"}]]></xp:this.value>

	</xp:text>

	

完全な XPage のコードは以下のようになります。


	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	    xmlns:xc="http://www.ibm.com/xsp/custom">

	    <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	        clientScriptFile="livename" autoTunnelURI="true">

	    </xe:sametimeClient>

	    Here is an example with the id and a display name set:

	    <xp:text escape="true" id="computedField3" contentType="xs:st.livename">

	        <xp:this.value><![CDATA[#{javascript:@Endpoint("sametime").getUserIdentity()+"|[user display name]"}]]></xp:this.value>

	    </xp:text>

	</xp:view>

	

Sametime Widget コントロールを使用した Livename コンポーネントの追加

Sametime Livename は Sametime Widget Control を使って表示することもできます。


	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	    xmlns:xc="http://www.ibm.com/xsp/custom">

	    <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	        clientScriptFile="livename" autoTunnelURI="true">

	    </xe:sametimeClient>

	    Here is an example using a sametime widget:

	    <xe:sametimeWidget id="sametimeWidget1" dojoType="sametime.LiveName">

	        <xe:this.dojoAttributes>

	            <xp:dojoAttribute name="userId">

	                <xp:this.value><![CDATA[#{javascript:@Endpoint("sametime").getUserIdentity()}]]></xp:this.value>

	            </xp:dojoAttribute>

	        </xe:this.dojoAttributes>

	    </xe:sametimeWidget>

	    <xp:br></xp:br>

	</xp:view>

	

Sametime Widget コントロールを使用した Web クライアントの追加

Sametimg Widget コントロールで dojoType="sametime.WebClient" を指定することで Sametime Web クライアントを表示します。

Sametime Web クライアント


	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"

	    xmlns:xc="http://www.ibm.com/xsp/custom">

	    <xp:br></xp:br>

	    <xe:sametimeClient id="sametimeClient1" autoLogin="true"

	        autoTunnelURI="true" clientScriptFile="widgets">

	    </xe:sametimeClient>

	    Sametime WebClient:

	    <xp:br />

	    <xe:sametimeWidget id="sametimeWidget1" dojoType="sametime.WebClient"></xe:sametimeWidget>

	    <xp:br></xp:br>

	</xp:view>

	


  • Edit
  • More Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (7)
collapsed Versions (7)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (7)Feb 7, 2013 12:24:16 AMHiroaki Komine  IBM contributor
6Feb 7, 2013 12:14:52 AMHiroaki Komine  IBM contributor
5Feb 6, 2013 8:41:16 AMHiroaki Komine  IBM contributor
4Dec 21, 2012 2:13:10 AMHiroaki Komine  IBM contributor
3Dec 21, 2012 2:08:45 AMHiroaki Komine  IBM contributor
2Dec 21, 2012 1:58:36 AMHiroaki Komine  IBM contributor
1Dec 21, 2012 1:51:06 AMHiroaki Komine  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkIBM Collaboration Solutions
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use