こんにちは。ケートリックの米原です。

今回はNotes Domino の体験型ウェビナーのご案内です。

主催と協賛は

主催:Misc Workshops OSAKA 協賛:ノーツコンソーシアム

となっております。

日時は2024/05/30(木) 14時~15時半(予定)に開催されます!

開催方法はWeb会議方式となっております。

今回は体験型となっていまして、スマホ、カメラ、GPS、などの機能もDominoだけで作成したアプリで体験するいい機会です!

その道のプロフェッショナルが手厚く説明していただけるとのことです!そして無料です。。。。

それでは、少しでも興味を持たれたら参加してみてはいかがでしょうか。

今回のウェビナーの詳細はこちらから

 

今回協賛である、HCL Notes / Domino日本最大のユーザーコミュニティでも色々な情報が手に入りますよ。

詳しくはこちらから

 

そして今回の講師はノーツコンソーシアムの大阪研究会のメンバーです。

そんな大阪研究ご興味がありましたら研究会も参加してみてはどうでしょうか?

非会員の方でも大歓迎です。

そんな大阪研究会の情報はこちらから

 

ではでは、今回はこの辺で失礼します。

こんにちは。米原です。

今回はイベントのご案内です。

ノーツコンソーシアムの大型イベントが2024/02/16(金)に開催されます!

ノーツコンソーシアムは、HCL Notes/Domino 日本最大のユーザーコミュニティです。
もちろん弊社ケートリックもコミュニティに参加しています!

 

ノーツコンソーシアム FESTA 2024

開催日時:2024年2月16日(金):14:30~17:45 (受付開始:14:15~)
開催会場:アキバプラザ(東京千代田区)6F セミナールーム3
参加費:無料、事前申込不要

・ノーツコンソーシアム会長挨拶・基調講演
・研究会発表
・HCLジャパン Notes/Domino 35周年とV14など
などなど色々ないい話が聞けるはずです!
弊社のメンバーも発表予定ですよ。

詳しくはこちらを

https://www.notescons.gr.jp/home.nsf/event.xsp?action=openDocument&documentId=E327A212EDD66A6B49258A6A002F4B1E

ノーツコンソーシアム 30周年記念イベント

開催日時:2024年2月16日(金):18:00~20:00 (受付開始:17:45~)
開催会場:アキバプラザ(東京千代田区)5F レセプションホールAB
参加費:無料、事前申込制

ノーツコンソーシアム30周年、Notes/Domino35周年となり、皆様でお祝いするイベントとなります。
皆さんで集まってお祝いしましょう!

こちらは事前申込が必要ですのでご注意を!!
お申込みはこちらから イベントの詳細もご確認できます。

https://30anniversary.notescons.gr.jp/

 

それでは、現地でお会いできることを楽しみにしております!

ケートリックから過去最多3名が2024年HCLアンバサダーとして任命されました

HCL Ambassador

2023年12月クリスマス前にHCL様よりメールが届き、田付、米原が2024 HCL Ambassadorに任命されたことを知りました。

HCL Lifetime Ambassadorの加藤を含めると弊社から過去最多となる3名がHCLアンバサダーとして任命されたことになります。

なお、日本から選出された2024年 HCL Ambassadorは以下の10名となっており、こちらも過去最多となっております!

■ HCLアンバサダー グローバルページでの発表:
https://www.hcl-software.com/about/hcl-ambassadors/class-of-2024

■ HCL Software 日本ブログでの発表:
https://www.hcljapan.co.jp/software/blog/

HCL Ambassador 2024に任命されたのは以下10名の皆様です。(会社名50音順)

ケートリック株式会社 加藤 満 氏
https://notesdominoliaison.blogspot.com/

株式会社アグレックス 阿部 覚 氏
http://abesat.blog.jp/

株式会社NIS 中野 晴幸 氏
https://harunakano.blogspot.com/

株式会社エフ 御代 政彦 氏
https://guylocke.blogspot.com/

ケートリック株式会社 田付 和慶
ケートリック株式会社 米原 和之
https://www.ktrick.com/blog/

広瀬化学薬品株式会社 萩原 健補 氏
http://www.tanuchi.com/

株式会社フィオーレ 林和正 氏
https://note.com/dominolab/

株式会社 プロシード 浜 真行 氏
https://www.denaoshidomino.com/

