ページビューの合計

2022年3月11日金曜日

#HEI (HCL Enterprise Integrator)の設定

I could not find a detailed configuration procedure written in Japanese for HEI (HCL Enterprise Integrator).

I finally started using it at our company, so I have created the configuration procedures for Connection and Activity, so please refer to them.

みなさま、こんにちは!

さてまずは告知からです。

ノーツコンソーシアム

先日のオープンセミナーでは、私の所属する大阪研究会のほか、さまざまな発表がございました。

本年度の研究会申し込みがスタートしておりますので、ぜひお申込みください。

また早速ですが、第一回大阪研究会も日程・テーマが決まりましたので、皆様のご参加をお待ちしております!

ノーツコンソーシアム非会員の方につきましても、ぜひ一度見学(現地orリモート)ください。
普段では得られない情報・経験が豊富に詰まっておりますので、まずは一歩踏み出してみてください!!


さて本題です。

弊社ではNotes/DominoのライセンスはCCB サブスクリプションという月額契約で利用しています。
その後、Voltが発売となりこのライセンスに機能追加したのですが、このVoltのライセンスにはなんとHCL Enterprise Integrator (以降 HEI)のライセンスが付属しているのです。

HEIと言えば・・・
ノーツポンプと呼ばれた時代に検討したのですが、結構な費用が必要で、過去に導入を却下された経験がある製品です。


それがなんと勝手についてくる!!

なんてすばらしい!!


まさに使わない手はないということで、なんとか自社で利用開始に繋げられればと今回トライしてみましたので、その経験をお伝えしたいと思います。

インストールについては、少し分厚いですが、130ページの日本語マニュアルがございますので、必要あればベンダー様に提供頂いてください。

ちなみにインストールされている内容を確認する場合は、以下コマンドを実行します。

  tell lei status

すると、以下のような情報が表示されます。


余談ですが・・・ほんとに余談ですが・・・

情報はすべて"HEI"で取得できているのですが、コマンドは"LEI"という・・・
となると興味ありますよね。


