アプリケーションの設計
仮想コレクションWebDAV 経由で Lotus Domino データベースに設計要素を挿入すると、Lotus Domino によりコレクション要素が作成され、挿入したファイルの包含階層のコレクションすべてが表されます。これらのコレクション要素にはコレクションのプロパティが含まれていて、現在または今後空になる (設計要素が含まれていない) 可能性のあるコレクションが表されます。ただし、表現するコレクション要素がなくてもコレクション自体は存在できます。これは、Designer クライアントを使って設計要素を作成したり、設計要素の名前を変更したりした場合に起こります。この場合のコレクションは、仮想コレクションといいます。仮想コレクションは、設計要素のパス名にコレクションの名前が指定されている場合に存在しますが、そのコレクションのコレクション要素は存在しません。たとえば、データベースの設計コレクションに images/logo.gif という名前のイメージリソースが含まれていて、「images」という名前のコレクション要素が含まれていない場合、そのイメージは仮想コレクションになります。 仮想コレクションの動作は、次の例外を除いて実際のコレクションと同様です。
データベースを WebDAV クライアントにマッピングすると、WebDAV クライアントのインターフェースを使用してデータベースを参照し、データベース内の設計要素を選択して開くことができます。
URL を使って Web ブラウザからデータベース内のリソースの内容を表示するには、リソースの名前 (関連付けられている [$TITLE] フィールドの値) をフォルダ名に追加します。例を次に示します。
http://servername/sales.nsf$files/images/logo.gif
メモ Microsoft Internet Explorer を使って Lotus Domino Server のデータディレクトリにあるサブディレクトリの WebDAV データベースにアクセスすることはできません。代わりに Windows エクスプローラを使用します。
WebDAV クライアントを使って Lotus Domino データベースへの接続を確立すると、リソースを開いて編集し、保存してデータベースへ戻すことができます。また、サードパーティー製のエディタを使って作成した設計要素をデータベースに追加することもできます。
注意 WebDAV クライアントでは、読み込み専用などのオペレーティングシステムの属性は維持されません。たとえば、HTML ページを作成し、Windows で「読み取り専用」というフラグを付けても、そのページをデータベースに追加して Lotus Domino Designer で表示すると「読み取り専用」フラグは表示されません。
命名の競合を避ける、または命名の競合の問題を解決するWebDAV では、各リソースに対して一意の名前が必要です。Lotus Domino データベースには [$TITLE] フィールドに同じ値を持つ設計要素が複数存在する場合があるため、命名の競合が起こる可能性があります。たとえば、2 人の作成者が同じデータベースの別々の複製で作業していて、両者が同じ名前の設計要素を新規作成した場合には、命名の競合が発生します。データベースが複製されると、各レプリカに同じ [$TITLE] フィールドの値を持つ設計要素が 2 つ含まれます。 メモ Lotus Domino では、文書 (note) の名前ではなく noteID に基づいてロックされるため、設計ロックを有効にしても命名の競合を防ぐことはできません。
Lotus Domino Designer では、[Name(NoteID).ext] フォームを使って競合要素の名前を設計要素の NoteID で動的に修飾することで、命名の競合を処理します。サーバーでは、命名の競合する各要素を一意に識別するためにこのフォームを使用しますが、データベース内の要素名が実際に変更されることはありません。WebDAV クライアントを使ってこの命名規則を確認したら、競合を解決して問題を回避してください。Windows エクスプローラまたはその他の WebDAV クライアントを使うと、競合する 1 つ以上のリソース名を変更できます。このような方法で命名の競合が解決されると、影響を受けている他のリソース名が [$TITLE] の未修飾の名前に戻ります。WebDAV クライアントの表示を更新して変更を確認する必要があります。また、Designer クライアントでも設計要素の名前を変更できます。
命名の競合がコレクション要素で発生した場合は、コレクション要素名が上で説明したように修飾されます。ただし、コレクションに設計要素が含まれている場合は、コレクションの内容を維持するために未修飾の仮想コレクションが使用されます。その結果、WebDAV クライアントで表示すると、設計要素を含まない、修飾名を持つコレクションと、コレクションの設計要素をすべて含む未修飾のコレクションが両方表示されます。修飾名を持つコレクションは、移動またはコピーの操作対象にはなりません。また、修飾名を持つコレクション内に要素を作成することはできません。つまり、コレクション常に空となります。ただし、命名の競合の問題を解決する目的で、修飾名を持つコレクションの名前を変更したり、コレクションを削除したりすることは可能です。修飾名を持つコレクションを削除すると、命名の競合に関係するコレクション要素のみが削除されます。未修飾名を持つ仮想コレクションに含まれている要素は一切削除されません。
メモ この問題は、修飾名の形式 (Name(NoteID).ext、NoteID は 8 桁の 16 進数による ASCII 表示) に一致する名前は設計要素名では避けるべきであることを意味します。Lotus Domino Server では、修飾名と混同する可能性のある名前を持つ設計要素を WebDAV クライアントで作成したり、そうした名前を設計要素名に使用したりすることはできませんが、Lotus Domino Designer クライアントの場合は可能です。
関連項目