ページビューの合計

2024年4月4日木曜日

#メール で超簡単な #アンケート

 This article is very simple.

I will describe the process of placing a button in the body of an email to receive an email with the answers to a survey.


みなさま、こんにちは。
いよいよ新年度スタートですね。

私は会社組織のちょっとした変更と、私的にも大きな変化が生じる新年度を迎えております。
ちょっと体調不良でふたつの病院に通いながらですが、今年度もよろしくお願い致します。


さてまずは告知から

#ノーツコンソーシアム ( #notescons )大阪研究会が今月26日(金)に開催されます。
今年はさらに新規の方々をお迎えし、引き続き活発な研究会を運営して参りますので、今からでも間に合いますので、ぜひ参加をご検討ください。

コンソーシアム会員の方以外でも広く登録が可能です。
研究会参加登録

お手数ですが、研究会への参加も個別にお願いします。
第一回大阪研究会


それでは本題に移りますが、今回は至って簡単な内容ですので、あらかじめご了承ください。

弊社でもよく社内アンケートを実施するのですが、最近では #Domino #Leap を多く利用しています。
しかしながら全社員がLeapを使いこなせる状態ではなく、基本的にはシステム部門で準備しているのが現状です。

ただほんとうに簡単なアンケート(例えば飲み会の参加可否など)のようなものまで依頼するのはということで、メールにボタンを配置することで解決した事例になります。

具体的には以下のようなものです。


アンケートですので、メールで解答を集めるだけの目的であれば、設定だけで利用できますので、一般ユーザーでも簡単に作成できます。


それではこのボタンの作成方法です。

①配置したい場所で[作成]⇒[ホットスポット]⇒[ボタン]をクリックします。


②以下のような画面が表示されますので、ラベルやサイズ、色、スタイルなどを設定します。


③ボタンにアクションを追加します。
このアクションはノーツで言うシンプルアクションのみが使えるようで、アクションを選んで、必要な項目を設定し、[追加]を押します。
今回は送信者に返信(送信者のみ)とし、メッセージにはそれぞれ「賛成」「反対」とします。
さらに元の内容がわかるように「メッセージに文書のコピーを含む」にチェックしています。


たったそれだけです。

ちなみに送信されて受け取ったメールは以下のようになります。


今回は「送信者に返信」を利用しましたが、その他選択できるアクションは以下になりますので、ぜひいろいろと試してみてください。


以上、簡単な機能ではありますが、ユーザーレベルで簡単に作成できますので、使い道はさまざまかと思います。


なお実際に利用してみた感想として、
①ボタンは何度もクリックできてしまう
②返信を受け取る場合は、あらかじめルールで仕分けておくと便利

です。

ぜひ使ってみてください!!

2024年2月23日金曜日

#DominoLeap #名前ピッカー でグループを選択しても、全員にメールが届かない

This time I had a problem with the DominoLeap application, where all the groups specified in the name picker did not receive the email.

I contacted support and they told me how to work around the problem, so I'm writing it down.


みなさま、こんにちは。
先日はノーツコンソーシアム 総会、FESTA並びに30周年記念パーティにてたいへんお世話になりました。

特設サイトやアーカイブが公開されておりますので、ぜひご参加頂けなかったみなさまにおきましても、サイトをご覧ください。

https://www.notescons.gr.jp/

なお大阪研究会としては、

●インスタグラム:「悪だくみの会(osakadomino)」
●フェイスブック:「悪だくみの会(OsakaDomino.fun)」
●X(Twitter):「OsakaDomino」

などからも情報発信しておりますので、こちらもご覧ください。


さて本題になります。
最近は社内の新規ワークフロー=DominoLeapで開発することが増えてきています。
今回も新しくIBMiのデータを活用したワークフローの要求があり作成し、リリースしたのですが、フローで発生するメールを複数に送信したいという要求が届きました。

名前ピッカーで営業担当者を指定して、そちらにメールを送信するというフローになるのですが・・・。設計は以下のようなものです。



そこでフィールドヘルプにも「ユーザーまたはグループを検索」と書かれていることから、ドミノディレクトリにグループとして作成して解決しようと考えました。
フロー起票者は営業担当者に該当するグループを選択して進めるというものです。

結果は・・・
なんとグループ全員にはメールは届きませんでした。1名のみにしか届かなかったのです。

もしかしてバグ?

と思い、今回のサポートへ問い合わせ致しました。

今回もほどなく連絡がありました。
どうも名前ピッカーで単純に選択したグループ全員へのメールは送信されないようでした。

そこで解決策の提示がありましたので、ご紹介致します。

①アクセスメニューでひとつ役割の定義を追加します。
今回は「メール送信先」という"オープン"な役割を追加しました。


②次にワークフローメニューに移動し、対象の「送信」アクションに「ユーザーの割り当て」を追加します。


設定としては、
[フォームの値]として「営業担当者」・・・こちらは先の名前ピッカーを指定しています・・・を選択し、[役割]を先に作成した「メール送信先」を指定します。


③既にあるメール送信のアクションで、メールの送信先として「営業担当者」を外して、「メール送信先」に変更します。



以上で設定完了です。
保存して、アプリをデプロイし確認したところ、思うようにグループ全員にメールが送信されました。

回避手順としては至って簡単ですね。
変数として「メール送信先」という器を作り、送信時のアクションで選択されたグループをこの器に割り当てて、そちらを宛先にメールを送信するだけの変更になります。



以上、なんてことない作業にはなりますが、先に書きましたように名前ピッカーにはグループも選択できることから、私のような開発者はそちらで選択するだけで簡単にグループにメール送信ができると考えてしまいます。

ごくごくありふれた要望かとは思いますので、書き留めさせて頂きました。

また何か課題が発生しましたら、こちらでも報告させて頂きますので、引き続きよろしくお願い致します。

2024年1月12日金曜日

#目安箱 の作り方

I was also successfully appointed as this year's HCL Ambassador.
Thank you!!

This time I am reporting on how to create a "Reference Box".

I wrote this article because I thought that once you understand how to create this, you will be able to take advantage of a useful application called "Mail in Database.


新年あけましておめでとうございます。
まだどこにも出してなかったのですが、無事私も本年度のHCL Ambassadorに任命頂くことができました。

毎回同じになりますが、これも皆様のご協力あってこそ。
今年も日々の中から発見した内容を、随時報告していきたいと思いますので、よろしくお願い致します。

さて早速ですが、まずは告知から。
来週1月19日(金) テクてくLotus技術者夜会が開催されます。

https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0069193

今回のテーマは私を含めた今年任命されたHCLアンバサダーによるライトニングトークです。
今年は多くの新任アンバサダーが就任しましたので、ぜひお時間調整の上、ご参加ください。



それでは本題です。
よく昔から「目安箱」の運用が行われているかと思います。
弊社で要求されたわけではないのですが、この作り方を理解すると、メール受信データベースという便利なアプリを活用して頂けるのではと考えましたので、記事にしました。

もちろんユーザーIDを追加して運用することも可能(但し、適切な処理を行わなければ、※DLAUにカウントされます)ですが、ライセンスを意識せずに簡単に作成できますので、ぜひこの機会にマスター頂ければと思います。


手順は本当に簡単で、

①テンプレートからメールデータベースを作成

  データベースを作成するサーバーを選択し
  データベースのタイトルをつけ
  ファイル名を指定
  テンプレートに、利用したいメールテンプレートを選択してOK。
  ※テンプレートの引き継ぎについては、判断にお任せします。

②出来上がったメールアプリのACLを設定

  目安箱ですから、閲覧できる方は限定されるべきですので、配慮した設定を行ってください。

③メール受信データベースの追加


  ドミノディレクトリのメッセージ内にあるメール受信データベースを選択して、
  新規追加ボタンをクリックします。


  設定内容は
  この設定の名前(自由)と
  サーバーの選択とファイル名の指定です。

  ※今回は外部からのメールをうけませんので、インターネットアドレスはブランクにしていますが、外部からのメールを受信させる場合はこちらに一意のメールアドレスを記述します。

以上で完成です。



ご自身で新規メールを作成して、宛先に「目安箱」を選んでメールを送信します。

このように無事届きました。

簡単ですが以上となります。


今回はメールテンプレートを利用したメール受信データベースの作成手順を書きましたが、他のテンプレートや、全く新規で作成したアプリも同じ設定でメール受信データベースとすることが可能です。

またメールそのものに限らず、他のアプリにから送信したものを受けるということも可能ですので、その幅は広がるかと思います。


至って簡単ですし、また目安箱などは社内にひとつあってもいいのではと思いますので、ぜひ一度お試しください。

2023年12月26日火曜日

【 #電帳法対策 】メールの添付ファイルを一気に保存したい

This time I would like to report on the handling of attachments in accordance with the revised Japanese law.

This is a case where you want to save a large number of email attachments received in large quantities to a local location on your computer at one time.


みなさま、こんにちは。

かなり久しぶりになります・・・申し訳ございません。

まずはこの時期気になる #HCLAmbassador について少しだけ・・・。
まだ正式リリースにはなっていませんが、ノミネートしたメンバーへは通知が届いているようです。
詳細は正式リリース後と致しますが、大阪から新任も現れましたので、ぜひ来月のテクてくLotus技術者夜会をご視聴ください。

さて今回はタイトルにも記載しましたが、弊社の電子帳簿保存法(電帳法)の対応で、少しご紹介したい内容が発生しましたので、その内容と解決策をご紹介致します。


【背景】

電帳法の対応として、各取引先から受け取る請求書、納品書の電子化が進みました。
請求書はともかく、納品書は日々かなりの枚数を処理していますが、さらに先方のシステムによっては1点1葉に細分化した例も現れ、1日200本ちかくの添付ファイル付きのメールを受けるような例が複数生じました。

※1点1葉化
従来、単品ごとに消費税を計算していたところが、根本的なシステム変更を行うことなく、単純に請求単位を1点ずつにすることで完了されるような例がありました。

弊社の電帳法対策(検索性)からその添付ファイルをリネームして保存することとなったのですが、ひとつひとつメールを開き、添付ファイルを保存するだけでも相当の労力が必要であり、その部分を改善できないかと考えたのがスタートです。

なお今回の内容ではファイル名の変更は対象としていません。



【改善案】

受信したメールはルールで指定したフォルダに振り分けられているため、対象となるメールを選択してエージェントを実行することで添付ファイルをローカルフォルダに保存する機能をメールテンプレートに追加する。

万が一同名のファイルがあった場合は、後ろに連番を付与して保存する。



【対応】


まずは自力でなんとかできないかと、以前「#期日管理 アプリについて」で作って頂いたスクリプトとにらめっこ。
しかしながら同一ファイル名の処理や、私の理解でできるものではなく・・・

さらに今回案件は1月スタートと期日が皆無のため、最後の砦・・・ノーツコンソーシアム大阪研究会の浜さんへ問い合わせ・・・

すると間もなくしてスクリプトの書かれたテキストファイルが届きました。

少し設定してエージェントを実行すると・・・

おおー、うまくいきました。

こちらの詳細はお手数ですが、浜さんのブログ「リッチテキスト:#15)添付ファイルのダウンロード」で解説頂けておりますので、ご覧ください。



【結果】


180件のメールを選択してエージェントを実行したところ、ほんの数秒で添付ファイルがパソコンの指定フォルダの中に保管されていました。

手作業でひとつずつ保存していくと、その作業時間は小一時間掛かります。

しかしながらこのツールで数秒という飛んでもなく作業時間の短縮につながりました。

担当者からは「感動した」とまで!!

みなさまの会社でもお困りではありませんか?
ぜひ、この恩恵を受けてください!!


