2023/08/11

宛先選択で DJX の所属を表示

前回の がんばれ! DJX!! で、『通常の宛先選択画面で所属が表示さない』点を課題としてあげました。今回はこの改善案の一例をご紹介します。

ただ、今回の記事では、ドミノディレクトリの標準ビューを修正する内容を含んでおります。ドミノディレクトリの仕組みを説明する一例として側面もあり記述しておりますが、カスタマイズを推奨するのもではありません。今回は下記の点、特に強調させていただきます。

ドミノディレクトリのカスタマイズは、Notes/Domino の挙動に影響を与える恐れがあり、メーカサポートを受けられなく可能性があります。
お使いの環境に適用される際には、リスクとベネフィットを十分にご検討の上、ご自身の責任で実施ください。


修正するビューの確認

『宛先選択』画面とドミノディレクトリ で記載したように、宛先選択画面では、4つのドミノディレクトリのビューに接続します。その中で、一番利用頻度の高い ”($PeopleGroupsFlat)” を対象とします。

このビューをデザイナーで開き、設計を確認しましょう。


まず、選択式は次のようになっています。

SELECT (Type = "Person" | Type = "Group" | Type = "Database" | Type = "Server") & @IsUnavailable($Conflict) & (!@IsAvailable($AutoCreatedList) | !@UpperCase($AutoCreatedList) = "DIP")

細かな点は置いといて、ユーザ文書以外に、グループ、メール受信データベースとサーバが選択されています。


続いて、列の定義です。全部で9列定義されています。左から2列には非表示設定がされていません。この2項目が選択画面に表示されている項目で、アイコンとユーザ名など選択肢を表示しています。

残りの7列はすべて非表示の設定になっています。これらは、メールテンプレートなど標準のアプリケーションから@関数、LotusScript や Domino タスクなどから参照されている列だと想定できます。


列の追加

”($PeopleGroupsFlat)” の一番右に1列追加します。

@関数でも LotusScript でも、ビューから値を取得する場合、列番号を指定することが一般的です。最後の列であれば、影響する可能性が一番低いと判断しました。

列式は、次の通りです。

DeptList := @Trim(Level0:Level1:Level2:Level3:Level4:Level5:Level6);
@Implode(DeptList; "/")

DJX の主たる所属を上位から順に "/" でつないでいます。グループなど所属のない文書では、何も表示されません。

なお、2列目の幅が広く設定されており画面からはみ出るので、適当に調整します。この設定を行うと宛先選択画面は次のようになります。

Users はグループなのですが、2列目に何も表示されていないので成功ですね。


ビューの調整

ドミノディレクトリの設定が、テンプレートから自動更新になっている場合、修正した内容は上書き消去されます。これを止めるため、設計のプロパティで次の項目をチェックします。


画面サイズを変更したときに列幅が自動で伸縮するよう、ビューのプロパティを変更します。このビューは表示する項目数が少ないため、幅に関しては特に配慮されていないようですね。また、所属が長い場合を想定し、折り返して表示するよう設定してもいいですね。

ちなみに、このビューの列ヘッダを表示させると列幅の修正が可能となります。


まとめ

今回の修正が完了すると、次のように表示されます。この対応であればノーツ標準の機能しか利用していませんので、Nomad でも利用できます。

なお、最初にも記述した通り、ドミノディレクトリの変更はリスクを伴います。今回の情報は、十分に検討・検証の上ご活用をお願いいたします。


今回の事例は、ノーツ標準の機能もノーツでできていることがよくわかります。ノーツって面白いですね。

0 件のコメント:

コメントを投稿