IBM Lotus Sametime は バージョン7.5 から Lotus Expeditor ベースのリッチクライアント・アプリケーションとして進化し、プラグイン開発によりその機能を容易に拡張できるようになりました。そして、既に下記の記事にて開発環境の構築手順をご紹介しました。
Experditor Toolkit と Rational Application Developer で Sametime 7.5 プラグイン開発環境を作る
Sametime Toolkit と Rational Application Developer で Sametime 7.5 プラグイン開発環境を作る
ここでは、これらの環境を使用して、実際にプラグインを開発する手順をご紹介します。 後述の開発手順は、既にこれらに従いSametimeプラグイン開発環境が構築されていることが前提です。
Sameitme Conenct は Eclipse同様、「拡張ポイント」を使用して機能拡張を行います。ツールバーや右クリックメニュー、ステータスバー等、Sametime固有の機能についても多くの拡張ポイントが提供されています。今回は拡張ポイン
ト"miniApps"を使用して Sameitme Conenct の画面下部に組み込まれる「ミニ・アプリケーション」を作成してみます。
Sametime Connect の「ミニ・アプリケーション」
1. RADの「ファイル」メニューから 「新規」→「プロジェクト」を選び、新規プロジェクトとして「プラグイン・プロジェクト」(もしくは「Plug-in Project」)を選択する。
2. 「プロジェクト名」として、任意のプロジェクト名(ここでは com.ibm.sametime.sampleMiniApp )を設定して、「次へ」を押下します。次の画面で「終了」を押下します。
3. 作成されたプロジェクト com.ibm.sametime.sampleMiniApp の MANIFEST.MF ファイル(META-INFフォルダーの中)を開き、「依存関係」タブをクリックします。
4. 「必須プラグイン」の「追加」ボタンを押下して、プラグイン com.ibm.collaboration.realtime.imhub を追加します。このプラグインは、Sametimeミニ・アプリケーションの拡張ポイント com.ibm.collaboration.realtime.imhub.miniApps を使用するためのものです。
5. 次に、「拡張」タブをクリックし、「すべての拡張」の「追加(A)」ボタンを押下します。
6. 「拡張ポイントの選択」ダイアログで、拡張ポイント com.ibm.collaboration.realtime.imhub.miniApps を追加します。これが「ミニ・アプリケーション」の拡張ポイントになります。
7. ここで Ctrl-s キーを押下して、一旦保存します。
8. 「すべての拡張」ビューに追加された拡張ポイント com.ibm.collaboration.realtime.imhub.miniApps を選択し、右クリックメニューから、「新規(N)」→「miniApp」 を選択します。
9. 画面右側の「拡張要素詳細」画面に、作成したミニ・アプリケーションの詳細情報がデフォルト表示されていますので、下記のとおりに追加・修正します。設定したら Ctrl-s キー押下で一旦保存します。
| id | 識別しやすい適当な文字列に修正します。 (ここではclassに合わせています。) |
| displayName | 実行時、ミニ・アプリケーションのタイトルバーに表示される文字列です。 |
| class | パッケージ名部分を全て小文字に変更します。 (クラス名は必ず大文字から始めてください。) (例: com.ibm.sametime.sampleMiniApp.MiniApp1→ com.ibm.sametime.sampleminiapp.MiniApp1) ※2のステップで内部生成された Activater クラスのパッケージ 名に合わせる為の修正です。 |
| icon | 表示時の最大高さを指定します。 必須ではありませんが、指定しないと表示されない場合があるので、なるべく設定しておきます。 |
| maxHeight | 実行時、ミニ・アプリケーションのタイトルバーに表示されるアイコンです。 (今回は指定しません。) |
10. 次にミニ・アプリケーションの実装クラスを作成します。「拡張要素詳細」内の class*: をクリックします。
11. 「新規Javaクラス」画面の 「スーパークラス」フィールド横の「参照」ボタンを押下して、「スーパークラスの選択」ダイアログを表示させます。入力フィールドに "Abstract" と入力すると下に候補のクラスが表示されますので、「一致する型」の一覧より AbstractMiniApp - com.ibm.collaboration.realtime.miniapp を指定して「OK」を押下します。
12. 「スーパークラス」フィールドに com.ibm.collaboration.realtime.miniapp.AbstractMiniApp が指定されていることを確認して、「終了」を押下します。
13. ToolKitにより、実装クラス MiniApp1 のスケルトンが作成されます。このクラスの createControl メソッドが、実際のUIを記述するメソッドになります。ここからは通常のSWTベースのプログラミングになります。
14. 試しに、以下のようにコードを修正して、実行してみてください。
下記のように、ブラウザ画面を表示する「ミニ・アプリケーション」が表示されます。
-
developerWorks Japan: Lotus: Lotusの日本の技術情報サイトです
-
developerWorks: Lotus(US) : Lotusの英語の技術情報サイトです
-
Extending Sametime 7.5 - Building Plug-ins for Sametime(US)
-
Lotus Sametime Connect 7.5の拡張