フリーランス、ノーツコンソーシアム大阪研究会所属 林 哲司 氏
https://enjoyxpages.sakura.ne.jp/wp1/

任命された皆様おめでとうございます!

2024年は、「テクてく Lotus 技術者夜会」(https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0069193)や「ノーツコンソーシアム」(https://www.notescons.gr.jp/)などをはじめコミュニティーへ以前より積極的に貢献していきたいとおもっています。また、HCLアンバサダーが一丸となり、Notes/Dominoのコミュニティイベント「DominoHub」の開催を現在計画中ですので是非楽しみにしていてください。


ベストコミュニケーションズ社からsmaconne事業譲受に関するお知らせ

ケートリック株式会社(代表取締役社長:田付 和慶、以下「当社」)は、株式会社ベストコミュニケーションズ(代表取締役社長:光安 智秀、以下「ベストコミュニケーションズ」)が開発するソフトウェア smaconneに関する全事業 (以下、「当該事業」)を譲り受けることに関し、同社と事業譲渡契約を締結いたしましたので、下記のとおりお知らせいたします。

1.事業譲受日

2024年1月1日

2.事業譲受内容

smaconne事業に関する資産および取引契約

(1) 販売 smaconne事業のお客様とのお取引は、当社が承継
(2) 開発 smaconne開発は当社が継承

3.事業授受の理由

当社は創業以来、HCL Notes/Dominoでのシステム開発、製品販売を行ってまいりました。
今回、ベストコミュニケーションズよりNotes アプリをスマホやPC のWeb ブラウザで手軽に利用するための製品「smaconne」を譲り受けることで、そのノウハウを当社のシステム開発事業に融合し、相乗効果を生み出すことで一層の事業発展ならびにお客様へより最適なソリューション・サービスを提供してまいります。

何卒これまでと変わらぬご愛顧を賜りますよう、宜しくお願い致します。


XPagesリッチテキストコントロールのカスタマイズ

XPagesのリッチテキストコントロール カスタマイズ

Notes/Dominoエンジニア XPages担当の米原です。

まだまだ現役でXpagesの開発を行っています!
最近行き詰まったところがありましたで備忘としてブログに残すことにしました。

リッチテキストの入力高さを固定(縦スクロール付き)方法

リッチテキストを画面に配置したのですが、文字を入力して改行していくと、
自動で入力枠が縦に広がり結構縦に長くなり1画面の領域を結構占領してしまいます。
どうにか縦の幅を狭くしたいと思いました。

入力をするとどんどん広がって他の項目が見えなくなったりします。

Dojo属性を追加することによりCKEditorのConfig値を変更しました。
autoGrow_maxHeight:縦幅の広がった際の最大値

こんな感じで最大枠を指定できます。長くなる場合は縦のスクロールバーが機能します。

ツールバーを消す方法

今回の場合上のツールバーも不要なので消したいと思います。

同じように、今度は nameに toolbar 、valueに [[]]  これで上のツールバーは消えます。

この様にしてすっきりしました!
ここで「tootbar」 の「value」 に表示したいアイコンを選択することも可能です。

詳しくはこちらを参照してください↓
https://www.ktrick.com/xpages-richtext-ckeditor-toolbar-customize/

設定値などは、こちらを参考にしました。
https://docs-old.ckeditor.com/ckeditor_api/symbols/CKEDITOR.config.html

また色々と試したいと思います!


DominoV9→DominoV12 バージョンアップでXpagesエラーが発生した件

こんにちは。Xpages担当の米原です。

本日はXpagesでDominoV9からDominoV12にバージョンアップした際にハマったエラーの回避方法についてのお話です。

V9のサポート期日が迫っていまして、V12に更新されるお客さんが増えてきています。
そう、NotesDominoはどんどん進化してその都度便利な機能が追加されています!
V9で終わりではないですよ!!!

リリース情報その1

リリース情報その2

安心してNotes Domino 使い続けましょう。

さてさて本題に戻りまして

今回発生した問題はこちらの機能です。

  1. ボタン押下でダイアログを表示
  2. ダイアログ内で処理を実行(入力フィールドの値などセット)
  3. ダイアログ内で更新したものをダイアログを閉じるときのイベント(onHide)で部分更新

    OKボタンで更新するのは、OKボタンのイベントに処理を追加で可能なのですが、
    「x」ボタンが押された時にも反映したい場合があり、そのためにonHideイベントに部分更新のIDをセットしそのエリアを更新するように使用していました。

ここで、最後の「×」やOKでダイアログを閉じる際に、onHideが機能するのですが、
何とエラーになってしまってます。。
V9では大丈夫だったのに、V12ではこの使い方はダメなようです。

簡単なサンプルで確認したらこのようなものになります。

ダイアログ起動ボタン押下でダイアログ起動

「×」ボタン押下

エラー発生となります。

設計はこのようなものです

	<xe:dialog id="dlgTest" title="入力用ダイアログ">
		<xp:panel>
			ボタン押下で値がセットされ、×ボタンで値が更新します。<br/>
			<xp:button value="値をセット" id="button5">
				<xp:eventHandler event="onclick" submit="true">
					<xp:this.action><![CDATA[#{javascript:getComponent("testText").setValue("値がセットされました。")}]]></xp:this.action>
				</xp:eventHandler>
			</xp:button>
			<xp:button value="値をクリア" id="button1">
				<xp:eventHandler event="onclick" submit="true">
					<xp:this.action><![CDATA[#{javascript:getComponent("testText").setValue("値がクリアされました")}]]></xp:this.action>
				</xp:eventHandler>
			</xp:button>
		</xp:panel>
		<xp:eventHandler event="onHide" submit="true" refreshMode="partial" refreshId="testPan" disableValidators="true">
		</xp:eventHandler>
	</xe:dialog>

色々と調べた所、、、

どうも部分更新のエラー処理がV10から変更されているようでその影響の様です。

こちらに情報がありました 参考URL

回避策として、

Xspプロパティに「xsp.error.disable.detection.set01=true」をセットすることで
V9.0.1でのエラー処理に戻すことが可能です。

それでは、Xspプロパティを更新した状態でもう一度実行すると

「値をセット」ボタン押下後に、「×」ボタン押下すると

「値がセットされました。」と文言が更新されました。期待通りの動作です。

似た様な現象が発生した場合は参考になればと思います。

それでは本日はここまでで。


XPagesで同じカスタムコントールを使用する場合のID被りへの対処法

Notes/Dominoエンジニア XPages担当の米原です。

今回もXPagesのお話です!

共通して使用しているカスタムコントロールを同ページで複数使用する必要がある場合、

例えばこんなパターン

<xp:panel>
	<xc:ccFormSample02>
		<xc:this.rendered><![CDATA[#{javascript:param.get("paramTEST") == "01"}]]></xc:this.rendered>
	</xc:ccFormSample02>
	<xc:ccFormSample02>
		<xc:this.rendered><![CDATA[#{javascript:param.get("paramTEST") == "02"}]]></xc:this.rendered>
	</xc:ccFormSample02>
</xp:panel>

「ccFormSample02 」カスタムコントロールをURLパラメータの値で表示/非表示の切り替えを行っています。

↑ paramTEST=01 の場合
↑ paramTEST=02 の場合

今回は設計が複雑ではない簡単なカスタムコントロールを用意しましたが、実際運用される場合はもっと複雑

で複数配置を目的としたカスタムコントロールがあるかと思います。

例えばこのようなときが想像できます。

カスタムコントロールA(共通して使用したい。)

画面の表示をURLパラメータで切り替えている場合

画面Aでは「カスタムコントロールA」情報が重要になるので一番上に表示させたい。

画面Bでは「カスタムコントロースA」情報はあまり重要ではないので一番下に表示させたい。

そのような場合に同じカスタムコントロールを同画面に配置してURLパラメータで切り替えることで実装したりします。

表示・非表示切り替えで対応する場合に問題になるのが、IDの問題です!
今回は共有箇所のInputTestフィールドにIDを付与していてそのIDを元に値をセットしている場合があります。

<xp:tr>
	<xp:td styleClass="tblHead">
		<xp:label id="label2"
			for="orderNumber1">
			<xp:this.value><![CDATA[#{javascript:
var ret = "";
ret = "共通箇所"
return ret;}]]></xp:this.value>
		</xp:label>
	</xp:td>
	<xp:td>
		<xp:inputText id="test001"></xp:inputText>
	</xp:td>
</xp:tr>

id="test001" 箇所ですね。

例えば初期値に値をセットさせたい場合でこのように値をセットしている場合

	<xp:this.afterPageLoad><![CDATA[#{javascript:
getComponent("test001").setValue("test");
}]]></xp:this.afterPageLoad>

「 getComponent("test001").setValue("test"); 」このような方法で表示の値をセットすると、

結果的には

↑ paramTEST=01 の場合
↑ paramTEST=02 の場合

paramTEST=01 の場合 は初期値に 「test」がセットされていますが、 paramTEST=02 の場合 は値がセットされていません。

これはIDが被っているので最初に見つけた所のIDにセットされるようになります。

もう少し詳しく説明しますと、 getComponent("test001") .setValue("test") とすると、最初の id="test001"が取得されて、そちらに値がセットされてしまいます。

非表示の方法としてrenderをfalse にしたり、 style に display:none をして非表示にしたりしますが、 getComponent では非表示にしても取得されていまうので、そのような現象になってしまいます。

さてさて、どうしたものかな~と。。。。

そこで活躍するのが「loaded」です!

<xp:panel>
	<xc:ccFormSample02>
		<xc:this.loaded><![CDATA[${javascript:param.get("paramTEST") == "01"}]]></xc:this.loaded>
	</xc:ccFormSample02>
	<xc:ccFormSample02>
		<xc:this.loaded><![CDATA[${javascript:param.get("paramTEST") == "02"}]]></xc:this.loaded>
	</xc:ccFormSample02>
</xp:panel>

loaded は ページ作成時にコントロールを作成するかどうかですので、どちらかのカスタムコントールしか作成されなくなり、IDが被ることが無く期待した動作になるということになります。

loadedを使用した場合のparamTEST=02

無事期待する動作となりました。

今回のパターンでは 「rendered」では都合が悪く、「loaded」を使用しましたが、「loaded」は一度「false」にしてしまうと、ページ全体をロードしなおさないと表示の切り替えができません。「rendered」に関しましては、部分更新で表示/非表示の切り替えが可能となります。

両方使える場合では「 loaded 」が「false」の場合はカスタムコントロールを一切読み込まないので、余分にメモリを消費しないことや処理速度も 「rendered」 に比べて早いのではないかと考えられます。

用途に合わせて使うのがよろしいかと思います。

似た様なことでお困りの際はお試ししてください。

ではでは本日はこの辺で失礼いたします。


Domino DesignerでXPageを開いた際に開くのが遅い時の対応

Xpagesの設計をDesignerで開いた際に遅い件

Notes/Dominoエンジニア XPages担当の米原です

設計をDesigerで開いた際におそい~と思ったことはないでしょうか??

設計が少ない場合はそうでもないのですが、
より複雑になった場合、カスタムコントロールの数が多くなっていきだんだん遅くなりますよね。

回避策としまして

  • 冗長な処理をなくす
  • DBを分ける
  • PCのスペックを上げる。メモリ増幅 ^^;

などが考えられます。

ここでは取り上げる方法は、Desigerで設計を開いた際により早く開くことができるのと、
やりようによっては設計が見やすくもそうでなくもなります。

今回は1つのカスタムコントロールに5個のカスタムコントロールをセットしているもので試してみます。
これくらいなら特に遅くもならないのですが、実運用しているものでしたら、カスタムコントールの中に
カスタムコントロールはいっぱい入っているケースがあり、特にリピートコントロールは遅く成る要員の一つです

カスタムコントロール ccFormMain02

上図ではどのようなコントロールが配置されているとかがすぐわかるのでいいのはいいのですが

①のカスタムコントロールを開きまして、プロパティの設計定義を開きます。
そこに、XSPの形式で入力します。テスト的に下図のように設定します。

設定後に再度ccFormMain02を確認すると
test と表示されます。
ん、、、、見にくい

コメントは少し装飾しました。うんいい感じです

マークアップ式はこんな感じです↓

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom"
    xmlns:xe="http://www.ibm.com/xsp/coreex">
	<div style="border: 2px solid #A9A9A9; padding: 3px; margin: 5px;">
		<h1>添付用のリッチテキスト</h1>
		<div>
			フォームA,Bで使用予定
		</div>
	</div>
</xp:view>

こんなふうに全て記入すると。。。

見やすくなりましたね、マークアップ箇所は基本のHTMLで記入するだけなのでお好みいに合わせて
カスタマイズできます。

ということで、見やすくなりました。めでたしめでたし!

あれれちょっと待った~表示が変わっただけなのでは、、、、

と思いきや、これで設計を開くときには今回のマークアップの設計定義を読み込むので
設計は格段に速く開くことが可能になります。

さすがに今回のサンプル的なのでは速さは体感できませんが、カスタムコントロールが増えて
複雑化してきたら結構ストレスがたまる位に起動が遅く成りますのでその際には体感できるかと思います。

それでは今回はここまでとします。


HCL Notes / Domino のモダナイズソリューションのケートリックとCData が業務提携

ローコード開発・ワークフローの『consentFlow』に250+ のSaaS 連携を追加~

2023年4月4日、ケートリック株式会社(本社:東京都目黒区、代表取締役:田付 和慶、以下ケートリック)とクラウドデータのコネクティビティソリューションおよびデータ連携ツールのリーディングベンダーであるCData Software Japan 合同会社(本社:アメリカノースカロライナ州、日本オフィス:宮城県仙台市、代表社員 職務執行者:疋田 圭介、以下CData)は業務提携し、ローコード開発・高機能ワークフローツールである『consentFlow』に250種類以上のSaaS / DB 連携機能を追加することを発表します。

ケートリックが得意とするHCL Notes/Domino アプリのモダナイズを提供する中で、大企業を中心とするユーザー層から「Salesforce などのSaaS アプリケーションとNotes / Domino アプリを連携させたい」というニーズが増加してきていました。

今回のCDataとの業務提携により、ケートリックが提供する高機能ワークフロー&ローコード/プロコード開発ツール『consentFlow』からSalesforce・Dynamics 365 をはじめ250以上のSaaS アプリケーション、クラウドストレージとの連携が可能になります。

■エンタープライズが必要とするあらゆるクラウドサービスとのデータ連携が可能に
HCL Notes/Dominoはクラスタリング、レプリケーション、アクセス制御リスト、SSO、LDAPなど企業が必要とする高度なアプリケーション開発環境を備えています。そのNotes/DominoとSaaS・クラウドのハイブリッドな業務アプリの時代の掛け渡しをするツールとしてconsentFlowが活用いただけると考えています。

CDataとの業務提携により、Notes/Domino ユーザーにエンタープライズが必要とするあらゆるクラウドサービスとのデータ連携が提供可能となりました。ユーザー企業に対しケートリックがプロフェッショナルとして提供できるサービスの幅が大きく広がります。

■Notes とSalesforce をワークフローでつなぐ
利用例としては、consentFlow ワークフローシステムを使って、Salesforce の商談(Opportunity)リストを取得し、Domino 内の価格表更新を取得した上で、consentFlow 内で承認を行い、承認結果をSalesforce に書き戻すという処理が可能になります。

■consentFlow で連携可能になる外部データソース例

  • CRM:Salesforce、Dynamics 365、Oracle Sales、etc.
  • ERP & 会計:SAP ERP、SAP S/4HANA、NetSuite、Oracle Financials Cloud、etc.
  • グループウェア:SharePoint、Jira、Google スプレッドシート、etc.
  • RDB & NoSQL:Access、MongoDB、Google BigQuery、主要RDB、etc.
  • EC:Amazon Marketplace、Yahoo!ショッピング、スマレジ、etc.

■KTRICK-CDATA 共催ウェビナーを開催

  • イベント名:ローコード・ワークフローの『consentFlow』に250以上の外部システム連携機能が登場
  • 日時:2023年5月11日(木) 16:00-
  • 開催形式:Zoom ウェビナー
  • 詳細および申込:こちら

<ケートリックについて:https://www.ktrick.com/

ケートリック株式会社は、HCL Notes / Domino® のアプリケーション開発を主軸事業とするシステム開発会社です。HCL Notes / Domino® 導入済みの企業に対して、アプリケーションのWeb 化・モバイル化、インターフェースのリデザインなど、多種多様な改修・保守サービスを提供しています。また、高機能なワークフローエンジンを搭載したアプリケーション構築システム『consentFlow』(https://www.consentFlow.jp)を提供。「ローコードとプロコードのハイブリッド開発環境」という強みを生かし、システム連携もこなす柔軟な承認アプリケーションの構築を支援しています。

<CData Software について:https://www.cdata.com/jp/

CData Software, Inc. は、クラウドデータのコネクティビティソリューションおよびデータ連携ツールのリーディングベンダーです。250以上のSaaS、NoSQL やアプリケーションデータに標準接続するドライバーとデータ接続テクノロジーの開発に特化し、各種ツール、クラウドサービス、カスタムアプリケーションからのリアルタイム接続を実現します。CData 製品は、世界中の大手企業、中小企業、政府機関、教育機関のデータ統合ソリューションにて利用されています。

※本リリースに掲載する社名または製品名は、各社の商標または登録商標です。


AzureADによるHCL Domino (SAML)統合ログイン 設定方法

今回の記事ではAzureADのアカウントを使ってHCL Domino WEBアプリケーションへログインが出来るようになるAzureADとHCL Domino SAMLによる統合ログインの設定方法を解説します。

前提:
今回検証を行った環境は以下の通りです。

  • Domino 10.0.1FP3
  • DominoサーバーへSSL証明書インストール済み
  • Windowsサーバー

では早速、設定方法を説明していきます。

なおこの設定はHCL Domino V10.0.1 最新のFP以降であれば動作可能であるようです。

AzureADの設定

  1. https://portal.azure.com/ へログインします。
  2. “Azure Active Directory”を選択します。
  1. 左メニューから"Azure AD Connect"を選択し、”ユーザーサインイン”の箇所で「代替ログインIDとして電子メールを送信する」を有効にします。

チェックを入れて「保存」ボタンをクリックします。

Azure Active Directory ページからエンタープライズアプリケーションの作成

  1. 左メニューから”エンタープライズアプリケーション”を選択
  2. 上部のメニューから「新しいアプリケーション」をクリック
  1. 遷移後のメニューから「独自のアプリケーションの作成」をクリック
  1. 任意のアプリの名前を入力。”ギャラリーに見つからないその他のアプリケーションを統合します(ギャラリー以外)”を選択して作成ボタンをクリック。
  1. 作成後の遷移画面で、左メニューから”シングル サインオン”を選択。
  2. ”シングルサインオン方式の選択”からSAMLを選択。
  1. "基本的なSAML構成"のセクションから「編集」をクリック
  1. "識別子 (エンティティ ID)"と"応答 URL (Assertion Consumer Service URL)"にそれぞれHTTPSプロトコルから始まるDominoサーバーFQDNを入力します。
    例)
    識別子 (エンティティ ID): 「https://mydominoserver.com」
    応答 URL (Assertion Consumer Service URL): 「https://mydominoserver.com/names.nsf?SAMLLogin」

    他は省略可能のため空欄で保存します。

  1. 次に"属性とクレーム"セクションで「編集」をクリックします。
  2. ”必要な要求”の”一意のユーザー識別子 (名前 ID)”行をクリックします。
  3. ソース属性を「user.mail」に変更して保存をクリックします。
  1. 保存後、値が「user.mail [nameid-format:emailAddress]]」となっていることを確認します。
  1. 作成したアプリケーションの”シングルサインオン”画面に戻り、”SAML 署名証明書”セクションから”フェデレーション メタデータ XML”をダウンロードしておきます。
  1. アプリケーションの左メニューから”プロパティ”を選択。
  2. 必要に応じて”割り当てが必要ですか?”、”ユーザーに表示しますか?”をいいえに変更します。
    ”割り当てが必要ですか?”で[はい]を選択すると、ユーザーが認証できるようにAzure内でアクセス制御を行う必要があります。
    ”ユーザーに表示しますか?”で[はい]を選択すると、Microsoft MyAppポータルにアプリケーションが表示されるようになります。

お疲れ様でした。
以上でAzureAD側の設定は完了です。

次はDominoサーバー側の設定をしていきましょう。

IdP Catalog アプリケーションの作成および設定

  1. DominoサーバーでIdP Catalog アプリケーションを新規作成します。
  2. 新規アプリケーションダイアログで”詳細テンプレートの表示”チェックボックスをチェックしてIdP Catalogテンプレートから「idpcat.nsf」ファイルを作成します。

※IdP Catalogアプリケーションは必ずファイル名を「idpcat.nsf」とし、Dataフォルダ直下に配置してください。

  1. IdP Catalogから「Add IdP Config」ボタンをクリックし設定文書を開きます。
  2. Basicsタブで「Import XML file」ボタンをクリックし、AzureAD画面でダウンロードして置いた「フェデレーション メタデータ XML」を選択した後、開くボタンをクリックします。
  3. フィールドが自動で入力されたことを確認します。
    ※下のスクリーンショット画像では”Service provider ID”、"IdP name"に値が入っていますが、インポート直後には入っていませんのでご注意ください。
  1. "Service provider ID"にhttps://から始まるDominoサーバーのFQDNを入力します。
    例)「https://mydominoserver.com」
  2. "IdP name"に自分が分かりやすい任意の値を入力します。
  3. 一旦、"State"を[Enabled]から[Disabled]に変更して、[Save & Close]ボタンを押して保存します。
  4. 再度先ほどのIdP Configuration文書を開き、"Certificate Management"タブへ行きます。
  5. [Create SP Certificate]ボタンをクリックします。
  6. ”Company name”を入力するダイアログがひらきますので任意の名前を入力して[OK]ボタンをクリックします。
  7. "Certificate Management"タブ内のフィールドが自動で入力され、Exported certificate欄に"ServiceProvider.xml"が作成されたことを確認します。
  8. 再度、[Save & Close]ボタンを押して保存します。

以上でIdP Catalogの設定は完了です。
最後に、DominoサーバーのSite DocumentでSAML認証をするように設定を変更します。

Domino インターネットサイト文書の設定

インターネットサイト文書を作成していないサーバーであればサーバー文書のInternet Protocols ⇒ Domino Web Engine で設定することになりますが、ここではインターネットサイト文書が設定されている環境として進めます。

  1. インターネットサイト文書を開き、”Domino Web Engine”タブに行きます。
  2. Session Authenticationで「SAML」を選択します。
    ※WEB SSO Configurationは既に作成してあるLTPATokenがある場合はそれを選択したままでOKです。
    ※Force login on TLSはデフォルトの[No]、
    SAML single server session expirationはデフォルトの[120]分から変更したい場合は変更、
    Web overriding session authentication, generate session cookieはデフォルトの[Yes]としておきます。
  1. 文書を保存して閉じます。

HTTPタスク再起動して動作確認

ここまで設定が完了したらDomino HTTPタスクを再起動しますが、そのまでにIdP Configuration 文書のStateを[Enabled]に変更します。

  1. IdP Catalogの作成したIdP Configuration文書を開き、"State"のフィールドを[Enabled]に変更します。
  2. 文書を保存して閉じます。
  3. Domino Administratorから「tell http restart」を実行してHTTPタスクを再起動します。

ACL制御されたDomino WEBアプリケーションでテスト

ブラウザを使って、「https://mydominoserver.com/xxx/xxx.nsf」のようにDomino Webアプリケーションへアクセスします。

うまく動作する場合は、Microsoft Azure ADのログイン画面にリダイレクトされ、ログイン後にDomino Webアプリケーションに正しくログイン出来ることが確認できます。

Dominoサーバーnames.nsfに同一のEmailを持つユーザー文書が存在する場合は、AzureADログイン後Dominoアプリケーションでも正しくDominoユーザーでACLが機能していることが確認できます。

https://youtu.be/Af3LUxSQoZk

参考にした資料・ブログ

■ HCL Customer Support Article - How to configure SAML authentication for Domino HTTP using Microsoft Azure as an Identity Provider
https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0098580

■ Kris De Bisschop - HCL Domino SSO with AzureAD
https://debisschopk.wordpress.com/2020/10/19/hcl-domino-sso-with-azuread/

■ HCL Domino SAMLとOktaでの統合ログイン
https://support.hcltechsw.com/sys_attachment.do?sys_id=2a1c5afb1bb38954f37655352a4bcbac

まとめ

いかがでしたでしょうか? Microsoft Teamsを始め、多くの会社がMS365を利用している現在、DominoサーバーをAzureADで統合ログイン(シングルサインオン)することのメリットは絶大だと思います。

AzureADによる統合ログイン(シングルサインオン)をすることでアプリケーション開発プラットフォームとしてDominoサーバーがますます利活用されるようになるといいですね。