Notes DB連携を試そう1

皆さん、こんにちは。
暑いですね。くれぐれも熱中症などにならないように気をつけましょう。

今日もDomino Volt 1.0.1の新機能についてです。
今回から4回に分けて、「Notes DB連携」の方法について見ていきます。
何のことはない。Notes DB連携の方法が4種類あるからです。
Notes DB連携のサービス操作の種類
Notes DB連携のサービス操作の種類

1回目の今日は「表示エントリーのリスト」を試してみます。

その前にまず、連携するNotes DBを用意します。
連携用のNotes DB
連携用のNotes DB

テスト用なのでシンプルにしました。
フィールドは「商品コード」「商品名」「商品カテゴリ」だけです。
文書数もたくさん登録するのが面倒なので5文書ほどにしてあります。
ビューは、フラットな「商品コード順」とカテゴリ分けしてある「カテゴリ別」のビューを用意しました。


対してDomino Voltのサンプルアプリケーションはこんなフォームにしてみました。
Domino Voltのサンプルアプリケーション
Domino Voltのサンプルアプリケーション


「表示エントリのリスト」というセクションには、2つの表と「カテゴリの選択」という入力用フィールドと[ビューエントリのリスト]というボタンが配置されています。

まずは一つ目の表にサービスを設定します。
フォームが表示されたときに、表にNotes DBの表示エントリーのリストを出力するようにしてみます。
表を選択して歯車アイコンをクリック、表のプロパティダイアログを表示させます。
「イベント」タブをクリックして、さらに「onShow」をクリックします。
onShowイベント
onShowイベント

onShowのダイアログが表示されるので、「サービスの呼び出し」にチェックをつけて、さらに「サービス構成の追加/編集」をクリックします。

「サービス構成」のダイアログが表示されるので、各項目を選択していきます。
まずサービスの種類は「Domino データベースから選択」にします。
「データベースの選択」では、データベース名もしくはデータベースのパスを入力すると候補が表示されるので、Notes DBを選択します。
ここでは、先ほど紹介した「商品テーブル」というNotes DBを選択します。
※Notes DBはDomino VoltをインストールしたDominoサーバーにないといけません。
「サービスの操作」は「表示エントリーのリスト」を選択します。
「ビューの選択」は連携したいビューを選択します。ここでは「商品コード順」のビューを選択します。
サービス構成の画面
サービス構成の画面

この「商品コード順」というビューは1列目が商品コードですでに昇順にソートされています。
従って、「ソートする列の選択」は何も入力/選択しません。

ここまで設定すると、「使用可能な列」という表が表示されます。
データ・タイプは変更することができますが、基本的には自動で設定してくれるので変更する必要はないでしょう。

そうしたら、[次へ]を2回クリックして、「出力」タブに移動します。
出力タブの設定
出力タブの設定

ここでは、ビューエントリを展開した先にある「商品コード」「表品名」「商品カテゴリ」を表の「商品コード」「表品名」「商品カテゴリ」と関連付けます。
これで、ビューに表示される文書がDomino Volt上の表に表示されるようになるはずです。

設定ができたら[OK]をクリックして確定します。
※ちなみに、後で設定を見直そうとしてサービスの呼び出し画面を開くと中途半端に英語で表示されますが焦らないように・・・
英語に切り替わってるよ。中途半端に・・・
英語に切り替わってるよ。中途半端に・・・

これで一度アプリケーションを保存してデプロイします。
デプロイできたらアプリケーションを[起動]します。
表に商品テーブルDBのビューエントリが表示されている
表に商品テーブルDBのビューエントリが表示されている

はい。商品テーブルDBのビューエントリの内容が表に出力されているのがわかりますでしょうか?
入力タブで何も設定しないとビューエントリの全件を出力してくれます。


次に、入力タブで値を関連付けた場合の出力方法について見ていきます。
「カテゴリの選択」というフィールドにカテゴリを入力して、[ビューエントリのリスト]というボタンをクリックしたら、その下の表に該当するビューエントリを表示するようにしてみます。
ボタンのプロパティを開いて、onClickイベントを開きます。
onClickイベントの画面では、サービスの呼び出しをクリックしてサービス構成の追加/編集をクリックします。
「1.サービスの選択」ではDominoデータベースから選択にして、Notes DB、サービス操作、ビューを選択しますが、先ほどと違うのはビューを「カテゴリ別」にするところです。
1.サービスの選択
1.サービスの選択

設定したら[次へ]をクリックして入力タブに移動します。
ここでは、「カテゴリの選択」フィールドとビューエントリのカテゴリ名を関連付けます。
これにより、カテゴリの選択に入力したカテゴリの文書だけが入力データになるはずです。
入力タブの設定
入力タブの設定

[次へ]をクリックして出力タブに移動します。
ここでは、先ほどと同じように表の項目と関連付けるだけです。
出力タブの設定
出力タブの設定

注目したいのはビューエントリから出力できる項目です。
ユニバーサル・ドキュメント ID(文書UNIDのことです)も出力できるのです。Notesの文書を取得するのによく使うアイテムなので、これは便利ですね。

ここまで設定できたら[OK]をクリックして確定させます。
これでアプリケーションを保存して、再デプロイします。
デプロイできたらアプリケーションを[起動]します。

今度は「カテゴリの選択」に値を入力して[ビューエントリのリスト]ボタンをクリックします。
すると、カテゴリに該当する文書だけが下の表に出力されているのがわかります。
実行結果その2
実行結果その2



いかがでしょうか?
表に出力しておけば、その行を選択したときにイベントで別の項目にセットさせるなんて言うこともできます(JavaScriptの記述になるのでハードルはかなり上がりますが・・・)。
とにかく、Note DBとDomino Voltアプリケーションが連携できるということがわかってもらえればそれでいいです。




※実装の方法は色々あると思いますので、あくまでもサービスの利用方法に着目してください。




それでは今日はこの辺で・・・




Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
HCL Ambassadorの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

コメント