Comments
Description
Transcript
Lotus Knows EXPO 2011 IBM ソフトウェア
® IBM Software Group Software Service Lotus Knows EXPO 2011 IBM ソフトウェア アクセラレイテッド・ アクセラレイテッド・バリュー・ バリュー・プログラム 活動事例紹介 ~不在通知サービス 不在通知サービスの サービスの動作と 動作とトラブル解消事例 トラブル解消事例~ 解消事例~ Lotus Domino® 8.5.x 不在通知機能について 不在通知機能について 日本アイ・ビー・エム 株式会社 ソフトウェア アクセラレイテッド・バリュー・プログラム 田口 晃展 IBM Software Group Software Service 特記事項 本資料の記載内容は、できる限り正確を期すよう努めてはおりますが、いかなる明 示または暗黙の保証も責任も負いかねます。 本資料の情報は、使用先の責任において使用されるべきものであることを、あらかじ めご了承ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する 事はご遠慮ください。 当資料をコピー等で複製することは、執筆者の承諾なしではできません。 また、当資料に記載された製品名または会社名はそれぞれの各社の商標または登 録商標です。 IBM、IBMロゴ、Lotus、Lotus Notes、Lotus Domino、WebSphereは、International Business Machines Corporationの米国およびその他の国における商標。 Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標。 -2All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service はじめに 本資料はLotus Domino® 8.5.x での不在通知機能の詳細および、実運用でのトラブルの対 応策をご紹介する資料です。 不在通知サービスへの切り替えをご検討の方、不在通知サービスをご存じでない方は、この資 料を是非ご覧いただき、不在通知サービスへの切り替えのご参考にしてください。 -3All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 目次 不在通知とは? 不在通知エージェント 不在通知エージェントの悪い点 不在通知サービス 不在通知サービスの良い点、悪い点 不在通知エージェント/サービス混在時の注意事項 不在通知のトラブル事例 不在通知のトラブル解消事例 -4All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知とは 不在通知とは? とは? 不在通知サービスを使用して、不在中に受け取ったメッセージに対する自動返信を送信でき ます。 自動返信では、不在中に受け取ったメールの送信者に、自分が不在であることを知らせ、い つ戻ってくるのかを通知します。 不在通知を設定するには、不在になる日時と戻ってくる日時などの不在通知設定を指定し、 不在通知サービスを有効にする必要があります。 戻ってくる日時には、不在通知の要約メッセージを受け取ることになります。そのメッセージには、 留守中に不在通知サービスから不在返信が送られた送信者のリストが組み込まれます。 Lotus Domino® 8.5.x では、二種類の不在通知機能が実装されています。 不在通知エージェント (R5 からサポート) 不在通知サービス (8.0 からサポート) -5All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知エージェント 不在通知エージェント Lotus Notes/Domino R5 よりサポート メールデータベース内の定期実行されるエージェントによって不在通知処理が実行されます。 不在通知:有効/無効の切り替えは、メールデータベースのメニューから、不在通知フォームにて、 切り替えることができます。 不在通知:有効にした場合の設定内容は、“OutOfOfficeProfile” プロファイル文書に保存さ れます。 不在通知:有効にした場合、メールデータベース内の OutOfOffice エージェントが有効に設定 されます。 不在通知が有効になっていることを確認するには、 サーバーコンソールにて、“tell amgr sched” コマンドを実行し、該当データベースの “OutOfOffice” エージェントがスケジュールさ れていることで確認できます。 出力例: データベース: mail¥amomosai.nsf で不在通知エージェントが有効になっている場合 > tell amgr sched [04A8:0002[04A8:0002-05EC] S S 19:27 Today OutOfOffice|OutOfOffice mail¥ mail¥amomosai.nsf -6All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知エージェント 不在通知エージェントの エージェントの悪い点 ×(悪い点) メール着信時に、即時に不在通知メールが送信されません。 • 次回のエージェントスケジュール実行時に送信されます。 不在期間が終了したら、ユーザーが手動で無効化する必要があります。 不在通知機能が多数のデータベースで有効になっていると、Agent Manager の負荷が高くなります。 -7All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知サービス 不在通知サービス Lotus Notes/Domino 8 よりサポート サーバー設定文書 [ルーター/SMTP] - [詳細] - [制御] タブの、「不在通知の実行」を “ サービス” に設定することで、サーバーで有効になります。(デフォルトは、エージェント) 各メールデータベースで不在通知サービスモードを有効にするには、メールデータベースの設計 も Lotus Notes/Domino 8 以降の設計にアップグレードする必要があります。 サーバーが不在通知サービスモードで動作していても、Lotus Notes/Domino 7 のメールデー タベースなど不在通知サービスをサポートしていないメールデータベースでは、エージェントモード で動作します。 不在通知サービスの処理は、メールルータータスクで実行されます。 有効/無効の切り替えは、メールデータベースのメニューから、不在通知フォームにて、切り替え ることができます。(不在通知エージェントと同じ) 有効にした場合の設定内容は、“OutOfOfficeProfile” プロファイル文書に保存されます。 (不在通知エージェントと同じ) 不在通知を有効にした場合、メールデータベース内の OutOfOffice エージェントは無効のまま になります。 -8All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知サービス 不在通知サービス (続き) 有効になっていることを確認するには、 サーバーコンソールにて、“tell router o” コマンドを実 行し、該当データベースで不在通知サービスが有効になっているかを確認します。 出力例: データベース: mail/mnakajim.nsf 、mail/akatayam.nsf で不在通知サービスが有効になっ ている場合 > tell router o 2011/08/02 15:33:29 不在通知サービスは次のデータベースで有効になっています: 2011/08/02 15:33:29 メールファイル: Masako Nakajima (mail/mnakajim.nsf) 2011/08/02 15:33:29 メールファイル: Asuka Katayama (mail/akatayam.nsf) 2011/08/02 15:33:29 稼働中の不在通知サービスの検索が終了しました。 -9All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知サービス 不在通知サービスの サービスの良い点、悪い点 ◎(良い点) メール着信時に、即時に不在通知メールが送信されます。 不在期間が終了すると自動的に無効化されます。 不在通知エージェントの様に、不在期間が終了後に処理が実行されることがありません。 不在通知が有効/無効の判別は、新規に用意されたデータベースオプションの値で判断されている ため、有効時であっても高速にチェックが可能になります。 ×(悪い点) バージョンアップ期間など、エージェントからサービスへの切り替え時には、両方のモードが混在して 動作している場合があり、トラブル時にどちらのモードで動いているかを確認する必要があるため管 理が煩雑になります。 - 10 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知エージェント 不在通知エージェント/サービス混在時 サービス混在時の 混在時の注意事項 Lotus Domino® 8.5.x では、メールデータベース毎に不在通知エージェントモードか不在通知 サービスモードであるかが決まります。 ⇒両方のモードがサーバー上で共存します。 バージョンアップ時など、サーバーで不在通知サービスを有効にした直後は、各データベースで 不在通知が一旦有効になるまでは、そのデータベースは不在通知エージェントモードになって います。 メールデータベースの以前の不在通知がエージェントで動作していても、サーバー設定がサービ スモードの状態で不在通知を有効にすると自動的に不在通知サービスモードに切り替わって 実行されます。(8.0 以降のメール設計が必要) 不在通知サービスが一旦有効になったメールデータベースでは、サーバー設定がエージェントモ ードに変更されたとしても、不在通知はサービスモードで実行されます。 不在通知エージェントが一旦有効になったデータベースでは、サーバー設定がサービスモードに 変更されたとしても、不在通知はエージェントモードで実行されます。 - 11 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知の 不在通知のトラブル事例 トラブル事例 事例➀ メールデータベースは不在通知サービスモードに切り替わっているが、不在通知エー ジェントが有効になっていた。 事例➁ 不在通知エージェントモードで、不在通知設定フォームでは Off になっているのに、 不在通知エージェントが有効になっていた。 ⇒ 不在通知での問題は、不在通知エージェントの有効/無効が正しく設定され ていない場合がほとんど。しかし、問題が発生すると、ユーザーが問題を解決する のは困難です。 ⇒ エージェントの無効化には、データベースの設計者権限と、Lotus Domino Designer が必要であるためです。 - 12 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知の その1 1) 不在通知のトラブル解消事例 トラブル解消事例(修正サンプルコード 修正サンプルコード その 管理者が以下のようなエージェントを各メールデータベースに対して実行することによって、不在 通知エージェントが不正に有効になってしまった状態を一括修正することができます。 Const TASK_TYPE_AGENT = &h00000001& Const TASK_TYPE_SERVICE = &h00000002& Const CURRENT_STATUS_DISABLE = "0" Const CURRENT_STATUS_ENABLE = "1“ Function FixOOOState (tdb As NotesDatabase, strServer As String, strMailfileName As String) As Boolean Dim tdbTemplateName As String Dim m_OOOProfile As NotesDocument Dim nagent As NotesAgent Dim nagentEnable As Boolean Dim strnagentEnable As String Dim CurrentStatus As String Dim strCurrentStatus As String Dim TaskType As String Dim strTaskType As String Dim FirstDayBack As String Dim EndTime As String On Error Resume Next FixOOOState = False strCurrentStatus = "OFF" strTaskType = "Agent" FirstDayBack = "" EndTime = "" strnagentEnable = "" If Not tdb.IsOpen Then Call tdb.Open("","") If Not tdb.IsOpen Then Exit Function End If End If - 13 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知の その2 2) 不在通知のトラブル解消事例 トラブル解消事例(修正サンプルコード 修正サンプルコード その tdbTemplateName = tdb.DesignTemplateName Set m_OOOProfile = tdb.GetProfileDocument("OutofOfficeProfile") '### Current Status If Not (m_OOOProfile.GetFirstItem("CurrentStatus") Is Nothing) Then CurrentStatus = m_OOOProfile.GetItemValue("CurrentStatus")(0) If CurrentStatus = CURRENT_STATUS_ENABLE Then strCurrentStatus = "ON" Else strCurrentStatus = "OFF" End If End If '### Task Type If Not (m_OOOProfile.GetFirstItem("TaskType") Is Nothing) Then TaskType = m_OOOProfile.GetItemValue("TaskType")(0) If TaskType = TASK_TYPE_SERVICE Then strTaskType = "Service" Else If TaskType = TASK_TYPE_AGENT Then strTaskType = "Agent" Else strTaskType = "None" End If End If End If - 14 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知の その3 3) 不在通知のトラブル解消事例 トラブル解消事例(修正サンプルコード 修正サンプルコード その '### Returning Date If Not (m_OOOProfile.GetFirstItem("FirstDayBack") Is Nothing) Then FirstDayBack = m_OOOProfile.GetItemValue("FirstDayBack")(0) End If '### Returning Time If Not (m_OOOProfile.GetFirstItem("EndTime") Is Nothing) Then EndTime = m_OOOProfile.GetItemValue("EndTime")(0) End If '### OOO Agent Status Set nagent = tdb.GetAgent("OutOfOffice") If Not (nagent Is Nothing) Then nagentEnable = nagent.IsEnabled If nagentEnable = True Then strnagentEnable = "Enabled" Else strnagentEnable = "Disabled" End If End If - 15 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 不在通知の その4 4) 不在通知のトラブル解消事例 トラブル解消事例(修正サンプルコード 修正サンプルコード その '### Check OOO Status & Change Agent state If InStr(tdbTemplateName, "85") > 0 Then ' Template is 8.5. If strTaskType = "Service" Then ' Service with agent on If strnagentEnable = "Enabled" Then nagent.IsEnabled = False Call nagent.Save End If Else If strTaskType = "Agent" Then ' Agent with expired. If strnagentEnable = "Enabled" And strCurrentStatus = "OFF" Then If FirstDayBack <> "" Then Dim d1 As Long Dim d2 As Long d1 = CLng(Format(FirstDayBack, "yyyymmdd")) d2 = CLng(Format(Today, "yyyymmdd")) If (d1 - d2) < 0 Then ' FirstDayBack が前日以前 nagent.IsEnabled = False Call nagent.Save End If End If End If End If End If End If FixOOOState = True End Function - 16 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service まとめ Lotus Notes/Domino 8 からサポートされた、不在通知サービス機能は、今までのエージェントに 比べて、機能的な利点があり、サーバーの負荷も軽くなっており、サーバーアップグレード時に導 入することをお勧めいたします。 しかしながら、アップグレードに際しては、数多くのメールデータベースの設定を変更することになる ので、トラブルが発生する可能性が高くなっております。 当資料が、トラブル発生時の対応の参考になれば幸いです。 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず