WEB アプリケーション用に LOTUS DOMINO をプログラミングする


Web での @関数
いくつかの @関数は Web アプリケーションでは特に有用です。しかし制限のある @関数もあります。
クライアントの情報を取得する@ClientType 関数はブラウザからは「Web」を返し、Lotus Notes Client からは「Notes」を返し、エージェントからは「None」を返します。次は計算結果テキストの式の例です。
@BrowserInfo 関数はパラメータ値によってブラウザについての情報を返します。次の例では、ユーザーがブラウザから実行すると、ブラウザのタイプとプラットフォームが返されます。
URL を開く@URLOpen 関数は、URL で指定された Web ページを開きます。次の例では、lotus.com が開きます。
Web アプリケーションでは、パラメータを指定しなければなりません。[URL を開く] ダイアログボックスを表示することはできません。

データベース名を取得する次の式はカレントのデータベース名を取得し、URL で使用するために調整します。


@WebDbName は、スラッシュをバックスラッシュに、「%20」(16 進数の 20) をスペースに置換します。これは次の式と等価です。
メモ @WebDbName は、Release 6 で新しく追加されました。従来のリリースでは、@DbName@Subset、および @ReplaceSubstring を使った式が必要です。

request-header フィールドを取得および設定する@GetHTTPHeader 関数は、HTTP request-header フィールドの値を返します。次の例では、Host フィールドの値が返されます。


@SetHTTPHeader 関数は、HTTP request-header フィールドの値を設定します。次の例では、Set-Cookie フィールドの値が設定されます。
メモ この @関数は、Release 6 で新しく追加されました。

URL コマンドを取得する次の式は、カレントのページおよびパラメータに責任を負う URL コマンドを、テキストリストに返します。


特定のパラメータの値のみ取得するには、次のようにパラメータ名を指定します。
メモ この @関数は R6 で新しく追加されました。

URL 形式を操作する@URLDecode@URLEncode はスペース、分離記号など、URL 内の特殊文字を書式設定し、URL を読み取り可能な文字列として表示したりコンピュータに渡すことができるようにします。
次の式は読み取り可能な文字列「http://www.acme.com/4Q profit&loss」を返します。


アドレスとして使用できるエンコードされた URL を返すには、URL 全体をエンコードしないでください。必要な分離記号が削除されるためです。代わりに、次のように最後の情報のみをエンコードします。
メモ この @関数は R6 で新しく追加されました。

フィールドを検証する@Success@Failure は Web 上のフィールドの入力確認式で機能します。@Failure パスは、パラメータとして指定されたメッセージを新規ページに表示します。次の確認式ではユーザーが RequiredField フィールドに値を入れ忘れると、太字で「Gong」という文字が新規ページに表示されます。


より拡張可能な HTML をエラーメッセージで使用すれば意味のあるエラーページを作成できます。
前後のページにリンクするWeb ビューでは、@DbCommand の最初のパラメータに「Domino」を指定すると、ページを上下に移動します。
メモ Web アプリケーションのページまたは文書のアクションから呼び出されたとき、@DbCommand は、そのページまたは文書の埋め込みビューで動作します。

制限付き @関数次の @関数は Web で機能しないか、制限があります。
@関数Web の制限
@CertificateWeb では機能しません。
@DbColumn(ODBC)リモートサーバーが Lotus Domino server と同じコンピュータ上にある場合にのみ機能します。
@DbCommandWeb では、@DbCommand("Domino") のみ許可されます。
@DbLookup(ODBC)リモートサーバーが Lotus Domino server と同じコンピュータ上にある場合にのみ機能します。
@DDEExecuteWeb では機能しません。
@DDEInitiateWeb では機能しません。
@DDEPokeWeb では機能しません。
@DDETerminateWeb では機能しません。
@DeleteDocumentWeb では機能しません。
@DialogBoxWeb では機能しません。
@DocChildrenWeb では、列式でのみ使えます。
@DocDescendantsWeb では、列式でのみ使えます。
@DocLevelWeb では機能しません。
@DocLockWeb では機能しません。
@DocMarkWeb では機能しません。
@DocNumberWeb では、列式でのみ使えます。
@DocParentNumberWeb では、列式でのみ使えます。
@DocSiblingsWeb では、列式でのみ使えます。
@DomainWeb では機能しません。
@EditECLWeb では機能しません。
@EditUserECLWeb では機能しません。
@EnvironmentWeb では機能しません。(代わりに、CGI 変数を使います)。
ENVIRONMENTWeb では機能しません。(代わりに、CGI 変数を使います)。
@FontListWeb では機能しません。
@GetFocusTableWeb では機能しません。
@GetIMContactListGroupNamesWeb では機能しません。
@GetPortsListWeb では機能しません。
@HardDeleteDocumentWeb では機能しません。
@IsAgentEnabledWeb では機能しません。
@IsDocBeingMailedWeb では機能しません。
@IsEmbeddedInsideWCTWeb では機能しません。
@IsModalHelpWeb では機能しません。
@LaunchAppWeb では機能しません。
@MailDbNameWeb では機能しません。
@MailEncryptSavedPreferenceWeb では機能しません。
@MailEncryptSentPreferenceWeb では機能しません。
@MailSavePreferenceWeb では機能しません。
@MailSend[Encrypt] と [Sign] は、Web では機能しません。
@MailSignPreferenceWeb では機能しません。
@PickListWeb では機能しません。
@PlatformWeb では、プラットフォームのみを返します。
@PromptWeb では機能しません。
@RefreshECLWeb では機能しません。
@ResponsesWeb では機能しません。
@SetEnvironmentWeb では機能しません。
@StatusBarWeb では機能しません。
@TemplateVersionWeb では機能しません。
@UpdateFormulaContextWeb では機能しません。
@URLGetHeaderWeb では機能しません。
@URLHistoryWeb では機能しません。
@UserPrivilegesWeb では機能しません。
@ViewShowThisUnreadWeb では機能しません。