ページビューの合計

ラベル API の投稿を表示しています。 すべての投稿を表示
ラベル API の投稿を表示しています。 すべての投稿を表示

2024年12月11日水曜日

#DominoLeap ( #Leap ) 表の中のデータを活用したい

This will be another Domino Leap topic.

I want to use array data retrieved via the REST API for workflow emails, but I couldn't easily set it up.

Miyo Ambassador gave me a solution, which I will share with you here.


みなさま、こんにちは。
またまた今回もDomino Leapの話題です。

Domino Leapは簡単に外部のAPIに接続し、値が取れることはしばらく前に以下の記事でご紹介致しました。

#Domino #Volt ( #dominovolt )で 外部 #REST #API ( #restapi )を使う

単純にデータを取ってくるだけだと問題ないのですが、たとえば先日掲載しました郵便番号から住所を取得するAPIでは、戻ってくるJSONが配列になっており、Domino Leapのローコード画面で扱う場合は、表データになっています。

今回の例では、戻ってくるJSONは、以下のように[]で囲まれた配列になっています。


Domino Leapのサービスで呼び出すと、以下のように表として認識されることになります。


このデータをDomino Leapに取り込む場合、単にページに配置したフィールドで受けようとすると、以下のようなアラートが表示されます。


取得するデータと同じ数のリスト(または表)で受ける必要があるというものです。

そのため、値を受け取るにはページに表を配置し、その表に値を受け取るフィールドを作成する必要があります。
そうすることで、以下のように取り込むデータとDomino Leapの関連付けを行うことが可能となります。



ここまでは問題ないのですが、この表で受け取ったデータをさらに利用しようとした場合、普通にページに配置したフィールドと同じような取り扱いができないのです。

例えば、ワークフローでメールを送信する場合の本文・・・


このボタンを押すことで、ページ内のフィールドを本文に呼び出すことができるのですが、表内のデータはこちらにリストされていません。


これではせっかく簡単に取得してきたデータを有効活用することができません。
どうにかして表内のデータをページ上に配置したフィールドにもっていく必要がありそうです。

表内のフィールドのonItemChangeイベントや、追加で配置したデータを受け取るためのフィールドのonItemFocusイベントなどで試したのですが、うまくいきません。

