March 15, 2015

iNotes 9をCustomizeしてみよう! -6-

テーマ:iNotes (DWA)

<話題の履歴>


iNotes 9をCustomizeしてみよう! -1-

iNotes 9をCustomizeしてみよう! -2-

iNotes 9をCustomizeしてみよう! -3-

iNotes 9をCustomizeしてみよう! -4-

iNotes 9をCustomizeしてみよう! -5-



前回は、IBMが提供しているSample Codeを元に新規Menuの追加を行ってみました。

今回は、少し役立つCustomizeを考えてみます。



みなさんの環境でも、Notesに届いたMailを携帯などのMobile Deviceに転送するということを行われてきたと思います。

しかし、Smart Phoneが主流となった今では、Mailの転送は行わず、Securityの保たれた安全な方法でServerに保存されたMailを閲覧したり、Smart PhoneにDownloadしてSmart PhoneのApplicationで閲覧するのが主流となっています。

Notes/Dominoで言うと、Notes Travelerがその代表的な物です。


Notes/DominoはMail Ruleが提供されてから、受信したMailに対する処理が出来るようになり、MailのCopyを送信することも出来るようになっています。

iNotesでもMail Ruleが使えるようになっていますが、会社によってはSecurityの観点から勝手にMailを外部に転送することを許可していない場合もあることでしょう。

となると、このMail Ruleによる外部へのMail転送は禁止しなければ運用が出来なくなります。


或は、Mailを転送すると、誤ったAddressに転送設定してLoopさせてしまうことを心配される方もいらっしゃるかも知れません。

実はRuleによるMail転送に関しては、Mail Ruleで送信したMailはFromの値を入れない状態で転送されるようになっています。

これにより転送先のAddressが無効であったとしても、相手先のPost MasterからNon Delivvery Reportが戻って来ることはないのです。

この設定は、Notes.iniで制御が可能になっており、以下の設定が可能です。

詳細は、IBMのTechnote を参照ください。


RouterUserRuleForwardReversePath=n


0:デフォルト値です。SMTPOriginator フィールド に NULL が設定されます(デフォルト値)。

1:SMTPOriginator フィールドに元のメールの送信者のアドレスがそのまま引き継がれます。送信エラーレポートは元のメッセージ送信者に送られます。

2:SMTPOriginator フィールドに元のメールの受信者のアドレスが設定されます(これを設定する場合は、メールループが発生する可能性があることに注意してください)。

3:SMTPOriginator フィールドに、元のメールの受信者のアドレスの前に "nobounce" という文字列が追加されて設定されます。そのため、送信エラーレポートは元のメッセージ送信者には送られません。


前置きが長くなりましたが、iNotesでMail RuleによるMailのCopy転送を禁止したいという要望はあることでしょう。

標準の状態では、以下のように設定ができてしまいます。



iNotes_Customize_22


この機能のCustomizeを行うには、Forms9_x.nsfでは変更はできず、基本機能が入ったForms9.nsfのCustomizeが必要になります。


この「次の宛先にコピーを送信」という言葉が入った設計要素を探すことが出来れば、Customizeする場所の特定が出来る訳ですが、最初に紹介したように、iNotesではMessageなどの定数は全てEncodeされた状態で、dwa_ja.propertiesに格納されています。


まず、以前紹介したEncode/DecodeのSite で「次の宛先にコピーを送信」をEncodeすると、Unicodeで"\u6b21\u306e\u5b9b\u5148\u306b\u30b3\u30d4\u30fc\u3092\u9001\u4fe1"となることが分かります。

この文字をdwa_ja.propertiesの中を探すと以下が定義されていることが分かります。


L_RULES_ACT_SND_CPY_TO=\u6b21\u306e\u5b9b\u5148\u306b\u30b3\u30d4\u30fc\u3092\u9001\u4fe1


つまり、設計要素の中では、"L_RULES_ACT_SND_CPY_TO"という定数が使われてCodingされているハズです。

Domino Designerの検索機能を使ってこの文字を検索すると、以下のように結果が表示されます。



iNotes_Customize_23


つまり、"s_RuleEditCode" Formにこの定義が行われていることが分かるのです。


念の為に、Mail TemplateのRule設定のFormである"(RulesDlg) | Mailrule"のAction Fieldを確認すると、以下のようになってることが分かります。



iNotes_Customize_24


これで、修正個所は"s_RuleEditCode" Formの以下の部分であることが分かるのです。


&lt;dwa:string id="L_RULES_ACT_SND_CPY_TO"/&gt; + "|B"


この部分が、Notesの"(RulesDlg) | Mailrule"のAction Fieldの選択肢を生成している部分と同じ処理を行っている部分ですので、この部分を削除してやれば選択肢に現れなくなるハズです。

この修正は、UIの表示の選択肢を削除しているだけで実際のLogic修正を伴わないため非常にRiskの少ない変更となります。


実際にこの部分を削除してやると、以下のようにRuleの設定から選択肢が消えます。



iNotes_Customize_25


これで、Mail Ruleから「次の宛先にコピーを送信」のActionを消すことが出来、UserにこのActionを選択不可能にすることが出来るのです。


余談ですが、以前のNotes Clientの場合はこんな面倒なことは不要だったハズです。

Server Configuration Documentの設定で「コピーを送信」のActionを禁止することができ、これを設定するとNotes ClientのMail Ruleでは「コピーを送信」が消え去っていました(古いVersionの環境がありませんので昔の記憶)し、Server Configuration Documentの設定にはそのように記載されています。

ところが、Notes 9 Mail Templateの場合は、Server Configuration Documentで設定しても、RuleのAction選択肢からは消えなくなってしまっているようです。

このServer Configuration Documentの設定をすると、NotesやiNotesのMail Ruleで設定したとしても、Mail Ruleの「コピーを送信」のActionは動くことはありませんが、残念ながら表示からは消えないようなのです。

今回は、Mail Ruleから「次の宛先にコピーを送信」Actionを利用不可にするCustomizeを行ってみました。

次回は、Address DialogのCustomizeを行ってみたいと思います。


<続く>

いいね!した人  |  コメント(0)  |  リブログ(0)

いわまんさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

最近の画像つき記事
 もっと見る >>

コメント

[コメントをする]

コメント投稿

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。