Takenoff Labs

Lotus Notes/Domino に関する Tips や、クラシックの名曲などを紹介します

[Notes/Domino] 設計非表示のDBの設計を見る方法

「式と Lotus Script を非表示」にチェックを入れて設計置換したDBは、設計を見ることができなくなります。特に、Lotus Script の場合は、ソースコードを物理的に削除してコンパイル済みのバイトコードだけを残しているため、そのDBからソースコードを見ることは不可能になります。

しかしながら、ソースコード以外の部分、たとえばスケジュールエージェントの署名の状態を見たいとか、「更新なし」にチェックが入っている設計がどれか調べたいとか、設計の状態を調べたい場合は多々あると思います。

設計非表示のDBの設計を見る方法としては、ローカルにDBをコピーしておいて、バイナリエディタで特定のバイトコードを変更する方法がよく知られています。が、ソフトのインストールが厳しく制限されている会社が多い昨今、バイナリエディタをインストールできない場合もあるかと思います。

そんなときに役立つのが、Lotus Script で設計非表示を簡単に解除するワザ。IBMのフォーラムにコードが載っていましたので、そちらを紹介いたします。

RE: Adding views to a hidden design魚拓

対象の DB の NotesDatabase オブジェクトを取得するところは自分で書く必要がありますが、それさえ取得してしまえば、あとは「Call HideDesign(db, False)」とするだけです。とっても簡単なのでおすすめです。

※ HideDesign の2番目の引数を True にした場合、再び設計非表示になるわけではないようです(R6.0.4で検証)。設計非表示に戻す場合は、隠し関数の NSFHideDesign を使用する方法がうまくいくようです。ただし、この関数はドキュメントに記載されておらず、サポートされていませんので、おとなしく再度設計置換するのが無難かもしれません。

※ このエントリは、紹介したコードの動作保証をするものではありません。各自、自己責任にて使用してください。

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4.50 out of 5)
読み込み中...

トラックバック

トラックバックはありません

コメント

コメントはありません

※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。





(以下のタグが使えます)
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

For spam filtering purposes, please copy the number 9369 to the field below:

^
×