よくよく考えてみると、もともと表ですから、複数行のデータが存在することが可能ですよね。
ここがちゃんと指定できていないことが原因のようでした(汗


ということで、困った時の"神"頼み。
ではないのですが、Domino Leapといえば・・・の御代アンバサダーに相談させて頂きました。
問合せて5分。
以下回答を頂きました。


きっと御代アンバサダーも同じことを考えて、既に解決策をお持ちだったんでしょう。

ということで、こちらを利用させて頂きます。


ページに「都道府県」「市区町村」「町域」の3フィールドを用意して、表のonAddイベントに取得したそれぞれの値をセットするようにしてみます。

前半部分は御代アンバサダーから頂いたスクリプトをそのまま記述しています。
後半でそれぞれ表の列データをページのフィールドに割り当てています。

・都道府県(F_HPref)に表の1列目(colid.get(0))をセット
       BO.F_HPref.setValue(colid.get(0).getValue());

・市区町村(F_HCity)に表の2列目(colid.get(1))をセット
       BO.F_HCity.setValue(colid.get(1).getValue());

・町域(F_HTown)に表の3列目(colid.get(2))をセット
       BO.F_HTown.setValue(colid.get(2).getValue());

以上の設定で、「郵便番号」を入力することで、API経由で表に値が取得されます。
表に値が追加されたことで、ページの3フィールドに値がセットされるようになりました。

こうなれば、あとは普通のページ上のフィールドと同じ扱いができるようになります。
先のメール本文のリストにも表示されました。



あとは見た目です。
ページ内の表に「都道府県」「市区町村」「町域」があり、同じフィールドがそれぞれページ上にもあるのはよくないですよね。

ということで、以下のように表を非表示にすることでこの点は解決することができました。


これで今までずっと悩んでいたことが解決できました。

・・・もっと早く聞いてたらよかった・・・

いつもながら、御代アンバサダー、ありがとうございます!!


御代アンバサダーがいらっしゃる株式会社エフ様では、さまざまな情報提供が行われております。
今さら気付いのですが、もしかしたらサンプル配布されているアプリに本件実装されているかも・・・

弊社でも「Notes/Domino開発tipsサービス」は契約させて頂いており、毎週届く内容はナレッジとしてどんどん蓄積されておりますので、ぜひご検討ください。

年内の記事はこれで終わりかな?

みなさま、よいお年をお迎えください!!

2024年11月20日水曜日

#Domino #REST #API のインストール

Today, I have installed the Domino REST API and report on it.

I hope you will find it informative, such as the lack of Java on the Windows server, and the troubles I had because I relied on the instruction manual.


みなさま、こんにちは。
先日は弊社のクラスターサーバーのOSをWindows2019にアップデートして、Domino V14をインストールするまでを紹介致しました。
今回の目的はVoltMXGoで利用するための準備になりますので、今回はこのサーバーにDomino REST APIをインストールしていきたいと思います。


モジュールは先般と同様、My HCLSoftwareでダウンロードしてください。
現在のダウンロードファイルは「Domino_REST_API_V1.1_R14_Installer.tar.gz」というファイルになりますので、まずはこちらを解凍しておきます。
Windows標準では解凍できないかと思います。弊社では7-Zipというアプリを利用して解凍しました。

結果、以下のようなフォルダを入手できます。


次のこの「restapiInstall-r14.jar」ファイルをDominoのプログラムディレクトリにコピーします。
コピーできましたら、Windowsのコマンドプロンプトを管理者として実行します。


コマンドプロンプトのディレクトリをDominoのプログラムフォルダーに移動して、以下コマンドを実行します。
※各ディレクトリはご自身の環境に合わせて変更してください。

java -jar c:\domino\restapiinstall-r14.jar -d="C:\Domino\Data" -i="C:\Domino\notes.ini" -r= "C:\Domino\restapi" -p="C:\Domino\restapi" -a

本来はここでコマンドが進んで完了のはずなのですが、弊社サーバーでは以下画面が表示されてしまいました。

どうやらjavaがインストールされていないようです。


ということで、Windows版のjavaをダウンロードしてインストールします。

一度再起動して、再度先のコマンドを実行してみますと、


何かエラー出てます?
どうもやらWindowsで最新とインストールされたJavaはJava8であったのに対し、配布されたjarファイルはJava17でコンパイルされたことが原因のような情報に行きつきました。

そこでJava17にアップグレードを行ってみました。
オラクル社サイトより"Windows x64 Installer" をダウンロードして、得られたexeを実行します。(すべてデフォルト選択で進めました)
以上で"C:\Program Files\Java\jdk-17"にインストールされました。

続いて環境変数JAVA-HOMEを変更します。
変更方法はコントロールパネル>システム>システムの詳細設定画面を開きます。
以下の「環境変数」ボタンをクリックして設定を行います。


私の環境に"JAVA-HOME"がありませんでしたので、「新規」で先のディレクトリを追加します。



追加しましたら一度サーバーを再起動して、再度コマンドを実行します。
すると・・・
かなりたくさんのメッセージなどが表示されました。
どうやら失敗してそうです(汗


書かれていた内容を読み込んではみたのですが、どのディレクトリが間違っているのかわからず、HCL様サポートへ上記内容を送付してみました。
するとほどなく本スクリプトのポイントの確認について、回答がございました。
内容は

このコマンドについて、以下のポイントを確認してください。
・-d で指定したデータディレクトリのパスが正しいか
・-i で指定したNotes.iniのパスは正しいか(Domino 14では、Dataディレクトリにあります)
・-p で指定したDominoサーバーのパスが正しいか

との事でした。
見た瞬間にわかりました。
-pがDiminoディレクトリ配下のフォルダであるrestapiを向いていたのです。
先のスクリプトを正すと、

java -jar c:\domino\restapiinstall-r14.jar -d="C:\Domino\Data" -i="C:\Domino\notes.ini" -r= "C:\Domino\restapi" -p="C:\Domino" -a

が正解でした。

こちらを実行すると、無事インストールに成功しました。
・・・手順をまるまる読んで実施し、各パラメーターの中身まで確認していなかった私のミスでした(汗
ちなみに成功画面は以下になります。


以降、notes.iniの値追加と3つのnsfとそれぞれのntfが存在することを確認し、インストールは無事完了です。

続きましては以下サイトの手順に従って進めます。


まずはCheck connectivityです。
手順によると、FQDN名と"tango"に対してPingが通るように設定します。
弊社では通りませんでしたので、hostsファイルに記述を追加します。
※hostsファイルの場所>>C:\Windows\System32\drivers\etc\hosts

追記する内容は、以下4行です。

    127.0.0.1     domino.acme.com
    127.0.0.1     tango
    ::1           domino.acme.com
    ::1           tango

保存してpingを確認すると、いずれも応答があることを確認します。


次はConfiguring portsです。
詳しい内容は読んで頂くとして、先のFQDN名に対して、8880ポートで接続してみます。


無事コンソールが開きました。
下部にはインストールされているバージョンが表示されていることが確認できます。

以上でインストール作業は完了することができました。
あとは個別の接続設定を追加して、接続環境を準備していくことになります。

こちらはあらためて記事とさせて頂く予定ですので、今日のところは一旦以上とさせて頂きます。

少しJavaの準備で手惑いましたが、とりあえず現時点(2024/11)ではこの内容で環境は構築できるかと思いますので、ご参考になさってください。

なおDomino REST APIはDominoのライセンスに附属しておりますので、有効なライセンスをお持ちでしたらみなさまご利用可能です。
いろいろ面白そうですので、機会あればぜひお試しください。

2018年6月12日火曜日

#Connections #Cloud のアプリ連携について

みなさま、こんにちは!!
昨日はThink Japan 2018 が開催、かなり盛り上がっていたようです。
今回参加は叶いませんでしたが、あらゆるコミュニケーションからさまざまな情報発信があるかと思いますので、そちらに期待しております。
I think I will write a little about Connections Cloud instead of Notes today.

さてまずは告知です。
今週末はテクてくLotus技術者夜会です。
大阪PVも開催されますので、ぜひご参加をご検討ください。
・・・といいつつ、私は参加できないのです(涙

また来週22日金曜は、第二回大阪研究会も予定されております。
こちらには私も参加・・・どころか、1時間頂いておりまして、少し喋らせて頂くことになっております。資料は後日公開予定ですが、まちがいなく現地で表示したスライドにはモザイクが入りますので、ぜひIBM様大阪事業所までお越しください!

さらにもうひとつ。
IBM Notes/Domino V10 のベータプログラムの発表もございました。
登録も受付開始されておりますので、ぜひご確認ください。

さて今回は少しNotesを離れ、IBM Connections Cloud について書かせて頂きます。
と言いますのも、弊社では1ライセンステスト用にS1契約させて頂いており、可能な限り社員に画面を見てもらう機会を作ろうとしている最中なのです。
当初は企業ソーシャルというものにピンとこなかったのですが、Connections Cloudも改善が進み、かなりイメージがつかみやすい画面に変化して参りました。

せっかくなので、Connections Cloudの画面を少しご紹介いたします。
以下がログインした画面になります。



自分に関連する記事が新しい順に表示されております。

ちなみにメールは既存Dominoサーバーを使用しておりますので、「メール」「カレンダー」「メール連絡先」を開くと以下のような画面になってしまいます。


ここが一番テストしたいところなんですけどね・・・。

ということで現在一番利用しているコミュニティ画面が以下になります。
現在は社内1ライセンスの契約ですので、社員はゲストとして登録して、画面を見せております。
またまだ実現していませんが、社外の方との情報交換には非常に便利な機能になります。


こちらも更新が新しいものから順に、コミュニティの一覧が並んでおります。

続いてコミュニティのひとつを開いた画面になります。


この画面が以前とかなり変更となっており、個人的に気に入っております。
現時点では、タグ、ファイル、Wiki、フォーラム、コミュニティの説明、ブックマーク、重要ブックマーク、メンバーが配置されており、自由にドラッグアンドドロップで移動できます。

もちろん上部のメニューで各個別機能の画面を開くことができます。

次にミーティングです。


もちろんこちらからConnectionsミーティングに参加(右側)できるだけでなく、配信(左側)することが可能です。
最近参加したミーティングは履歴が残るため、1クリックで参加することができます。

さて前置きが長くなりましたが、Connections Cloudへのアプリケーションの追加についてになります。
追加するには「管理者」でログインする必要があります。
上部の「管理者」メニューから「組織の管理」を開きます。



左メニューの「アプリケーション」を選択すると、「アプリ・カタログ」が表示されます。


既にたくさんの追加機能がリリースされております。
少し長くなりますが、現時点で気になるものをピックアップします。


  • Box
  • Cisco Jabber
  • Cisco Spark
  • Cisco WebEx
  • Cisco WebEx Mobile for iOS
  • Dropbox
  • GitHub
  • GitLab
  • Google Drive
  • IBM Watson Workspace
  • OneDrive for Business
  • Salesforce
  • SharePoint Online
  • WordPress
結構、思わぬ選択肢も出てきたのではないでしょうか。

せっかくですので、個人で使用しているGoogle Driveと接続してみましょう。
Google Drive の「取得」ボタンをクリックします。


以下のような確認画面が表示されますので、「構成」をクリックします。


続いて有効とする対象確認画面が表示されます。
弊社の環境では組織全体が選択され、変更することもできませんでしたので、そのまま「次へ」をクリックします。


続いて構成内容の確認が表示されます。
弊社では以下の項目すべてにチェックが入り、グレーアウトしておりましたので、そのまま「次へ」をクリックします。


確認画面が表示されますので、「完了」をクリックします。


続いてパートナー・サイトの構成を行う必要がありますので、「パートナー・サイト」をクリックします。
実はこの時点ではパートナー・サイト=接続先と考えておりました・・・。


すると以下のような確認画面が表示されますので、「アクセス権限を付与してサイトを離れる」をクリックします。


すると、以下のような成功画面が表示されました。


とここまで書きましたが、肝心のキーが必要なようです。
つまり先ほどのパートナー・サイトとは、キーを取得するための、AppFushionsに登録しなければなりません。
たいへん申し訳ございませんが、今回はここまでとさせて頂きます。
昨日キー申請したのですが、現時点で届いておらず・・・

ちなみに手順では紹介致しておりませんが、Watson Workspaceとはキーの必要がなく接続が完了し、以下のように使用可能になっております。


以上、少し長くなりましたが、Connections もICS製品のひとつということで、今回触れさせて頂きました。
弊社では来年、メールのクラウド化を予定しております。
できればこのタイミングでS1も検討したいと予定しております。

使い方としては、やはり社内でもモバイル利用の要望が強くなってきており、掲示板やQAをNotesからConnectionsに移動させることで、利便性や情報発信力、情報収集力の手助けになればと考えております。

また機会あれば、紹介させて頂きます。