[Notes/Domino] エージェントビューア
ノーツ開発をやっていると、諸般の事情により、設計非表示機能(「式と LotusScript を非表示」オプションを有効にして設計置換)を使うことがたまにあるのですが、設計非表示DBでスケジュールエージェントを使うと、エージェントの情報を見るだけでもいちいちテンプレートを見なければならないですし、有効/無効を切り替えるときも、テンプレートで修正→設計置換という面倒な手順を踏まなければなりません。
これに業を煮やして、ソフト作ってみました。カッとなってやりました。後悔はしていません。
設計非表示の件の他に、便利機能も少しあります。それなりに便利かと思いますので、使いたい人は使ってみてください。
概要
本ソフトを起動すると、以下のような画面になります。
特長は以下のとおりです。
- エージェントの詳細な情報(スケジューリング情報など)は、デザイナーでエージェントを編集モードにしないと表示されませんが、このソフトを使うと、DBを開いてソフトを起動するだけで、DB内のすべてのエージェントの詳細情報を一覧表示できます。
- スケジュールエージェントの場合、有効化/無効化することができます。
- 置換禁止の設定を、有効化/無効化することができます。
- エージェントログを確認することができます。
- エージェントをサーバー上で実行(RunOnServer)させることができます。(もちろん、ローカルでの実行も可。)
- 上記の機能すべて、設計非表示のDBでも実行することができます。
動作環境
本ソフトは R6.0x 以上のノーツクライアント(Windowsのみ)で動作します。
R5以下は動作対象外です。
また、本ソフトはHTAを使用していますので、IE6 以上がインストールされていて、HTAが動作する環境であることも必要です。
ウイルスソフトや会社の環境によっては、動かない場合もあるかもしれませんので、あしからず。
ライセンス
当ソフトはフリーソフトです。
ご自分で使用する分には、ソースを変更してもかまいません。
ただし著作権は takenoff が保有しておりますので、名前を騙って再配布するような行為はやめてください。
既知の問題・注意事項
- 本ソフトを起動すると、OSの一時フォルダに、「~tmpagt.ndk」というファイルを作成します。これは設計非表示DBに対処するためのファイルであり、エージェントのコピーが一時的に保存されます。ソフトを終了すると、このファイルは自動的に削除されます。
- 「文書を複製またはコピー」の権限が無い場合、本ソフトを実行することはできません。
- 表のヘッダを行列ともに固定化するため、禁断の CSS expression を使っています。expression を使うべきでない理由は重々承知していますが、これが最も簡単な実装であること(SuperTables とか使うと、外部ファイルが必要になってしまう)、hta という特殊な環境のため、IE 限定であることが保証されていること、とりあえず IE9 でも動いていること、から、この方法を採用しています。
免責事項
当ソフトを使用したことによって発生した損害については、作者は一切賠償責任を負わないものとさせていただきます。
インストール方法
1. 以下のリンクから Zipファイルをダウンロードします。
agtvw.zip をダウンロード (約9KB)
2. Zipファイルをノーツデータディレクトリに解凍します。
(Zip ファイルを落とすことに抵抗がある方は、http://takenoff.com/files/software/agtvw.html にアクセスし、表示されたソースコードをコピーして、テキストエディタにペーストし、「.hta」の拡張子で保存してください。)
※ ↓以下はR8クライアント(スタンダード版)の説明です。それ以外のバージョンでは、バージョンに合わせて読み替えてください。
また、ツールバーのボタン作成は必須ではありません。agtvw.hta をそのまま実行することでもソフトを起動できます。(ただ、ボタンを作ったほうが便利なのでおすすめです。)
3. ノーツクライアントを起動し、[ファイル]メニュー → [プリファレンス] を実行します。
4. (ツールバーを作っていない場合のみ)設定ダイアログで、[ツールバー] → [ツールバー] を選択し、「新規ツールバー」ボタンをクリックします。ツールバーの名前は、「Tool」とでもしてください。
5. 設定ダイアログで、[ツールバー] → [カスタマイズ] を選択し、4で作成したツールバーを選択して、[新規] → [ボタン] を実行します。
6. 「ツールバーボタンの編集」ダイアログが表示されますので、ボタン名と式を入力します。
式は、以下のように入力してください。
@Command([Execute]; "mshta"; "file:///{ノーツデータディレクトリのパス}/agtvw.hta")
(設定例)ノーツデータディレクトリが C:\Program Files (x86)\IBM\Lotus\Notes\Data の場合、以下のようになります(パスにスペースを含む場合は、%20とします)。
@Command([Execute]; "mshta"; file:///C:/Program%20Files%20(x86)/IBM/Lotus/Notes/Data/agtvw.hta)
7. ダイアログをすべて [OK] で閉じれば、インストール完了です。
アンインストール方法
ノーツデータディレクトリの agtvw.hta と、インストール時に作成したツールバーのボタンを削除すればOKです。
使用方法
起動するだけで、DB内にあるすべてのエージェントの詳細情報を一覧表示します。
それ以外の機能は以下のとおりです。
スケジュール、置換禁止の有効化/無効化
- 「有効」の列には、スケジュールエージェントの場合のみチェックボックスが表示されます。
チェックを On/Off すると、スケジュールを有効化/無効化できます。 - 「置禁」の列は、設計置換禁止かどうかを表します。
チェックを On/Off すると、置換禁止を有効化/無効化できます。
エージェントログの表示
「最終実行日時」列にリンクがある場合、そのリンクをクリックすると、エージェントログが表示されます。
↓
エージェントの実行
一番右までスクロールすると、実行用のボタンが表示されます。
- RunOnLocal …… エージェントをローカルで実行します。NotesAgent.Run と同じです。
ステータスは表示されず、バックグラウンド動作となりますので注意してください。 - RunOnServer …… エージェントをサーバーで実行します。NotesAgent.RunOnServer と同じです。
変更履歴
Ver. | 変更日 | 変更内容 |
---|---|---|
1.00 | 2012/09/30 | 初版作成 |
コメント
こんにちは
直接起動させたところ、
49
1
ActiveXコンポーネントはオブジェクトを作成できません。
Notes.NotesUIWorkSpace
0
となります。
また、これはローカルのDBのみ調査するのでしょうか?
Posted at 2012/11/29 8:45 AM by iwachi
iwachiさん、コメントありがとうございます! 😀
このツールはサーバーのDBも調査できますよ。
エラーから判断するに、ノーツクライアントインストール時に通常
セットされるはずのレジストリキーが無い(or不正なパスが設定
されている)、あるいは、プログラムファイルが無い(App-Vを
使っている)、といったことが考えられます。
必要なレジストリキーは、HKEY_CLASSES_ROOT 直下の
Notes.NotesSession
Notes.NotesUIWorkspace
および、HKEY_CLASSES_ROOT\CLSID (Windows XPの場合) 配下の
{29131401-2EED-1069-BF5D-00DD011186B7}
{29131502-2EED-1069-BF5D-00DD011186B7}
です。
これらが無いか、配下のキー値に不正なパスが設定されていると、
オブジェクトが作れずエラーになります。
場合によっては、ノーツクライアントの再インストールが必要
になるかもしれません。
あとはApp-Vの場合ですが、これはサーバーからプログラムを配信し、
ローカルPCにはキャッシュだけ持つ、という仕組みになります。
もしこれを使っている環境ですと、そもそもローカルPCに
プログラムファイルの実体が無い状態ですので、外部アプリから
ノーツの機能を使うことはできません。
残念ながらこの場合はどうすることもできませんので、
あきらめてください…… 😥
Posted at 2012/11/30 12:43 AM by takenoff
ご返答ありがとうございます。
Notes.NotesSession
Notes.NotesUIWorkspace
{29131401-2EED-1069-BF5D-00DD011186B7}
{29131502-2EED-1069-BF5D-00DD011186B7}
上記全てありませんでした。
APP-Vは使用しておりません、WindowsXP+Notes8.5.2+FP1で普通にクライアントインストールしたと思いますが、何かインストール時に指定が必要なのでしょうか?
Posted at 2012/12/03 9:18 AM by iwachi
> 何かインストール時に指定が必要なのでしょうか?
インストール時に特別な指定は必要ありません。
このレジストリキーの値は、標準でセットされるはずです。
R6.0.xの初期バージョンでは、インストーラの不具合でキーがセット
されないという問題がありましたが、R8.5.2では聞いたことはないです。
Fix List にもそれらしい問題は載っていませんでした。
御社の環境やインストールの経緯がわからないので、なんともいえない
ところですが、普通であればセットされるはずのレジストリキーが無い
以上、御社の環境に何らかの問題があるものと思われます。
(同じ仕組を使っている一括置換ツールも、各社で動いているようですし。)
可能性だけ挙げますと、
・インストールが何らかの理由で失敗している
・インストーラにバグがある(ちょっと可能性は低そうですが……)
・InstallShield Tuner for Lotus Notes などでインストーラをカスタマイズしている(サイレントインストールの場合、これが疑われます)
・セキュリティ上の理由でシステム管理者が明示的にキーを消している
といったことが考えられます。
もし会社で検証機などがある場合は、素の環境にノーツをインストール
して試してみてください。
検証機が無い場合は、ご自宅のPCなどでお試しいただいてもよろしい
かと思います。
インストーラは以下から無料でダウンロードできます。
http://www.ibm.com/developerworks/downloads/ls/dominodesigner/index.html?S_TACT=105AGX13&S_CMP=HIVIS&ca=dti-hivisdominodesigner&ca=dth-l
Posted at 2012/12/04 12:04 AM by takenoff
エージェントビュアーを使わせてもらいました。
こんな事もできるんですねぇ…。
今後とも、色々と勉強させて戴きます。
先ずは、お礼まで。
Posted at 2013/08/24 7:07 PM by 山内
山内さん、コメントありがとうございます! 😀
本ソフト、公開はしたものの反響がほとんどなかったので、
無駄だったのかなーと悲しんでいました。
コメントをいただいて、本当にうれしいです。
お一人でも使っていただければ、作者冥利につきます。
未公開のソフトはまだいくつかありますので、近いうちに公開
できるようにがんばります! 😀
Posted at 2013/08/24 7:44 PM by takenoff
こちらで公開されている各種HTAツールを活用させていただいています。
今回、同じ手法でサーバー内すべてのスケジュールエージェントについて設定と実行結果をリストするプログラムを作ったのですが、エージェントのログで表示される「実際の開始日時」は取得できないのでしょうか?終了日時はagent.LastRunで取得しているようですが開始日時がわかりません。
何件か同じ時刻で開始する設定になっているエージェントがあって、実際に処理にかかった時間を計算するのに、実際にスタートした時間がほしいのです。
エージェントログには出ているのでどこかに持っているとは思うのですが。
古い記事へのコメントですがお返事いただければ幸いです。
Posted at 2014/07/15 3:00 PM by iwachi
iwachiさん、コメントありがとうございます! 😀
エージェントの実際の開始日時については、もしかしたら情報を
持っていないかもしれません。
無いことを断定するのは難しいですけど、少なくともエージェント内の
アイテムを見る限りでは、そのようなものは無さそうでした。
(LastRun は $AssistLastRun というのがあるのですが……。)
また、DXLに出力しても、該当する値は見当たりませんでした。
エージェントから取るとしたら、エージェントログの最初の1行目の
文字列を、どうにかこうにか分解して取ってくる、という方法くらい
しか思いつきません……。
お役に立てず、申し訳ありません(_ _;
Posted at 2014/07/15 11:34 PM by takenoff
お返事ありがとうございます。
私もわからないなりに探してみたのですが、やっぱりわからなかったので聞いてみました。
エージェント ××× の 20XX/XX/XX XX:XX:XX での実行が開始しました。
X 文書が検索条件に一致しました。
LotusScript を実行しました
エージェント ××× の実行が終了しました。(20YY/YY/YY YY:YY:YY)
このメッセージって取れるんでしょうか???
Posted at 2014/07/17 12:00 PM by iwachi
ログの内容は比較的簡単に取れますよ。
エージェントビューアでも、実行日時のリンクから表示できますので、
そのソースを参考にしてみてください。
それでわからなければ、また訊いてください。
Posted at 2014/07/18 12:02 AM by takenoff
おかげさまで実際の実行時間が取れました。
ありがとうございます。
Posted at 2014/07/19 5:45 PM by iwachi
ご共有いただき、どうもありがとうございました。すごいツールですね。
私はこのツールをInstallしました、このツールは運行できますが、起動時間が非常に長いです。
例えば、私のLocalのNotesDBに15Agentがあります、このToolでDBからAgentの情報を取得すれば、10分ぐらい時間がかかります。改善ために、こちらは何のセットアップが必要でしょうか?
すみませんが、ご教示いただけませんか?
古い記事へのコメントですがお返事いただければ幸いです。
Posted at 2019/08/27 1:01 PM by Jimmy
Jimmyさん、コメントありがとうございます!
起動に時間がかかるとのことですが、私のPC(Windows10、NotesR9.0.1)では、
個人アドレス帳(エージェント15個)に対し、1秒程度で起動しています。
空のDBでも遅いでしょうか?
空DBでも遅い場合はPC環境、速い場合はDBに問題がありそうです。
また、以下にデバッグ用のメッセージを入れたものを用意しましたので、
どのメッセージの間で遅くなるか、教えていただいてもよろしいでしょうか。
http://takenoff.com/files/software/agtvw_debug.zip
Posted at 2019/08/27 11:48 PM by takenoff
ご返事いただき、どうもありがとうございました。
私のOperationが不正です。私はWorkspaceからDBを選んで、でも、DBをOpenしていません、この場合、ツールを使用して、起動に時間がかかりました。
私はLocalのDBをOpenして、ツールを起動して、速くになります。
ご確認いただき、どうもありがとうございました。
Posted at 2019/08/28 10:53 AM by Jimmy
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。