2023年9月27日水曜日

Dominoサーバーを #クラスター 化する場合の注意事項

 I would like to explain a new addition we have made to our company about problems related to cluster servers and how to deal with them.

I consider it quite important, so please read it.


みなさま、こんにちは。
・・・少し時間が空いてしまいましたね。
とは言いつつ、今回もまずは告知からです。

僭越ながらも、弊社にて検証しました事例もご紹介させて頂きます。
終了後にはお楽しみ満載のパーティータイムもご準備頂けているようですので、ぜひ現地でお会いしましょう!!


さて今回は、以前からサブスクはサーバー立て放題だから、「やるやる!」と言っていたクラスター化を実装致しました。
その中で、弊社で発生したトラブルについて報告致します。

まずクラスターサーバーの作成について、ここでは触れませんので、ご了承ください。


【エラー発生までの流れ】

クラスターサーバーへ全メールデータベース(退職者含め130ほど)の複製を作成しました。
※弊社のメールボックス制限はひとり10GBです。

翌日、一部ユーザーから受信ボックスが空っぽとの報告がありました。
調べると、メールそのものは受信しているのですが、受信ボックスに配信されない(すべての文書には入る)状況となっていました。

なおすべての文書ビューでは、[フォルダ]が表示されているのですが、本来「受信ボックス」となるべき文書がブランクになっていることを確認しました。

なおこの現象は発生している者としていない者がいることも確認されました。

以上から、こちらでの解決は困難と判断し、サポートへ問い合わせしました。


【発生した現象】
いつもながら即日回答がありました。
結論としては、既にケースとしてリリースされている内容に該当していました。

Domino Administrator の「レプリカの作成」機能を使用した場合に発生する可能性のある問題

要はレプリカスタブが実際の複製処理を実施している間に、サーバーメンテナンスのひとつである「designタスク」が実行されてしまうと、設計反映の処理が重複してしまい、トラブルの原因となるそうです。

確かに発生しているユーザーとしていないユーザーがいる点からも、納得です。


【本来実施すべき準備】

まずは今回の復旧作業でなく、このような状態に陥らないための下準備について記載致します。
手順としては、複製の初期化が終了するまでは一時的に Design の定期実行を停止するということになります。
具体的には、

notes.ini のパラメータ ServerTasksAT1= で Design タスクが指定されているため、一時的にこの記述を削除する

となります。
もし今後、クラスターサーバーを追加されるような場合は、ご注意ください。


【復旧作業①】

それでは実際に弊社のような状況に陥った場合の対処方法です。

①念のため、対象のメールボックス(nsf)をバックアップする

②そのメールボックスをDesignerで開き、[フォルダ]内[$Inbox]を削除する


③Dominoコンソールで、対象メールボックスにconvertコマンドを実行する。
 ※テンプレートのファイル名は実際に利用しているものを指定します。

load convert mail\ABC.nsf * djxmail12.ntf

ケース文書では、以上で復旧するようです。(例外として、以下記述はあります)
※この対応で復旧できるのは、convert を実施した日から 90 日前までに受信したメッセージのみであることに注意してください。90 日よりも過去に受信したメッセージを受信ボックスに表示させる手段は存在しないため、バックアップからリストアするか、すべての文書ビューから必要なメッセージを受信ボックスにコピーする必要があります。

しかしながら、弊社の現象では、複製作成前のメールはこの時点で受信ボックスには表示されませんでした。


【復旧作業②】

再度サポートに問い合わせたところ、

データベースのトラブルシューティングと問題解決のための管理ツール(Admin Tool)
https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0080492

というものを紹介して頂けました。
ツールの機能はいろいろとあるようですので、先のリンクをご確認ください。
ちなみに画面は以下のようなものになります。


こちらを使って、メールデータベースの復旧を試してみます。

作業は至って簡単で、

①[Darabase Health]-[Rebuild Mail Database Inbox]を選択


②以下のような画面が表示されますので、[Select]をクリックして、対象のメールデータベースを選択します。