・・・すいません、今回もこれがためにサポートの方の手を煩わせてしまいました(笑


さて本題のデータソースとNotesアプリの接続設定ですが、これがなかなか情報がないんです。
インストールしたモジュールに「Lotus Connector 接続ガイド」と「HEI Activities and User Guide」があるのですが、前者は日本語化されているのですが、後者は英語のままでした。
またそれぞれ内容も画面の項目説明程度までで、実際にどのように設定するのかが理解できませんでした。

かなり探したのですが、設定を図解するような情報が見つけられず苦労しました。

ようやく知っている方にヒントを頂き、なんとか進めることができましたので、今回は以下シナリオにて連携するアプリをDominoサーバー上に作ってみたいと思います。

IBMiのマスターテーブルにODBC接続し、Notesアプリケーションにダウンロードしてくる

手順としてはおおきく5つあります。

  1. IBMiとのODBC接続を作成する(※)
  2. 受ける側のNotesアプリを作成する(既存アプリでも可能)
  3. IBMiとのConnection文書を作成する
  4. NotesアプリとのConnection文書を作成する
  5. Activityで3と4をつなげる文書を作成する
※IBMiと接続するためのODBCドライバが必要です。
ご使用のエミュレーターに付属しているかと思いますので、そちらをご使用ください。
弊社では IBM i Access Client Solutions(ACS)に付属のドライバを利用しました。

それでは早速進めて参ります。

1. IBMiとOCBCの接続を作成する

Dominoサーバーのコントロールパネル⇒管理ツールから[ODBCデータソース]を開きます。
弊社では64ビットを使用しました。


システムDSNタブに移動し、[追加]をクリックします。


データソースの新規作成画面が表示されますので、利用するODBCドライバを選択します。
弊社では iSeries Access ODBC Driver を利用しました。


[完了]をクリックするとODBCセットアップ画面に進みますので、データソース名(自由な名称)とシステム(IBMiのIPアドレス)を入力します。


次にサーバータブに移動し、デフォルト SQL スキーマまたはライブラリーに利用したいIBMiのライブラリを登録します。


最後にパッケージタブに移動し、パッケージ・ライブラリーにも利用したいIBMiのライブラリを登録して[OK]します。


※必要に応じて、設定変更が必要な場合があるかもしれません

至って簡単ですね。それでは次に進みます。


2. 受ける側のNotesアプリを作成する(既存アプリでも可能)

IBMiからデータを受け取るNotesアプリを作成します。
単なるNotesアプリですがひとつ注意が必要です。

それは・・・データの型を合わせる必要があります。

たまたま私の設定ミスで発生したのですが、IBMiの数値項目をNotesが日付/時刻で受け取ろうとして発生したエラー画面です。


今回は他のアプリケーションから参照するだけのアプリを想定していますので、デザインは考えずに、フィールドを追加しただけのフォームと、確認用にビューをひとつつくりました。



以上で次に進みます。

3. IBMiとのConnection文書を作成する

いよいよHEI Administratorを使って、設定していきます。
まずはIBMiとのODBC接続です。

[1. Add Connection ▼] をクリックして、一覧から[ODBC]を選択します。


設定する場所は、Connectivityセクションの

 ・Name(任意の名前)
 ・Data Source(▼を押すと、ODBCデータソースが表示されます)
 ・User Name(IBMiのユーザー)
 ・Password(IBMiのバスワード)

以上を設定すると、次のTable Selectionセクションで
 ・Owner(▼を押すと、ODBCで設定したライブラリが選択できます)
 ・Name(▼を押すと、Ownerに含まれるテーブル一覧が表示され、選択できます)

テーブルを選択すると、Column(s)に自動でIBMiの項目が表示されます。


以上でIBMiとのODBC接続定義が完了となりますので、保存して閉じます。

4. NotesアプリとのConnection文書を作成する

次にデータを受け取る側のNotesアプリへの接続文書を作ります。
[1. Add Connection ▼] をクリックして、一覧から[Notes]を選択します。


こちらで設定する場所は、Connectivityセクションの

 ・Name(任意の名前)
 ・Domino Server(アプリケーションの存在するサーバー)
 ・Notes Database(▼を押すと、存在するデータベースの一覧が表示されます)

続いてすぐしたのタブで Selection Optionsを選択し、

 ・Select Documents by Form(▼を押すと、選択したデータベースに存在するフォームの一覧が表示されます)

以上で完了です。こちらも保存して閉じます。

5. Activityで3と4をつなげる文書を作成する

ようやく最後の手順です。
先に作成したふたつのConnection文書をActivityで繋げます。

[2. Add Activity ▼] をクリックして、一覧から[Direct Transfer]を選択します。


こちらで設定する場所は、Identificationセクションの

 ・Name(任意の名前)

次に[Sourceセクションの▼]をクリックして、にIBMiの接続を呼び出します。

さらに[Targetセクションの▼]をクリックして、にNotesの接続を呼び出します。

これら2か所では存在するすべてのConnection文書が表示されますので、間違わないよう注意しましょう。

続いてMappingセクションですが、ここまでの作業でフィールド名として、IBMiと同一のフィールドをNotesに設定したため、ここでは[Automatic]にチェックし、[by Name]が選択されていることを確認します。


次にSelect Statementが必要になります。IBMiのすべてを対象とする場合、

 Select * FROM [テーブル名]

と記載します。
もちろんここでSQLのSelect文を記述し、対象となるデータの絞り込みが可能となります。

設定は以上ですので、保存して閉じます。

2022年1月31日月曜日

#検索 付きPicklist

Would you like to search the @picklist list?

This is a full-text search, not just forward matching.

Our users have asked for this, and I am sorry that I am unable to make it happen at this time.

Please vote for the Ideas Portal below!

https://domino-ideas.hcltechsw.com/ideas/DDXP-I-152


みなさま、こんにちは。
なかなかコロナウィルス、終息しませんね(汗
早く治療薬が容易に入手できるようになり、withコロナ期に入ってくれることを期待したいと思います。


さて、本題です。

ノーツで文書を作成するのに、よく利用する@DbColumnや@DbLookup、さらに@Picklist。

ほんとに便利ですよね。
入力者の手間を省くだけでなく、選択肢の統一化(たとえば全角と半角の違い)などにたいへん効果のある重要な機能(@関数)かと思います。

いずれもダイアログボックス(モーダルウィンドウ)を開き、その中に対象の一覧を表示し選択させるというものですが、つい先日、ユーザーからこのような一言を貰いました。


「選択肢が増えてきたから、探すのがたいへんやわ。検索できないの?」


そういえば考えたことありませんでした。

弊社ではよく@DbLookupを利用し、各種のマスタデータベースから値を呼び出しています。
その際には探しやすいように、例えば顧客マスタの場合、1列目によみがなの先頭1文字の50音のあたま「あ・か・さ・た・・・」を。2列名に先頭1文字を設定して、▲マークで折りたたんで表示するようにしています。
そのため探すにはそれほど手間がかかっていないと勝手に考えていたのですが、量が増えるに従い、探しにくくなったようで、このようなひとことに繋がった模様です。

ということでまずは画面を見てみます。

こちらが@DbColumnの画面。複数選択可、リストにない値も可としたものです。


つづいて@DbLookupです。
こちらは単一選択のみで、且つリストにない値は許していないものになります。


最後に@Picklistです。
あまりいい例ではありませんが、お許しください(汗


いずれも検索できるような入力エリアはありません。

イメージとしては、メールの宛先選択ダイアログみたいになれば・・・


ということで、早速それぞれのヘルプ文書を見てみます・・・・しかし「検索」を有効にするような記述は見つかりませんでした。

そう、これらの準備された関数では解決できないのですorz

ただ実は全くできないのではなく、ダイアログ(モーダル)ウィンドウを開いた状態で、検索文字を入力してEnterを押すことで「クイック検索」という機能が利用可能です。

例えば以下のような得意先選択の@Picklistで、


「日本」と入力してEnterを押してみます。すると、以下のような「クイック検索」の小ウィンドウが表示されます。


ここで「検索」をクリックすると、このように「日本」で始まる最初の値が選択されて表示されるのです。


これでも利用可能ではあるのですが、残念なことに「前方一致」しか検索できません。
確かにメールの宛先選択も、


前方一致しか検索できません。

いかがでしょう。
これはなんとか対応したいですよね。

ということでとあるHCL Ambassadorに問い合わせたところ、既にIdeas Portalには投票されているということを教えていただきました。

https://domino-ideas.hcltechsw.com/ideas/DDXP-I-152


ということで、ぜひ皆様、こちらに投票してください!!
多くの投票があつまれば、きっと実現に向けて検討頂けるでしょう。

みなさま、ご協力よろしくお願いします!!






2022年1月6日木曜日

#HCLLink (HCL Link)サーバーを用意してみた

 In this article, I will show you how to build an HCL Link server.

I've heard that there are no documents in Japanese yet, so I hope I can be of some help.

※2022/01/07 追記あり(最下部)

みなさま、こんにちは。

昨日はこの年末年始のなけなしの成果としてDomino Voltのテンプレートを公開しましたが、よくよく見てみると、もうひとつネタ・・・ありました!!

12月20日頃に年末年始のネタ用にとHCL Linkサーバーを立ち上げていました。

HCL Linkの詳細はHCL様の製品サイトをご覧いただくとして、今回は Domino Volt のライセンスに同梱されているHCL Link。こちらを有効利用できないかということで、その手順をご紹介致します。

もちろんHCL社からもインストールに関する記述はリリースされているのですが・・・
現時点は英語のみになります。

https://help.hcltechsw.com/hcllink/1.1.2/installing/concepts/c_installation_inst_hcl_link_design_server.html

あわせてインストール動画も公開されています。

https://www.youtube.com/watch?v=PTpSAfEFE8Y

今回は現時点の最新バージョン1.1.2を利用しましたので、先の手順とは一部異なりましたので、そちらについても触れておきたいと思います。


まずは本体をインストールする前に、データベースのインストールが必要です。
HCL Linkでは無償のMongoDBを推奨しているようです。

MongoDBは以下からダウンロード可能してください。

https://www.mongodb.com/

上部のProduct メニューからCommunity Serverをクリックします。


右がにDownloadボタンが表示されていますので、ダウンロードするバージョンやOS、形式を確認してダウンロードしてください。


早速用意したサーバーにインストールします。


画面に従い、進めていくだけでインストールは完了します。
次にMongoDBサーバーが自動でサービスとして起動しているか確認します。


以上でMongoDBのインストールは完了です。



続いてHCL Linkをインストールしていきます。
まずはダウンロードしたモジュールから「Lnkrt_1.1.2.0_win64」を実行します。


少し動画よりもステップが少なく進みます。





以下はカスタムに変更して、どのようなものがインストールされるのか見てみましょう。


デフォルトですべてチェックされていましたので、そのまま進めます。



ライセンスはブランクのまま「次へ」



以下は動画になかった画面です。
「いいえ」で進めました。


以下も動画にありませんでしたが、このまま「次へ」で進めました。


以下もデフォルトのまま進めますが、念のため控えておいてください。


以下もブランクで進めました。


なんかわからないけど、できたみたい。


続けて、以下もデフォルトで進めます。



この画面を「次へ」クリックしてから、結構時間がかかりました。
途中心配になりましたが・・・


無事、インストールが完了したようです。


続いての作業です。
C:\HCL\Link_1.1.2\DesignServerのフォルダからコマンドプロンプト起動します。


unzipDesignServer.batを実行します。


おっと、別プロセスが使用中ということで、一度再起動・・・でも同じでした。


・・・よくよく見ると、install.bat を実行せよと書いていました。


ということで、無事完了しました。


続いて Start.bat を実行します。


以上で準備完了です。


ブラウザを起動し、

https://127.0.0.1 へアクセスします。


開きました!!
ほっとする瞬間ですね。

ユーザー名:admin
パスワード:admin

でログインします。・・・・後で変更しておきましょう!


ぉぉー。
ついにメニューが開きました。

いくつか触ってみたのですが・・・・現時点ではサッパリ(汗
でしたので、今後の宿題とさせてください。

まずはHCL Linkのインストールから利用開始までのご紹介でした。



※2022/01/07追記

昨日の掲載後、株式会社エフの御代アンバサダーより助言を頂きましたので、追記致します。

-----以下、引用-----
特に気をつけないと行けないのがライセンスサーバーの無効化です。
https://help.hcltechsw.com/domino_volt/1.0.4/link_enable_runtime_windows.html
に出ているようにHCL Linkをインストールした後、そのフォルダ内にある
.passport.oem というファイルを .passport
という名前に変更する必要があります。
-----以上、引用-----

今後利用する上で重要な内容でしたので、ご紹介させて頂きます。

御代さま、ありがとうございました!!

2022年1月5日水曜日

一段階 #ワークフロー #テンプレート ( #volt )

Happy New Year!

Today, I'd like to introduce a Domino Volt workflow template and its instructions for super beginners.

新年あけましておめでとうございます。

年末年始、思いのほかゆっくりすることができました。
元旦には1時間ほど山を登った保久良神社を参拝し、初日の出も拝んで帰ってきました。

が・・・以降の生活が悪く、脂の乗りがよくなってしまいましたので、本日より節制しております。


さて本題ですが、このゆっくりした時間で何かできないかと考えていたのですが、結果的に一番簡単なもので終わってしまいました。
せっかくですので、こちらで紹介したいと思います。

初期画面はこんな感じ


Domino Volt の開発のきっかけにして頂くものができればと思い、超簡単なワークフローのテンプレートとその説明書を同梱して用意しました。

https://app.box.com/s/woz7tw10jjpj44iovwiiuicg3moic68n

.voltファイルをインポートして頂き、ワークフローの内容(経費精算や休暇申請など)を追加して・・・もっともこれが一番手間がかかるのですが(汗
アクション時のメールの内容を編集頂ければ、アプリケーションとして利用が開始できるというものです。

申請者フィールド以外はノーコードで作っていますので、初めてアプリを作る方でも内容を確認しながら作り上げることができるものとなっています。

但し、実際に利用するにはもう少しチューニングが必要な点がありますが、あくまで初歩ということで、その点は見逃してください(笑

まずはVoltでどんなものが作れるのかを理解頂けるヒントになれば幸いです。


なお既にVoltハンズオンを受けた方にとっては、取るに足らない内容になっていますので、スルー頂ければと思います。


以上、年始早々、お茶を濁したような記事にて失礼致します。

本年もよろしくお願いします!!

2021年12月16日木曜日

ありがとうございます!!

Thanks to all of you, I will be able to continue as an HCL Ambassador next year!


来年もみなさまのおかげで、HCL Ambassadorを継続することができました!!


https://www.hcltechsw.com/about/hcl-ambassadors/class-of-2022?fbclid=IwAR0i_qONETTQxbbtsyWE4suHz6vFxmv6XovIzvpqSZ8oWKHF4hh0hhqXAus


同じことを繰り返しますが、ほんとにみなさまのおかげなんです。
私の活動なんて・・・、やればだれでもできるような・・・(汗

とにかくありがとうございます。


今年の活動について、ここで詳しくは書きませんが、大きかったのは事例提供かなと思っています。

今まではノーツコンソーシアムやテクてくLotus技術者夜会という、いわゆる内に向けた発表ばかりでしたが、今年はいつくかのオファーを頂き、外向け(場合によっては対抗製品と比較されるような場所)での発表があり、少し成長できたかなと勝手に思ってます(笑

ブログ記事についてですが・・・


いや~、記事数は下降・・・
なんとか月1を死守って感じでしょうか(汗

で1年の統計を振り返ってみたグラフがこちらになります。


日々200程度なのですが、2021/01/23だけ2000と突出していました。

何があったのかと直近の記事を確認したところ、

#日報 ( #SFA )の推進について

が1/19の記事でした。

これだけデジタルが進化した中でも、日報って課題が多いのでしょうか?

いずれにせよこのグラフでも明確なように、今年10月以降のアクセスがさらに下がってきていますので、反省してます。

今後は・・・

ネタはあるのですが、実際に社内で適用するまで至ることができず・・・いわゆる私の勉強不足・・・・・・・・・・がんばります。


コロナも引き続き落ち着いてくれれば、来年はひとつ大きな構想を抱いておりますので、また機会あればご案内させて頂きます。



とにかくありがとうございました!!


2021年10月21日木曜日

Notesアプリ開発者が、 #Volt で最初につまづくこと

 This is my first article on the development of Domino Volt.

I think there has been no article in Japanese explaining the hurdles that every Notes developer must face, so I would like to introduce it here.

I hope you will read this article and try to develop Volt applications!


みなさま、こんにちは。

緊急事態宣言が解除され、多少動きやすくなったのでしょうか。
先日はひさしぶりに大阪まで私用で出かけてきました。

いろいろとやりたい事、やらなければならない事が溜まっており、ほぼ1日歩き回ってきました。


本題に入る前にひとつお知らせです。

ノーツコンソーシアム 第五回 大阪研究会(会場開催+オンライン開催)を12月3日(金)に開催予定です。
今年は1回多く5回目!
テーマはHCL様最新情報と、来年のやりたい事調査。
その後は大阪研アプリ「タスク管理」についての作業を予定しています。
ひさしぶりの集合開催に加え、リモート配信も行いますので、ぜひお時間調整頂き、ご参加をお願いします。


さて前置きはこれくらいにして、話題の Domino Volt。
ようやく開発に関して、初記事の掲載です。

と言いますのも、作り始めでつまづいてしまい、なかなか本格的に進められなかったという理由がありました。

このつまづき・・・おそらくノーツアプリ開発者のだれしもがぶつかるであろう内容かと感じましたので、紹介させて頂きます。

それは何かと言いますと・・・

●作成日フィールドってどうやってつくるの?

●作成者フィールドって・・・

これができなければ、アプリを作る気がしないですもんね。

もっともVoltはたいへん優秀で、Notesフォームによくサブフォームなんかで追加する以下4項目はデフォルトでバックエンドで準備されているのです。

・Created By (作成者)
・Modified By (最終更新者)
・Created On (作成日)
・Modified On (最終更新日)

ちなみに以下がVoltで作成された文書をNotesクライアントから表示した例です。

最初のセクションがフォームに設置したフィールド
その次に一般的に文書管理上で必要な項目。こちらに作成者や作成日が保管されます。
次がアクセスコントロール
最後がワークフローのステータスです。

このうちの2項目を表に出すだけなのですが・・・。


ということで、まずは簡単な「作成日」からです。

「日付」を設置し、プロパティで「現在の日付から開始」にチェックするだけです。
これで作成時に当日の日付がデフォルト表示される日付コントロールが作成できました。


次に「作成者」です。

「名前ピッカー」を設置し、onShowイベントで何かするのかな?
サービスも何かできそう。


残念ながら現時点の私の力では解決できませんでした。

そこでみなさまご存じ、Voltといえば 株式会社 エフ
そう、最近ではVoltのサンプルアプリをどんどん掲載頂いたり、ハンズオン資料もバージョンアップごとに更新されている会社です。

エフと言えば御代アンバサダーということで、失礼ながら問い合わせさせて頂きました。

さすがです。
即座にフォームのonNewイベントにapp.getCurrentUser()を記述するとの回答を頂くことができました。
正しくは、以下のような記述を追加し、無事作成者を表示することができました。
・・・もし間違ってたら、ご指摘ください(汗

var CU = app.getCurrentUser();

BO.F_User.setValue(CU)


その後、さらにサービスを利用することで、ノーコードで取得可能との情報を頂き、以下設定を実施したところ、こちらでも作成者が設定可能となりました。

①先と同じく、フォームのonNewイベントで「サービスの呼び出し」にチェックし、「サービス構成の追加/編集をクリック


②次に「入力割り当ての作成」画面で、左側の[現在のユーザー]と右側の[ユーザー名またはメール]を選択し、中央の接続アイコンをクリックします。
すると、下の「割り当てられている入力」に設定内容が追加されますので、確認して[次へ]をクリックします。


③「出力割り当ての作成」画面が開きますので、左側から「ユーザー名」。右側では割り当てたいフィールド(今回は[氏名])を選択して、先と同様中央の接続アイコンをクリックすると、下の「割り当てられている出力」に設定内容が追加されますので、確認して[次へ]をクリックします。

④次画面はそのままで[OK]し、onNewのイベント画面に戻りますので、こちらも[OK]すると設定が完了となります。

プレビューしたのが以下になります。



想定通り、申請日に今日の日付、氏名にはログインしている自分の名前を表示することができました。

以上、知っている方にとっては取るに足らない情報かもしれませんが、初めてVoltでアプリを作る際に、いきなりつまづいてしまうとスムーズに利用が進まないかとも思いましたので、今回ご紹介させて頂きました。

ぜひみなさまも一度、Voltでアプリを作ってみてください。

私も弊社の本番環境で運用できるようなアプリをがんばってつくりたいと思います。


追伸
Voltに関しては、まだまだ手探り状態ので、内容に不備や誤りがございましたら、訂正させて頂きますので、ご指摘頂けましたら幸いです。