URL コマンドは、特定の URL と、文書やビューなどのアイテムを操作するコマンドとを結びつけます。Domino URL コマンドをフォームに HTML として追加することで、ユーザーにデータベース間の移動や他のタスクを迅速に実行するためのショートカットを提供できます。
注: Domino URL コマンドは Notes URL コマンドと同じではありません。Domino URL コマンドでは Web ブラウザのインターフェースを使用してアプリケーションにアクセスしてナビゲートしますが、Notes URL コマンドでは URL 構造体を使用して Notes クライアント内でアプリケーションにアクセスしてナビゲートします。
Domino URL コマンドの構文
Domino URL コマンドの構文は次のとおりです。
http://Host/DominoObject?Action&Arguments
それぞれの意味は次のとおりです。
- Host -- DNS エントリまたは IP アドレスです。
- DominoObject = Domino の構成要素
(データベース、ビュー、文書、フォーム、ナビゲータ、エージェントなど)。DominoObject にアクセスするための URL コマンドの構文は以下のとおりです。 http://Host/Database/DominoObject?Action&Arguments (Database =
DominoObject が常駐するデータベース)
- Action -- 指定された DominoObject で実行する操作を指定します。例えば、?OpenDatabase、?OpenView、?OpenDocument、?EditDocument、?OpenForm などです。
- Arguments -- アクションの引数を指定します。例えば ?OpenView アクションで Count = 10 を指定すると、ビューに表示される行数が 10 行に制限されます。
構文のガイドライン
- Domino URL はサーバー名を使用しません。ホスト名 (Host) でサーバーを識別します。
- [インターネットプロトコル] - [HTTP] タブにリストされるフィールドで、サーバーレコードでの URL コマンドの最大サイズおよび他の制限を指定することができます。
- Domino の URL コマンドで使用される特殊識別子には、$defaultView、$defaultForm、$searchForm、$file、$icon、$help、$about、$first などがあります。
- DominoObject は、データベースの場合はデータベース名またはレプリカ ID にすることができ、他のオブジェクトの場合は DominoObject の名前、ユニバーサル ID、または特殊識別子にすることができます。例えば、URL でビューを指定する場合は、ビュー名、ビューのユニバーサル ID、または $defaultView のいずれかを使用できます。
- leads.nsf などのファイル名を指定するか、レプリカ ID の前にアンダースコアを 2 つ付けて末尾に .nsf を付けることによって、Notes データベースを指定します。例えば、__852562F3007ABFD6.nsf のように指定します。
- DominoObject の名前と Universal ID は、データベースのすべてのレプリカにおいて同一です。1 つの名前または別名を使用して、2 つのオブジェクトを参照できます。例えば、同じ名前の 2 つのフォームを作成し、1 つを Notes ユーザーに対して、もう 1 つを Web ユーザーに対して、それぞれ非表示にできます。
- Action は、明示的でも暗黙的でも構いません。明示的アクションの例には、?OpenDatabase、?OpenView、?OpenDocument、?OpenForm、?EditDocument などがあります。暗黙的アクションの例: ?Open、?Edit、?Delete。アクションを指定しない場合、Domino は ?Open アクションをデフォルトとします。
- ユーザー認証を要求するには、Domino URL に Login 引数を付加します。
- URL にはスペースを挿入できないため、+ (プラス記号) または 16 進値 %20 を使用してスペースを表わします。以下に例を示します。
http://www.lotus-10.com/discussion.nsf/By+Author
Http://www.lotus-10.com/discussion.nsf/By%20Author
- 名前にスペースと "+" 文字の両方が含まれる場合、スペースを表すために %20 を使用する必要があります。例えば、文書のキーが "Smith + Jones" であれば、
http://www.lotus-10.com/leads.nsf/ByCompany/Smith%20%2B%20Jones?OpenDocument
および
http://www.lotus-10.com/leads.nsf/ByCompany/Smith%20+%20Jones?OpenDocument
は正しく処理されますが、
http://www.lotus-10.com/leads.nsf/ByCompany/Smith+++Jones?OpenDocument
は正しく処理されません。
- プラス記号 (+)、スラッシュ (¥ または /)、アンパサンド (&) のように、URL 構文の一部ではないか、URL 構文と矛盾するシンボルが名前または引数に含まれる場合は、エスケープ文字列 %xx (xx は 16 進法の ASCII 値) を使用してそのシンボルを表わしてください。例えば、次の URL は、「Smith&Jones, Inc.」というキー値を持つ文書を開きます。:
Http://www.lotus-10.com/leads.nsf/By%20Company/Smith%26Jones,%20Inc.?OpenDocument
- URL パスに含まれるスラッシュおよびバックスラッシュは、エスケープ文字列が付いている場合でも、区別されません(これは、URL 処理の最初の段階で、すべてのエスケープされた文字のエスケープ文字列が除去されて、'¥' が '/' に変更されるからです)。その結果、一部の名前はあいまいになるか、アドレス指定不可能になります。例えば、2 つのビュー "a/b¥c/d" と "a¥b/c¥d" は Designer では異なるものですが、URL では区別できません。
- スラッシュとバックスラッシュのどちらかまたは両方を含む文書キーは、次の制限の下でアドレス指定可能です。
- URL に ?OpenDocument コマンド引数を提供しなければなりません。例えば、文書キーが "Smith/Jones" であれば、次の URL でその文書が検索されます。
http://www.lotus-10.com/leads.nsf/ByCompany/Smith/Jones?OpenDocument
しかし、次の URL では「エラー 404 - エントリが索引に見つかりません」が返されます。
http://www.lotus-10.com/leads.nsf/ByCompany/Smith/Jones
- データベースに保存されている文書タイトルは、すべて "/" または "¥" を使用しなければなりません。"/" と "¥" の両方が使用されている場合、検出できません。
- ビュー名にスラッシュ (両方のタイプ) を使用していて、文書タイトルにスラッシュがある場合、あいまいさが発生し、文書を検出できない場合があります。"a" という名前のビューに "b/c" というタイトルの文書があり、"a¥b" という名前のビューに "c" というタイトルの文書がある場合、URL /database.nsf/a/b/c?OpenDocument と入力すると、ビュー a/b の中の文書が開かれます。
- 始めまたは終りに"/" または "¥" 文字がある文書タイトルは検出されません。
- エスケープ文字が付いている場合でも、URL の中でパーセント文字 ("%") を使用することはできません。これは、エスケープ文字をエスケープすることによってその意図を隠そうとする攻撃を防ぐためです。
- 複数の引数間はアンパサンド (&) で区切ります。以下に例を示します。
http://www.lotus-10.com/leads.nsf/By+Salesperson?OpenView&ExpandView
- 階層名はスラッシュ (/) で区切ります。例えば、Discussion という名前のデータベースにある Docs¥By Author という名前のビューを開くには、以下のように入力します。
http://www.lotus-10.com/discussion.nsf/Docs/By+Author
- 独自の URL を生成する場合は、単純な別名を使用してください。このとき、サポートされていない文字が指定された URL は使用しないでください。
- URL コマンドは、接尾語が .nsf4、.nsf5、.nsf6 または .box のデータベースも参照します。さらに、これらのデータベースはテンプレートファイル (.ntf) も参照しますが、プリビューモードでしか開けません。
- [データベースのプロパティ] インフォボックスで [Web アクセス: ページ生成時に JavaScript を使用] を選択すると、ボタンとホットスポットに添付された URL の計算は、[Click] イベント時に実行されます。このオプションを選択しなかった場合、ボタンとホットスポットに添付された URL の計算は、ページの生成時に実行されます。このプロパティを使用可能にすると、フォーム上で編集可能なフィールドを使用している場合に役立ちます。