Lotus Notes 8のコンポジット・アプリケーション開発 Lotus Notes/Domino 技術支援講座 ビジネス・ユニットの名前 2007年 9月14日
by user
Comments
Transcript
Lotus Notes 8のコンポジット・アプリケーション開発 Lotus Notes/Domino 技術支援講座 ビジネス・ユニットの名前 2007年 9月14日
ビジネス・ユニットの名前 Lotus Notes/Domino 技術支援講座 Lotus Notes 8のコンポジット・アプリケーション開発 2007年 9月14日 日本アイ・ビー・エム株式会社 Lotus ソフトウェア事業部 PSU_temp_0522 IBM Corporation 8/3/05 この文書のデータの利用または公開には、 最終ページに記載されている制限事項が適用されます。 © 2007 IBM Corporation ビジネス・ユニットの名前 特記事項 本資料に記載されている内容は、2007年8月に発表された IBM Lotus Notes/Domino 8 英語版での情報に基づいております。 そのため、画面表示など一部の記載内容に関して、日本語版とは異なる場合 がありますので、予めご了承ください。 本資料の記載内容は、正式な IBM のテストやレビューを受けておりません。内容に ついて、できる限り正確を期すよう努めてはおりますが、いかなる明示または暗黙の 保証も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべ きものであることを、あらかじめご了承ください。 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の場合 において、自由に使用してもかまいませんが、営利目的の使用は禁止させていただ きます。 PSU_temp_0522 2 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 Agenda コンポジット・アプリケーション概説 – コンポジット・アプリケーションとは – Lotus Notes 8 でのコンポジット・アプリケーション コンポジット・アプリケーション開発(デモ) – デモでの開発の流れ – コンポジット・アプリケーションの作成(1) – コンポジット・アプリケーションの作成(2) 参考情報 PSU_temp_0522 3 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジット・アプリケーションとは PSU_temp_0522 4 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 一般的なコンポジット・アプリケーションの定義 ソフトウェア・モジュールやコンポーネント、個別の 業務アプリケーション、サービスなどのソフトウェ ア・パーツを要素として、これらの組み合わせによっ て構築されたアプリケーション クライアント コンポジット・アプリケーション 業務アプリケーション ERP P C R ー ポ ブ ッ レ ト ラ ト ザ ウ CRM ng i Sw X e v ti c A Customer Service Collaboration Inventory, Logistics Supply Chain PSU_temp_0522 5 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジット・アプリケーションの特徴 複数のソフトウェア・パーツが連携して アプリケーションを構成する アプリケーション固有の情報モデル 異なる時期・設計者による設計 個別のインターフェイス 独自のアーキテクチャ アプリケーション 統一された情報モデル 合意されたインターフェイス 整合性のある設計 共通のアーキテクチャ PSU_temp_0522 6 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 現在の複数アプリケーションの姿 独自のアーキテクチャ /情報モデル メールシステム 営業管理システム 独自のインターフェイス 連絡 営業報告 発注システム 発注処理 PSU_temp_0522 7 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 複数アプリケーションを利用するユーザー・イメージ 多数のアプリケーションを起動し 切り替えつつ使用しなければならない状態 PSU_temp_0522 8 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジット・アプリケーションになると メールシステム 共通のアーキテクチャ /情報モデル 統合された アプリケーション 営業管理システム 発注 報告 連絡 発注システム PSU_temp_0522 9 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジット・アプリケーションのユーザー・イメージ ひとつのアプリケーション上で シームレスに作業できる PSU_temp_0522 10 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考)ところで「マッシュアップ」と同じこと? マッシュアップ(Mashup) – 総論としては「インターネット上で公開されている複数の既存サービス(AP I)を組み合わせて、新しいサービス(プログラム)を作ること」を意味してい る • Google, Yahoo, Amazonなど、既存Webサービス・サイトが APIを提供 • 例)Google Maps APIを利用した、地図情報と連携する「マッシュアップ・ サイト」 コンシューマー向けとして発展した 超疎結合なWebアプリケーション(サービス)連携手法 企業向けマッシュアップ(Mashup for Business) – 「次世代のコンポジット・アプリケーション」と表現されることも • より疎結合で、よりフレキシブルな連携 PSU_temp_0522 11 目指している方向性は同じでも、技術用語としては異なるようです 目指している方向性は同じでも、技術用語としては異なるようです IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 Notes 8でのコンポジット・アプリケーション PSU_temp_0522 12 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジット・アプリケーションでの新しい用語とツール A SO DL ス S ビ W ー サ eb W 用語 ツール PSU_temp_0522 13 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新用語① コンポーネント コンポジット・アプリケーションを構成するアプリケーションの単位 – ユーザー・インタフェースを含む、データとそれを処理するロジックの塊 – 複数のコンポーネントから、コンポジット・アプリケーションが成り立つ コンポジット・アプリケーション コンポーネントA コンポーネントB コンポーネントC 作成された環境に応じて呼び分ける – NSFコンポーネント – Eclipse コンポーネント 連携インタフェースとして「プロパティ」と「アクション」を持つ PSU_temp_0522 14 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新用語① 補足)NSFコンポーネント コンポジット・アプリケーション コンポーネントA 従来のNotesアプリケーション コンポーネントB コンポーネントC ナビゲーター 似た関係 にある ビューあるいはフォルダ ページあるいは文書 Domino Designerで開発されたノーツDB(NSF)内のコンポーネント – 従来のノーツアプリケーション設計要素がコンポーネントになる • ビュー、フォルダ • フォーム、ページ、フレームセット、ナビゲーター – NSFコンポーネントでプロパティやアクションと直接結びつく設計要素 PSU_temp_0522 15 • プロパティの例) ビューの列 • アクションの例) ビューのアクション IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新用語① 補足)組み込み済みのNSFコンポーネント Notes 8標準のテンプレートに、PIMコンポーネントとして標準提供 – 個人アドレス帳 • Notes Contacts View – 名前やEメールアドレスが、プロパティとして定義済み – メール • Notes Mail View – メール送信者、件名などがプロパティとして定義済み – 指定文字列を宛先とした新規メール作成のアクションも定義済み • その他、Notes Calendar View、Notes Todo View など PSU_temp_0522 16 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新用語② プロパティとアクション コンポーネント同士が連携するためのインターフェース – プロパティ - コンポーネント内で保持しているデータ • プロパティには、データ種類(文字データ、日付データ)を識別する「タイ プ」も必要 – アクション - コンポーネントに要求可能な処理(ロジック) – これらの定義情報は「Webサービス記述言語(WSDL)」でまとめられる 参考)LotusScriptのモデル(構造)とほぼ同じ Notes Database クラス PSU_temp_0522 17 コンポーネント Title プロパティ プロパティ Create メソッド アクション 従来のノーツ・アプリケーションでも、「アクション」という設計要素があるため 従来のノーツ・アプリケーションでも、「アクション」という設計要素があるため コンポーネントのアクションを「WSDL コンポーネントのアクションを「WSDLアクション」と呼び分けることもあります アクション」と呼び分けることもあります IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新用語③ ワイヤリング コンポーネント同士を結びつけること – あるコンポーネントのプロパティと、別コンポーネントのアクションを結合 プロパティ 参考)プロパティ・ブローカー – 結合されたコンポーネント 間のコミュニケーションを サポートする仲介者 – コンポーネントが提供す るプロパティの変更をモ ニターしている – コンポーネントのプロパ ティが変更されるとイベン トを発行し、ワイヤリング された別コンポーネントの アクションを呼び出す コンポーネント コンポーネント AA コンポーネント コンポーネント CC プロパティ・ブローカー( Property Broker ) プロパティ・ブローカー(Property Broker) アクション コンポーネント コンポーネント BB リッチクライアント・プラットフォーム (Eclipse RCP) PSU_temp_0522 18 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 18 ビジネス・ユニットの名前 新ツール① プロパティ・ブローカー・エディター コンポーネントのインターフェース定義のためのGUIツール – 「Webサービス記述言語(WSDL)」を知らなくても、WSDLファイルの作成を 支援してくれる – プロパティとアクションをGUI上で定義 • (補足)定義情報の補足として、タイプなども定義 Lotus Domino Designer 8の新たな機能 – もともとは、WebSphere Portalでのポートレット間通信のための仕組みで、 Lotus Expeditor(Eclipse RCP)に移植されたもの NSFコンポーネントの開発者が使用するツール NSFコンポーネントの開発者が使用するツール PSU_temp_0522 19 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考)プロパティ・ブローカー・エディターの画面 PSU_temp_0522 20 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 新ツール② コンポジット・アプリケーション・エディター コンポーネントを組み合わせて、コンポジット・アプリケーションとして定義する ためのGUIツール – アプリケーションとしての画面レイアウトを定義 • 複数のコンポーネントを「ドラッグ&ドロップ」することで、表示位置(配置) が決定 – コンポーネント間連携のためのワイヤーを定義 • ソース(Source)となるコンポーネントのプロパティと、ターゲット(Target) となるコンポーネントのアクションとを、「ドラッグ&ドロップ」でワイヤリン グ Lotus Notes 8のオプション機能 – インストール時に「コンポジット・アプリケーション・エディター(CAE)」を選択 する PSU_temp_0522 21 コンポジット・アプリケーションの提供者が使用するツール コンポジット・アプリケーションの提供者が使用するツール IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考)コンポジット・アプリケーション・エディターの画面 PSU_temp_0522 22 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考)ワイヤリングの画面 PSU_temp_0522 23 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 最後に「NSFベースのコンポジット・アプリケーション」 「NSFファイル」を入り口としたコンポジット・アプリケーション – 実体はNSFファイルでも、いわゆるノーツDBではない • コンポジット・アプリケーションの定義情報(Composite Application XML)を格納するだけの存在 • 唯一のノーツDBらしさは、アクセス制御リスト(ACL)のみ – 専用テンプレート「Blank Composite Application」から作成 – Dominoサーバー上、あるいはNotesクライアント・ローカルに配置 – 補足)「Portalベースのコンポジット・アプリケーション」もあり、入り口の実態 に合わせて呼び分ける PSU_temp_0522 24 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 1. 開発の流れ PSU_temp_0522 25 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発の流れⅠ - NSFコンポーネントの作成① 従来のノーツアプリケーションをコンポジットアプリケーションのコンポーネントとして利用するため の設定をします。 コンポーネントの情報を定義します。 定義した情報をノーツの設計要素に関連付けます。 コンポーネント情報の定義 設計要素との関連付け Property ・・・・・・・・・・・・ ・・・・・・・・・・・・ Action ・・・・・・・・・・・・ ・・・・・・・・・・・・ PSU_temp_0522 26 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発の流れⅠ - NSFコンポーネントの作成② – 1.コンポーネント情報の定義 コンポジットアプリケーションのPropertyとActionに関する情報を定義します。 NSFコンポーネントの作成におけるコンポーネント情報の定義は、ドミノ デザイナーに含まれるプロパ ティ・ブローカー・エディターというツールを使用します。 定義した情報は、XMLで記述されたWSDL形式のファイルで自動保存されます。 – 2.設計要素との関連付け コンポーネントの定義情報とノーツの設計要素を関連付けます。 Lotus Notes 8からノーツの設計要素のプロパティで新しく追加された「Composite Settings」という項目 で指定します。 この関連付けは、どのノーツ設計要素がコンポジットアプリケーションのPropertyやActionになるかという 設定になります。 PSU_temp_0522 27 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発の流れⅡ - コンポーネントの組み合わせ① 複数のコンポーネントを関連付けてコンポジットアプリケーションを作成します。 コンポジットアプリケーションとなるNSFを作成します。 アプリケーションにコンポーネントを追加します。 アプリケーションの画面を構成します。 コンポーネントを関連付けます。 NSFの作成 画面の構成 コンポーネントの追加 コンポーネントの関連付け PSU_temp_0522 28 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発の流れⅡ - コンポーネントの組み合わせ① – 1.NSFの作成 コンポジットアプリケーションとなるNSFを新規で作成します。 このNSFは、Lotus Notes 8で用意されているコンポジットアプリケーション用のテンプレートを使用して作 成します。 – 2.コンポーネントの追加 作成したNSF(コンポジットアプリケーション)にコンポーネントを追加します。 ここからの手順は、コンポジット・アプリケーション・エディターというツールを使用します。 – 3.画面の構成(レイアウト) コンポーネントを配置してコンポジットアプリケーションの画面をどのように表示するか構成します。 – 4.コンポーネントの関連付け(ワイヤリング) 複数のコンポーネントが連携した一連の動作となるように関連付けます。 PSU_temp_0522 29 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 2. コンポジットアプリケーションの作成(1) ~ NSFコンポーネントを使用したコンポジットアプリケーション ~ PSU_temp_0522 30 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - 概要 個人アドレス帳 ディスカッション 2つのNSFコンポーネントを組み合わせたアプリケーションを作成します ① 個人アドレス帳DBの ビューでユーザーを選択 すると ・・・ ② ディスカッションDBの ビューで選択ユーザーの スレッドにフォーカスが移 動します PSU_temp_0522 31 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - 事前準備 – 1.個人アドレス帳の準備 タイトル User’s Contact ファイル名 Names.nsf ※ 個人アドレス帳に文書を作成します。 (Profile.nsfよりコピーして貼り付けます) Lotus Notes 8 の個人アドレス帳には、コンポジットアプリケーション用の設計が含まれています。 – 2.ディスカッションDBの準備 タイトル Notes/Domino 6 and 7 Forum ファイル名 NDForum.nsf ※ 「2.Author¥Threaded」ビューにコンポジットアプリケーション用の[Select Person]アクションをを作 成します。(Lotus Scriptコードにて記述) PSU_temp_0522 32 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成① – 1.コンポーネント情報の定義 ① ディスカッションDBをドミノ・デザイナーで開きます。 ② ナビゲータペインで “Composite Applications¥Wiring Properties” を選択して、設計ペインの[New Wiring Properties]ボタンをクリックして表示される「IBM Lotus Domino Designer」ダイアログ に ”NDForum” と入力して[OK]ボタンをクリックします。 ⇒ 設計ペインに作成した要素が追加されます。 ③ 設計ペインで ”NDForum” が選択された状態で[Open File]ボタンをクリックします。 ⇒ プロパティ・ブローカー・エディターの画面が表示されます。 ドミノ・デザイナーの 画面 ② ③ PSU_temp_0522 33 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成② ④ プロパティ・ブローカー・エディターの画面で「Properties」、「Actions」タブを入力します。 プロパティ・ブローカー・エディターの入力内容 「Properties」タブ Target Namespace Namespace ”http://www.w3.org/2001/XMLSchema”に変更。 [Add]ボタンをクリックして以下項目を指定。 Property Details Name 任意の値を入力 例) UserDisplayNamePart Type “String”を選択 Title 任意の値を入力 例) User Description 任意の値を入力 例) Display user name 「Actions」タブ [Add]ボタンをクリックして以下項目を指定。 Action Details Action Input Parameter Name 任意の値を入力 例) actSelectUser Title 任意の値を入力 例) Select User by Name Description 任意の値を入力 例)Select user by name Notes View ※「Properties」タブのProperty Details – Nameの値を選択。 PSU_temp_0522 34 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成③ ⑤ [File¥Save]メニューをクリックして設定内容を保存して、[File¥Exit]メニューをクリックしてプロパティ・ ブローカー・エディターを終了します。 ⇒ ドミノ・デザイナーの画面へ戻ります。 プロパティ・ブローカー・エディターの画面 ⑤ PSU_temp_0522 35 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成④ ⑥ 設計ペインで ”NDForum” が選択された状態で[Refresh]ボタンをクリックします。 ⑦ 「ファイルを開く」ダイアログの[開く]ボタンをクリックします。 ※ 「ファイルの場所」と「ファイル名」は変更せず、初期値を使用します。 ⑦ PSU_temp_0522 36 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成⑤ – 2.設計要素との関連付け ① 「2.Author¥Threaded」ビュー[Select Person]アクションのプロパティを開きます。 「Advanced」タブの「Composite Settings」-「Action Name」で ”actSelectUser” (プロパティ・ブロー カー・エディターで入力したActionの名前)を指定します。 ※ プログラムペインに事前準備のLotus Scriptコードが記述されているか確認して下さい。 ② ビューを保存してドミノ・デザイナーを終了します。 Lotus Scriptコードの記述 PSU_temp_0522 37 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ① – 1.NSFの作成 ① ワークスペースで[File¥Application¥New]メニューをクリックします。 ② 「New Application 」ダイアログを入力して[OK]ボタンをクリックします。 「New Application」ダイアログの入力内容 Specify New Application Name and Location Server “Local”を指定 Title 任意の値を入力 例) Customer Interests File name 任意の値を入力 例) CustomerInterests.nsf Encyption 必要に応じて設定します(作成時のID以外でアクセスした場合の暗号化設定) Specify Template for New Application Server “Local”を指定 Template “-Blank Composite Application -”を選択 PSU_temp_0522 38 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ② ⇒ 作成したNSFが開き「Blank Page」ページが表示されます。 (NSFを開いた画面には、コンポーネントが未配置のため警告文が表示されます) 「New Application」ダイアログ 作成したNSFの「Blank Page」ページが開いた画面 ”-Blank Composite Application-”を選択 PSU_temp_0522 39 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ③ – 2.コンポーネントの追加 ① 「Blank Page」ページが開いた状態で[Actions¥Edit Application]メニューをクリックします。 (ネットワークに接続されていない環境の場合、「Edit Application」ダイアログが表示されますが問題あ りません) ⇒ コンポジット・アプリケーション・エディターの画面が表示されます。 コンポジット・アプリケーション・エディターの画面 PSU_temp_0522 40 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ④ ② 画面右の「Component Palette」を開いて ”General” カテゴリの付近で[Add Components¥Add NSF Component]右クリックメニューを実行します。 「New NSF Component」ダイアログを入力して[OK]ボタンをクリックします。 (「Component Palette」を開いた後に ”Set Palette Pin” オプションで固定すると作業がしやすくなりま す) 「New NSF Component」ダイアログの入力内容 Component Name 任意の値を入力 例) NDForum – Author Threaded View Component Descripsion 任意の値を入力 例) NDForum – Author Threaded View Notes URL [Browse]ボタンをクリックして「Locate Object」ダイアログで次のように指定します。 Kind of object = “View”を選択, Application = “NDForum.nsf” を指定 View = “2.Author¥Threaded” を選択 ⇒ 「Locate Object」ダイアログの指定後に斜体太字部分を追加入力します。 “Notes///4925732A003C6F66/nAuthorThreaded?OpenView&HideNavigator” (下線文字部分はNSFのレプリカIDが自動で入力されます) Category “General” を選択 PSU_temp_0522 41 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑤ ⇒ 「Component Palette」に作成したコンポーネントとして追加されます。 「New NSF Component」ダイアログ Component Palette 「Component Palette」を 開いて右クリックメニュー を実行します PSU_temp_0522 42 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑥ – 3.画面の構成(レイアウト) ① 「Component Palette」で ”PIM¥Notes Contacts View” コンポーネントを選択して中央のアプリケー ションエリアへドラッグ&ドロップで配置します。 ( ”PIM” カテゴリのコンポーネントは Lotus Notes 8 で予め登録されているNSFコンポーネントです) ドラッグ&ドロップで配置します アプリケーションエリア PSU_temp_0522 43 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑦ ② 「Component Palette」で ”General¥NDForum - Author Threaded View” コンポーネントを選択して、 手順①と同じ要領でアプリケーションエリアにドラッグ&ドロップで配置します。 マウスのドラッグ中はコンポーネントの配置位置を示すイメージ枠が表示されます。 マウスボタンを離す(ドロップ)と位置が確定します。 配置済みのコンポーネ ントが表示されます 配置位置を示すイメー ジ枠が表示されます PSU_temp_0522 44 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑧ – 4.コンポーネントの関連付け(ワイヤリング) ① ナビゲータペインで ”Notes Contacts View” コンポーネントを選択して[Wiring]右クリックメニューを実 行します。 ⇒「Wiring」ページが表示されます。 「Wiring」ページ PSU_temp_0522 45 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑨ ② “Notes Contacts View” コンポーネントの “Common name changed” を選択してマウスで ”NDForum – Author Threaded View” コンポーネントの方向へドラッグします。 青色矢印の先端を ”Select User by Name” の マーク上でマウスボタンを離し(ドロップ)ます。 ⇒ ワイヤリングのイメージが点線で表示されます。 ③ [File¥Finished Editing]メニューをクリックしてコンポジット・アプリケーション・エディターを終了します。 ※「Composite Application Editor」ダイアログ(終了確認と保存確認)で[Yes]ボタンをクリックします。 ⇒ コンポジット・アプリケーション・エディターが終了してアプリケーションが開きます。 イメージが点線 表示されます PSU_temp_0522 46 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑩ 完 成! ① 個人アドレス帳DBの ビューでユーザーを選択 すると ・・・ ② ディスカッションDBの ビューで選択ユーザーの スレッドにフォーカスが移 動します PSU_temp_0522 47 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 3. コンポジットアプリケーションの作成(2) ~ Eclipseコンポーネントを使用したコンポジットアプリケーション ~ PSU_temp_0522 48 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - 概要 Eclipseコンポーネントを使用したアプリケーションを作成します ① 個人アドレス帳DBの ビューでユーザーを選択 すると ・・・ ② ディスカッションDBの ビューで選択ユーザーの スレッドにフォーカスが移 動して・・・ ③ 選択ユーザーがディスカッ ションしたトピックをリスト表示 します PSU_temp_0522 49 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - 事前準備 – 1.ディスカッションDBの準備 ※ 「2.Author¥Threaded」ビュー「Onselect」イベントに選択文書に対して行う処理を記述。 (Lotus Scriptコードにて記述) – 2.Eclipseコンポーネントの準備 「UpdateSite」フォルダ(Eclipseコンポーネント)をCドライブに保存。 PSU_temp_0522 50 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - NSFコンポーネントの作成① – 1.コンポーネント情報の定義 ① ディスカッションDBをドミノ・デザイナーで開きます。 ② ナビゲータペインのComposite Applications¥Wiring Propertiesを開き、設計ペインで ”NDForum” が 選択された状態で[Open File]ボタンをクリックします。 ⇒ プロパティ・ブローカー・エディターの画面が表示されます。 ③ プロパティ・ブローカー・エディターの画面で「Properties」、「Actions」タブを入力します。 プロパティ・ブローカー・エディターの入力内容 「Properties」タブ Property Details 「Actions」タブ Action Details [Add]ボタンをクリックして以下項目を指定。 Name “propTopicList”と入力 Type “String”を選択 Title 任意の値を入力 例) Publish Topics Description 任意の値を入力 例) Publish Topics for selected user [Add]ボタンをクリックして以下項目を指定。 Name 任意の値を入力 例) publishTopics Title 任意の値を入力 例) Publish topics by Selected User Description 任意の値を入力 例) Topics by Selected User Action Output Parameter PSU_temp_0522 51 ※「Properties」タブのProperty Details – Nameの値を選択して [Add]ボタンをクリック。 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - NSFコンポーネントの作成② ④ [File¥Save]メニューをクリックして設定内容を保存して、[File¥Exit]メニューをクリックしてプロパティ・ ブローカー・エディターを終了します。 ⇒ ドミノ・デザイナーの画面へ戻ります。 ⑤ 設計ペインで ”NDForum” が選択された状態で[Refresh]ボタンをクリックします。 ⑥ 「ファイルを開く」ダイアログの[開く]ボタンをクリックします。 ※ 「ファイルの場所」と「ファイル名」は変更せず、初期値を使用します。 ⑦ ドミノ・デザイナーを終了します。 PSU_temp_0522 52 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ① – 1.コンポーネントの追加 ① コンポジットアプリケーションを開いて[Actions¥Edit Application]メニューをクリックします。 ⇒ コンポジット・アプリケーション・エディターの画面が表示されます。 ②画面右の「Component Palette」を開いて ”General” カテゴリの付近で[Add Components¥Add Components from Update Site]右クリックメニューを実行します。 コンポジット・アプリケーション・エディターの画面 ① ② PSU_temp_0522 53 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ② ③ 「Update Site Details」ダイアログを次のように指定して[OK]ボタンをクリックします。 Type = “Local Update Site” を選択, Location = “C:¥updatesite¥site.xml” ④ 「Select Components from an Update Site」ダイアロの[OK]ボタンをクリックします。 ※ 「Components」で “Tag Cloud” が選択されているか確認して下さい。 ⇒ 「Component Palette」リストに ”Tag Cloud” コンポーネントとして追加されます。 「Update Site Details」ダイアログ 「Select Components form an Update Site」ダイアログ PSU_temp_0522 54 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ③ – 2.画面の構成(レイアウト) ① 「Component Palette」で ”General¥Tag Cloud” コンポーネントを選択して中央のアプリケーションエリ アへドラッグ&ドロップで配置します。 ② 「Tag_Cloud Feature in IBM Lotus Notes」ダイアログで ”Install this plug-in” を選択して[OK]ボタンを クリックします。 ③ 「Restart」ダイアログで[Yes]ボタンをクリックします。 ※ コンポジット・アプリケーション・エディターの終了を確認する「Composite Application Editor」ダイアロ グが表示されるので[Yes]ボタンをクリックします。 ⇒ Lotus Notes 8 が再起動します。 「Tag_Cloud Feature in IBM Lotus Notes」ダイアログ 「Restart 」ダイアログ PSU_temp_0522 55 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ④ – 3.コンポーネントの関連付け(ワイヤリング) ① Lotus Notes 8 の起動後、コンポジットアプリケーションを開いて[Actions¥Edit Application]メニューを クリックします。 ⇒ コンポジット・アプリケーション・エディターの画面が表示されます。 ② ナビゲータペインで ”NDForum – Author Threaded View” コンポーネントを選択して[Wiring]右クリッ クメニューをクリックします。 ⇒「Wiring」ページが表示されます。 「Wiring」ページ PSU_temp_0522 56 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ⑤ ③ ”NDForum - Author Threaded View” コンポーネントの “Publish Topics” を選択してマウスで ”Tag Cloud” コンポーネントの方向へドラッグします。 青色矢印の先端を ”setPrimaryData” の マーク上でマウスボタンを離し(ドロップ)ます。 ⇒ ワイヤリングのイメージが点線で表示されます。 ④ [File¥Finished Editing]メニューをクリックして終了します。 「Composite Application Editor」ダイアログ(終了確認と保存確認)で[Yes]ボタンをクリックします。 PSU_temp_0522 57 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ⑥ 完 成! ① 個人アドレス帳DBの ビューでユーザーを選択 すると ・・・ ③ 選択ユーザーがディスカッ ションしたトピックをリスト表示 します ② ディスカッションDBの ビューで選択ユーザーの スレッドにフォーカスが移 動して・・・ PSU_temp_0522 58 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 4. 参考情報 PSU_temp_0522 59 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考情報 – Sandbox - Tutorial: Building Composite Applications for IBM Lotus Notes 8 Beta 3 http://www10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/53833531887a 864d852572f10068e6a6?OpenDocument (当資料で作成したコンポジットアプリケーションのファイルをダウンロードできます) – Lotus Notes 8 における Composite Applicationの概要と開発手法 http://www-06.ibm.com/jp/developerworks/ysl/library/y-notes8ca/ – IBM Lotus Notes 8 技術概説 http://www-06.ibm.com/jp/developerworks/ysl/library/y-notes8/ PSU_temp_0522 60 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 【参考】 「2.Author¥Threaded」ビューアクションのLotus Scriptコード Sub Click(Source As Button) Dim s As New NotesSession, ws As New NotesUIWorkspace Dim uidb As NotesUIDatabase, db As NotesDatabase, doc As NotesDocument Set uidb = ws.CurrentDatabase Set db = s.CurrentDatabase Lotus Notes 8で 'Handle error 4719, when script is run without a property broker context 追加された新しいクラス On Error 4719 Goto err4719 'NotesPropertyBroker code Dim pb As NotesPropertyBroker 'create new NotesPropertyBroker object Set pb = s.GetPropertyBroker Dim pbInputProperty As NotesProperty, pbContext As Variant pbContext = pb.InputPropertyContext 'array of NotesProperty objects Set pbInputProperty = pbContext(0) 'handle to first NotesProperty object Dim InputPropertyName As String, NameSpace As String InputPropertyName = pbInputProperty.Name 'name of NotesProperty object NameSpace = pbInputProperty.NameSpace 'namespace of NotesProperty object Dim pbValue As Variant pbValue = pb.getPropertyValue(InputPropertyName) 'array of values of NotesProperty cName$ = pbValue(0) 'first value from array NotesProperty object SkipPropertyBroker: If cName$ = "" Then Exit Sub Set doc = db.GetProfileDocument("SelectedAuthor", s.UserName) Call doc.ReplaceItemValue("SelectedAuthor", cName$) (個人アドレス帳のビュー Call uidb.OpenView("2. Author¥Threaded", cName$ , False, False) で選択したユーザーの) Exit Sub スレッドにフォーカスを移 err4719: Print "Error " & Str(Err) & ": " & Error$ 動する処理 Resume skipPropertyBroker End Sub PSU_temp_0522 61 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 【参考】 「2.Author¥Threaded」ビュー「Onselect」イベントのLotus Scriptコード Sub Onselect(Source As Notesuiview) Dim session As New NotesSession Dim workspace As New NotesUIWorkspace Dim view As NotesView Dim category As Variant Static lastCategory As String Set uiview = workspace.CurrentView Set view = uiview.view category = uiview.CaretCategory ' Onselect can occur when the entry hasn't changed (because the user clicked the document) ' or, of course, they might be on a different row but still the same document. If category <> lastCategory Then ' The selection has changed -- recalculate and publish the category summary. lastCategory = category Dim nav As NotesViewNavigator Set nav = view.CreateViewNavFromCategory(category) 'check if selected document is top level category. If not, exit subroutine Dim entryA As NotesViewEntry, entryB As NotesViewEntry Set entryA = nav.GetFirstDocument Set entryB = nav.GetParent(entryA) If (entryB Is Nothing) Then Exit Sub End If Dim TAGS List As Long Dim prop As String Call AssembleTagsFromNavigator(nav, TAGS) prop = ConvertToProperty(TAGS) Call publishProperty("propTopicList", prop) ディスカッションのビューで 選択されているユーザー のスレッド(カテゴリ)情報 をLotusScriptのProperty クラスに送信する処理 End If End Sub PSU_temp_0522 62 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 【参考】 プロパティ・ブローカー・エディターで作成されたWSDLファイルの内容 <?xml version="1.0" encoding="UTF-8"?> : : <types> <xsd:schema targetNamespace="http://www.w3.org/2001/XMLSchema"/> : : </types> <message name="UserDisplayNamePart"> <part name="UserDisplayNamePart" type="xsd:string"/> </message> <message name="propTopicList"> <part name="propTopicList" type="xsd:string"/> </message> : : <operation name="actSelectUser"> <input message="tns:UserDisplayNamePart"/> </operation> <operation name="publishTopics"> <output message="tns:propTopicList"/> プロパティ・ブローカー・エ </operation> ディターで入力した内容が : WSDL形式で保存される : </binding> </definitions> PSU_temp_0522 63 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。