アプリケーションの設計


フォームと文書
フォームを使って情報を入力し保存すると、その情報は文書として保存されます。ユーザーが文書を開くと、フォームはテンプレートとして使用され、データを表示する構造が決定されます。そのためフォームを設計するときは、それを使用する文書がどこでどのように表示されるかを考慮する必要があります。

フォームは、フォームが作成されたデータベースに保存され、関連するすべての文書の表示に使用されます。しかし、文書の作成に使用されたフォームがないデータベースに文書を送信する場合もあります。この場合、文書作成に使用したフォームを各文書に保存するように指定できます。各文書にフォームを保存すると、メモリの消費量が増えます。

ユーザーが文書を開くときに、Domino では次のルールを使用してどのフォームで文書を表示するかが判定されます。
条件文書の表示に使用されるフォーム
文書の作成に使用されたフォームが利用でき、文書にはフォームも、フォーム式も保存されていない場合文書の作成に使用されたフォームです。オリジナルのフォーム名は文書の [Form] という非表示フィールドに保存されます。[文書のプロパティ] インフォボックスの [フィールド] タブで、このフィールドの値が確認できます。
文書にフォームが保存されている場合文書に保存されているフォームです。フォームが文書に保存されている場合、フォーム名は [$Title] という内部フィールドに保存されます。
ビューにフォーム式がある場合ビューのフォーム式でフォームが決定されます。
文書の作成に使用したフォームがデータベースで利用できない場合データベースのデフォルトのフォームです。各データベースにはデフォルトのフォームが 1 つだけあります。[フォーム] リストではこれに矢印を付けて表示します。
各文書にフォームを保存する
各文書にフォームを保存すると、フォームがデータベースにない、名前が変更されている、または削除されているなどの場合でも、文書を正しく表示できます。ただし、この機能はシステムのメモリの使用量を増加させ、通常の約 20 倍のディスクスペースを必要とすることもあります。また、フォームの設計を変更すると、文書に保存したフォームのコピーすべてを更新するには簡単な方法はありません。一般に、以下の条件に該当する場合にだけフォームを文書に保存します。


メモ 文書の転送機能を使用しても、フォームやそのフィールド定義までは転送できないので注意してください。フォームやフィールド定義の転送が必要な場合は、[フォームのプロパティ] インフォボックスの [フォーム情報] タブで [フォームを文書に保存] のチェックボックスをオンにします。

各文書にフォームを保存する
1 フォームを開きます。

2 [設計] - [フォームのプロパティ] を選択します。

3 [フォーム情報] タブをクリックします。

4 [フォームを文書に保存] を選択して、[フォームのプロパティ] インフォボックスを閉じます。

5 [データベースのプロパティ] インフォボックスを開きます。[データベースの基本] タブで、[データベース内の格納フォームを使用] のチェックボックスをオンにして [データベースのプロパティ] インフォボックスを閉じます。

保存フォームを変更する
文書にフォームを保存するときに、フォーム名を [$Title] という非表示フィールドに保存します。詳細情報は [$Info]、[$WindowTitle]、[$Body] というフィールドに保存されます。異なるフォームを使って文書を表示するには、この格納されたフォーム情報を削除し、文書を表示するための別のフォームを指定するエージェントを作成します。

保存フォームのある共有フィールドと文書
フォームに共有フィールドがある場合、このフィールドは、文書に保存されるフォームのコピー内の単独使用フィールドに変換されます。これで共有フィールド定義がないデータベースに文書のコピーを保存した場合でも、確実にこのフィールドを使用できます。オリジナルのフォームでは、このフィールドの共有という定義は変わりません。

フォームの式
デフォルトのフォーム選択を変更するときは、特定のビューにフォーム式を書き込みます。たとえば、文書の編集時にすべてのフィールドを表示するフォームや、文書の読み込み時にフィールドの順序を変更したり省略するフォームを使うフォーム式を記述できます。フォーム式は指定のビューにだけ適用されるため、別のビューで作成した文書にはフォーム式を使用しません。

データベースにデフォルトのフォームを指定する
1 [フォームのプロパティ] インフォボックスを開きます。

2 [フォーム情報] タブをクリックします。

3 [デフォルトのデータベースフォーム] を選択します。

フォーム保存の代替方法
文書にフォームを保存する代わりに、LotusScript の Send メソッドを使用して、文書とともにメール送信できるフォームを設計できます。これにより、データベースで確実に正しいフォームの文書が表示できますが、各文書にフォームを格納する必要はありません。

関連項目