Delta で処理中に Notes クライアントがクラッシュします

Teamstudio Notes Tools の製品は、Notes API を介してアプリケーション設計にアクセスし、解析を行います。

Notes API による設計のアクセスは、通常私たちが Domino Designer を使って設計にアクセスするものよりも非常にセンシティブです。Domino Designer で開いても、Notes クライアントでビューや文書を開いても問題ない場合でも、設計内部のソースコードの対となるオブジェクトコードに破損(一般的に設計の破損という)がある場合には、Notes クライアントのクラッシュを引き起こす原因となります。

この設計の破損は、特に Lotus Notes R5 までに作成されたアプリケーションデータベースによく見られます。例え、現在 Notes 9 をお使いいただいていたとしても、そのデータベースが R5 のときに作成されたものであれば設計の破損がある確立は非常に高いと言われています。

50個のデータベースには正常に処理するのに、このデータベースだけは必ずクラッシュするという場合には、そのデータベースの設計内のどこかに破損があることを疑った方が良いでしょう。

設計の破損を前もって知る決定的な方法は残念ながらありません。これまで、技術サポートで対応してきた中での傾向として以下の処置を試してみることをお勧めします:

  1. ローカルにデータベースを新規にコピーして、そのコピーしたデータベース設計に対してツールを使用する(コピーすることで破損が修復される場合が、確率は低いですが可能性としてはあります)
  2. ツールを起動している最中にクラッシュした場合、問題のある特定の設計要素を分析結果データベース(Analyzerの場合)の分析で途中で終わっている箇所や、画面上のプログレスバー(Analyzer、Configuratorなど)に表示される状況で、まさにクラッシュする直前に解析していた設計におおよその見当を付け、その周辺の設計を Domino Designer でダミー保存してみる。ダミーの保存(開いてただ保存するだけではなく、コードにスペースを入れて削除するなど実際の変更が必要です)の過程で、先ほど説明した設計の破損であるオブジェクトコードがソースを元に再度作り直しされ、正常にツールが処理できるようになります。
  3. 2. において、設計を特定するのが難しい場合は、1. で作成したローカルコピーにフォームだけとか、ビューだけとか、スクリプトライブラリーだけを残して後はすべて削除し、ツールを実行してみます。そのようにしてエラー発生箇所の原因となる設計の範囲を狭めていきながら、問題のある設計にたどり着くようにします。辿りついたら、ダミー保存をしてツールを起動します。

上記の過程を経て問題となる設計が判別し、ダミー保存してもまだ Notes がクラッシュする場合は、その設計を弊社までお送りください。

Teamstudio までノーツデータベースをお送りいただく際にご注意いただきたいこと