③[Rebuild]をクリックして、あとは待つのみになります。


完了したら、メッセージが表示されますので、OKします。
ちなみにRebuildの時間は対象のメールデータベースの容量に比例するようで、個人的なイメージとしては、結構かかったと感じました。

結果として、本ツールを利用することで、障害は解消することができました。
※本ツールはもっと精査しても面白そうですね。


以上で今回のレポートと致します。

以下参考情報として、作業中でひっかかった内容のケースを追記しておきますので、こちらもご参照ください!!



【参考資料】

※1 システム管理要求「レプリカ作成の実行」による高速レプリカが実行される条件

https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0037843

※2 「再始動可能な圧縮には、db 及び ODS が 55 以上のトランザクションログが必要です。」のメッセージが出力される
https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0105755

→「情報のメッセージになりますので、該当のメッセージが出力されていても、特に問題はありません。」・・・だそうすです。






2023年7月20日木曜日

#HCL #Verse で発生した障害について

In this issue, I report on the failure of HCL Verse that occurred at our company and its solution.


みなさま、こんにちは。
今回は弊社環境で発生したメール(Verse)の障害について、レポートさせて頂きたいと思います。


・・・写真がないので、Verseの概要貼っておきます(汗


まず発生した現象を説明致します。

①私自身のパソコン(MAC)で自宅からプラウザでVerseへの接続(最新のメール受信も)は問題なく行えています。
不必要なメールを削除したのですが、ゾンビのように復活してきます。
新規メールを作成しようとしても送信できなかったり、ファイル添付ができないといった挙動が発生しました。

②ユーザーからモバイルVerseからメール送信できなくなったとの報告が寄せられ始めました。

③会社ネットワーク内のパソコンから、ブラウザでVerseを開いてみたのですが、何の問題もなく利用可能でした。


上記のことから、外部からのアクセスルートに問題があるのではと推測し、調査を始めました。

ちなみに社外からのルートとしては、

nginxサーバー→Safelinxサーバー→Dominoサーバー

となっています。


状況をサポートへ問い合わせたところ、以下回答がございました。

●エラーログ
2023/07/13 06:13:38 iNotes XSS Security: Invalid Request, missing expected nonce value; with Referer: 'https://****/verse'. Request not processed, throwing exception.

●エラーの原因
この問題は、iNotesサーバーによって検証されNonce値の不一致で発生します。

Nonce チェックというセキュリティ機能がDomino 8.5.2リリースで追加されました。Nonceチェックの目的は、クロスサイトリクエストフォージェリ(CSRF)攻撃をブロックすることです。ユーザーが iNotesで POSTリクエスト(メールの送信、ドラフトの保存、 連絡先の作成、iNotes設定の保存など)を試みる際に、サーバーで生成された値(Nonce)でブラウザの値を検証します。Nonce値はShimmerS Cookieに保存されていますが、プロキシサーバー(IMCなど)を介してDominoを実行するときに競合を引き起こすことがあり、このメッセージが表示されます。

私の理解範囲を超える内容でしたが、プロキシサーバーをはさんでDominoを実行する際のCookieに問題がありそうです。


●解決策

サーバーのnotes.iniにふたつのパラメーターをセットすることで、この機能を無効にできるそうです。

→サーバーコンソールで以下コマンドを実行するように指示がありました。

Set config iNotes_WA_Security_NonceCheck=0 
Set config iNotes_WA_Security_RefererCheck=0

その後、HTTPタスクを再起動して完了です。


●結果

何事もなかったかのように利用できるよう、復旧致しました。


以上で障害そのものは解消したのですが、なぜ突然発生したのかは確認できていません。
先般、クラスターサーバーや、メールアーカイブ用のサーバーを追加したのですが、それが影響しているとも考えにくいのかなと感じています。

すこしモヤモヤした感じは残りますが、もし皆様でも同じような現象が生じた場合は、一度お試しください。
notes.iniに書き込んでいるだけですので、簡単に戻せますので!!

この度もHCL様サポートの皆様にはたいへんお世話になりました。
いつもありがとうございます!!

2023年6月22日木曜日

#期日管理 アプリについて

 I would like to introduce another finished application for a project that occurred within our company.

It will be a kind of centralized management of task due dates.


みなさま、こんにちは。
今回も弊社内で発生した案件からリリースしたアプリを紹介致します。

【要件】
・社内で管理する必要のある取引先の許可証を一元管理する
・期日が近づいたら、担当者(グループ)にメールで通知する

弊社の例では、医薬品や毒劇物などを販売するには、それぞれ期日の決まった許可を更新する必要があります。
販売先がさらに販売(再販)する場合、その許可を弊社が管理することが法的に定められています。

従来は取引先から提出頂いた許可証のPDFをファイルサーバーに保存。
必要に応じて、「個人のタスク」や「スケジュール」で通知設定を実施していました。
ファイル名に期日を指定し、随時こちらが近づいてくると更新された最新版の提供を依頼するという形でした。

また対象の法律により管理者が複数おり、それぞれ別で管理していたり、営業担当変更や退職で内容が引き継がれなかったりした場合など、万が一の確認もれを防ぐ意味でも、一元化を実施することとなりました。



上記を踏まえ、アプリを作るのですが、基本は簡単なフォームとビュー、メニューやフレームセットだけで終わります。

【フォーム設計画面】

【起動時のフレームセット】


ここでキーになるのが、自動で通知を送信する機能になります。
ちなみに「期日順」ビューは以下のようになっています。

期日昇順で表示されており、切れたものは"タイガースカラー(笑)"になっていることがわかるかと思います。
・・・余談ですが、弊社は重要で目立たせる必要のあるビューの行はこの"タイガースカラー"で統一しています。

通知はエージェントを使用して、スケジュール実行をさせています。
本エージェントは、ノーツコンソーシアム 大阪研究会 の浜さん

にお願いして作って頂いたものになります。


Option Public
Option Declare

Sub Initialize
Dim ns As New NotesSession
Dim ndb As NotesDatabase
Dim nv As NotesView
Dim nd As NotesDocument
Set ndb = ns.Currentdatabase
Set nv = ndb.GetView("LTerm")
nv.Autoupdate = False
Set nd = nv.GetFirstDocument()
While Not (nd Is Nothing)
If CStr(nd.EndDate(0)) <> "" Then
If nd.EndDate(0) - Today <= 7 Then
'期日まで7日以下のものがメール送信対象
Call SendMail(ndb, nd)
End If
End If
Set nd = nv.getnextdocument(nd)
Wend
End Sub


Function SendMail(vndb As NotesDatabase, vnd As NotesDocument)

Dim ndMail As NotesDocument
Dim nrti As NotesRichTextItem
Set ndMail = vndb.CreateDocument
ndMail.Form = "Memo"
ndMail.SendTo = vnd.GetItemValue("Contact")(0)
ndMail.CopyTo = vnd.GetItemValue("Manager")(0)
ndMail.Subject = "許可証等更新日接近のお知らせ"
Set nrti = ndMail.CreateRichTextItem("Body")
Call nrti.AppendText("許可証等の更新時期が近づきました、")
Call nrti.AddNewline(1)
Call nrti.AppendText("期日までに更新してください。")
Call nrti.AddNewline(2)
Call nrti.AppendDocLink(vnd, vndb.Title) '文書リンクつけるなら 
Call ndMail.Send(False)
End Function


スケジュールは以下のように毎週月曜の9:00としてあります。

以上で完成です。
これにより各自のタスクやスケジュールに依存するのではなく、会社としてのルールに従った管理作業が行えることとなりました。

弊社の場合は許可証がトリガーでしたが、期日管理を個人まかせにできないことっていくつかあるのではないでしょうか。

ぜひそのような内容が必要でしたら、本アプリをダウンロードしてご使用ください。
以下よりダウンロード可能です。