[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 を使用する方法がうまくいくようです。ただし、この関数はドキュメントに記載されておらず、サポートされていませんので、おとなしく再度設計置換するのが無難かもしれません。
※ このエントリは、紹介したコードの動作保証をするものではありません。各自、自己責任にて使用してください。
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。