ページビューの合計

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としてあります。

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

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

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




2023年6月21日水曜日

#NomadMobile で #名刺管理

I am pleased to announce the release of my first application for NomadMobile.
The design aspect is still in its infancy, but I will continue to study it, so please judge it as a start.


みなさま、こんにちは。

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

ノーツコンソーシアム 2023年度 第二回 大阪研究会

今週末の23日、大阪 北浜でオンサイト+リモート開催です。
少しテーマが多すぎるのですが、やれるだけやってみたいと思います。

ノーツ新任担当者向けワークショップ(2023年 春開催)

7/13(木)開催
ひさしぶりのオンサイトメインの開催です。
※リモートは定員となりましたが、まだ東京会場および大阪リモート会場は空きがございます。
東京から本編を。大阪からはデザイン編を配信致しますので、ぜひ受講をご検討ください。

2023年 ユーザー情報交換会@京都

8/25(金)開催
JR京都駅近くの会場で、さまざまなテーマでディスカッションを行う予定です。
終了後は川床で懇親会も準備しております。
川床は定員が限られておりますので、お申込みはお早目に!!




今回はNomadMobileを利用した名刺管理のアプリについて、紹介致します。
・・・個人的にスマホ向けアプリとしては、初めてのリリースになります・・・
正直なところ、まだまだUI面では改良の余地があるものの、自分なりに考えた機能が実装できましたので、一旦はデザイン要素はかるく流して頂ければと思います。

まず名刺の電子化ですが、最近ではたくさん製品やサービスが出て参りましたので、そちらを利用してデータ化することとしています。

本アプリの目的としては、以下3項目となります。

  • Notes/Dominoで名刺管理を行うこと
  • OCR処理は ****の機能を利用し、そちらからエクスポートしたデータをエクセルのマクロ機能でアプリへインポートする
  • アプリからメール作成、電話(携帯電話)発信、GoogleMapsを呼び出すことを可能とする
私が利用しているサービスは、無料で利用でき、エクセル形式でエクスポートが可能です。

但し、製品サービスとも競合してしまいますので、ここでは触れずに進めさせて頂きます。
※どうしても知りたい方は、個別にご連絡ください。


それではいきなりですが、アプリを開いた画面です。


下部にビューの切り替えメニューと終了が配置されています。

つづいてフォームを開いた画面です。


機能としては、

  1. メールアドレスから新規メール作成画面をリンク
  2. 電話番号、携帯電話番号から電話発信
  3. 住所からGoogleMapをリンク
となっています。

リンク部分の設計ですが、


それぞれテキストとして取得したデータを非表示フィールドとし、それぞれ「表示用の計算結果フィールド」を設置して各値を「テキスト」として表示させます。
その「表示用の計算結果フィールド」を選択することでホットスポットを追加します。

以下画像は[F_Zip]を選択して、ホットスポットを追加しようとする場合の画面になります。


ホットスポットのリンクは、以下のように[種類:URL] [値:計算結果]とし、


メールの計算結果には "mailto:"+F_Mail 


とします。

同じように電話は "tel:"+F_Mobile(F_Phone)

住所には "https://www.google.co.jp/maps/place/"+F_Address

とすることで実装しています。

動画をとも考えたのですが、いろいろと大人な事情がございまして、提供することができません。申し訳ありません。


サンプルアプリ(nsf)およびアップロード用のエクセルファイル(xlsm)と簡単な手順書を以下に置きましたので、ご興味ございましたら、ダウンロードください。

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






2023年5月30日火曜日

#タスク のアラート(通知)について

A user requested that we specify the time at which task alert e-mails are to be sent.

I would like to share with you the results of my confirmation regarding this and how we finally handled it.


みなさまこんにちは。
早速ですが、まずは先日の記事と重複しますが告知です。

以下、いずれもノーツコンソーシアム会員に限らず参加可能です。
Dominoの枠に収まらない研究会、情報交換会ですので、ぜひご検討ください。

●2023年6月23日(金) 第二回 大阪研究会
  詳細は上記リンクよりご確認ください。
  今回もかなり濃い内容になりそうです。

●2023年7月13日(木) ノーツ新任担当者向けワークショップ(2023年 春開催)
  ついに東京オンサイト開催!
  大阪サテライト会場も準備して、皆様のご参加をお待ちしております。

●2023年8月25日(金) ユーザー情報交換会(@京都)
  第三回大阪研究会、第三回名古屋研究会併催!!
  終了後は鴨川 川床で懇親会!
  今一度、対面のよさを見直しましょう!


さて今回はユーザーより、ノーツのタスクについて、通知時間を指定してメールを送信したいとの問い合わせが入りましたので、少し調べてみました。

以下がタスクのアラーム通知オプション画面になります。


通知方法をここで細かく説明する必要はないかとは思いますので割愛しますが、この[アラームを鳴らす時]を細かく設定したいということになります。

ここでは、

日にち単位しか設定できません。
〇日後、もしくは〇日前ということになります。

弊社の環境で、そのまま設定した場合、


なぜか 12:01:00 に設定されていました。

ちなみに予定の場合は、


このように「日」だけでなく、「時間」や「分」が設定できました。

そこでいつもながら、サポートへ問い合わせです。
正直なところ、「仕様です」っていう答えのみかなと考えていたのですが、以下のような回答を頂けました。

  1. HCL社様環境においてもアラームの通知オプションで特定の日時を選択できないことを確認しております。
  2. 「タスク」は日にち単位で作成されるため、開始日と終了日を指定し、アラームの通知設定を期日より前か後の日数のみ指定することができます。
  3. 残念ながら、このタスクに特定の日や時間を選択する方法はございません。そのため、ユーザーは特定の日や時間にタスク通知を受け取ることができません。

との事でした。
「ごもっとも」というのが本音です。
ただその後、以下の内容が続けられていました。


お客様のご期待に添うことができず大変申し訳ございませんでした。

タスクのアラームの通知に特定の日や時間を指定するための機能の改善要望が「HCL #dominoforever Product Ideas Portal」サイトに提出されています。
当機能の追加を希望されるお客様は投票(VOTE)をお願いします。

https://domino-ideas.hcltechsw.com/ideas/NTS-I-2372


同じことを考えられている方がいらっしゃるのですね。
もちろん即時VOTEですが、まだ2なんです(汗
もし同じお悩みをお持ちでしたら、ぜひVOTEください!!

インターフェイスは持っているので、実装するのはそれほど難しくなさそうなのですが・・・。

以上を踏まえて、弊社ではタスクとしてではなく、スケジュールとして登録することでユーザーの思う動作を得ることができましたので、解決は解決です。

ちなみに昨日も記事を書きましたが、弊社ではOnTimeを利用しております。
OnTime上ではタスクが表示されないのですが、スケジュールとして登録することで、OnTime上でも確認することができるようになりました。


こちらの凡例として「タスク」というものを設定することで、色分けされますので、これはこれで使いやすい方法と感じております。

お試し頂く価値はあるのではないでしょうか。