5.8.1 アプリケーション定義の編集

「アプリケーション定義」ページを使用して、アプリケーション名、アプリケーションの別名、バージョン番号などの一般的なアプリケーション属性を変更し、簡易URL、ロギング、デバッグ、フィードバック、互換性モード、アプリケーション可用性、エラー処理、置換文字列などの様々なプロパティおよび動作を制御します。

5.8.1.1 アプリケーション定義ページへのアクセス

「アプリケーション定義」ページには、アプリケーションのホームページからアクセスします。

アプリケーション定義ページにアクセスするには:

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。

    アプリケーションのホームページが表示されます。

  3. アプリケーションのホームページから、「アプリケーション定義」ページに、次の2通りの方法でアクセスできます。
    • 「アプリケーション定義の編集」ボタンをクリックします。
    • 「共有コンポーネント」からの場合:
      • 「共有コンポーネント」をクリックします。

      • 「アプリケーション・ロジック」で、「アプリケーション定義」をクリックします。

    「アプリケーション定義の編集」ページが表示されます。

  4. 対象となる属性を編集します。
  5. 「変更の適用」をクリックして、変更を保存します。

5.8.1.2 アプリケーション定義ページ

「アプリケーション定義」ページは、「名前」、「プロパティ」、「可用性」、「エラー処理」、「グローバル通知」、「置換」、「ビルド・オプション」および「コピーライト・バナー」の各リージョンに分かれています。

ノート:

必須の値には赤いアスタリスク(*)が付いています。

5.8.1.2.1 名前

「名前」の属性を使用して、アプリケーションの基本的な特性(アプリケーション名、英数字の別名(オプション)、バージョン番号など)を定義します。

表5-4「アプリケーション定義」の「名前」

属性 説明 さらに学習するには
名前 アプリケーションの説明的な短い名前。この名前によって、アプリケーションを開発環境に存在する他のアプリケーションと区別します。 なし
アプリケーションの別名

代替の英数字アプリケーション識別子を割り当てます。アプリケーションIDに、この識別子を使用できます。

「簡易URL」属性が有効になっている場合は、アプリケーションの実行時にここで指定した「アプリケーションの別名」がURLに表示されます。Oracle APEX 20.1以降を使用して作成したアプリケーションでは、「アプリケーションの別名」がアプリケーションの「名前」にデフォルト設定されます。

次を参照してください。

バージョン

アプリケーションのバージョン番号を入力します。入力した値がページに表示されます。次に示す書式マスクを使用して、自動的にバージョンを最終更新日に結び付けることもできます。

  • YYYY.MM.DD
  • MM.DD.YYYY
  • DD.MM.YYYY

アプリケーションのバージョンで「YYYY.MM.DD」を使用している場合、アプリケーション・ビルダーは、この書式マスクをすべてのアプリケーション属性の最終更新日に置換します。

なし
アプリケーション・グループ このアプリケーションに現在関連付けられているアプリケーション・グループを表示します。別のアプリケーション・グループを選択するには、リストから選択します。既存のグループからアプリケーションを削除するには、「未割当て」を選択します。 アプリケーション・グループの管理を参照してください

5.8.1.2.2 プロパティ

「プロパティ」の属性を使用して、ロギング、デバッグ動作、フィードバック、互換性、電子メール送信者アドレスおよびアプリケーション・プロキシ・サーバーを構成します。

表5-5「アプリケーション定義」の「プロパティ」

属性 説明 さらに学習するには
簡易URL
アプリケーションの他のページへのナビゲートのために生成されたURLを読みやすくするかどうかを決定します。オプションは次のとおりです。
  • オン - 「オン」に設定した場合、アプリケーションでは、URLが「アプリケーションの別名」、「ページの別名」および標準のWebパラメータ構文に基づいたディレクトリ構造で構成される簡易URL構を使用します。

    「オン」に設定すると、プログレッシブWebアプリケーション属性がこのページに表示されます。

  • オフ - 「オフ」に設定すると、アプリケーションでf?p=構文が使用されます。

ノート: 簡易URLには、URLのワークスペース・パス接頭辞が含まれます。パス接頭辞を変更するには、「ワークスペース管理」「サービスの管理」「ワークスペース・プリファレンスの設定」に移動します。

次を参照してください。

フィードバックを許可

このアプリケーションに対するエンド・ユーザーのフィードバックへのサポートを有効にします。「はい」または「いいえ」を選択します。

「はい」を選択した場合は、フィードバック機能ページを作成してこの属性を使用する必要があります。このオプションを有効にすると、「フィードバック」アイコンが表示されます。「フィードバック」アイコンをクリックすると、フィードバックが残ります。このオプションを無効にすると、「フィードバック」アイコンが非表示になります。このため、テスト時にはフィードバックを有効にし、本番では無効にすることが可能です

フィードバックの管理を参照してください

ロギング

ユーザー・アクティビティをOracle APEXアクティビティ・ログに記録するかどうかを決定します。「はい」を選択すると、すべてのページ・ビューがログに記録されるため、管理者はアプリケーションごとにユーザー・アクティビティを監視できます。

高容量アプリケーションでは、ロギングを無効にすることをお薦めします。

この属性は、APEX管理サービスの「アプリケーション・アクティビティのロギング」属性が「アプリケーションの設定を使用」に設定されている場合のみ変更できます。

Oracle APEX管理ガイドアプリケーション・アクティビティのロギングの有効化を参照してください

デバッグ

カレント・アプリケーションのデバッグ・モードを制御します。使用可能なオプションは次のとおりです。

  • はい: アプリケーションは実行時にブラウザからデバッグ・モードで実行できます。
  • いいえ: アプリケーションはブラウザからデバッグ・モードを有効にできません。

デバッグ・モードでのアプリケーションの実行は、アプリケーションが開発中の場合に役立ちます。本番アプリケーションの場合は、デバッグを無効にし、ユーザーがアプリケーション・ロジックを参照できないようにすることをお薦めします。

このデバッグ設定に関係なく、プログラム的にデバッグを有効にできます。アプリケーションがAPEX開発環境から実行される場合、デバッグはいつでも有効にできます。

なし

互換性モード

APEXランタイム・エンジンの互換性モードを制御します。特定のランタイム動作は、リリース間で異なります。既存のアプリケーションの動作を中断または変更しないように、必要に応じて、この属性はアップグレード中に自動的に設定されます。

この属性を使用して、特定のアプリケーション動作を取得します。アプリケーションを保守可能な状態に保つには、変更された動作をリリース・ノートで確認して必要な変更を行った後、「互換性モード」を最新リリースに設定します。

ノート: リリース21.2のテーマをリフレッシュするには、「互換性モード」21.2に設定する必要があります。

次を参照してください。

アプリケーションの電子メール送信元アドレス

アプリケーションで送信元アドレスとして使用する電子メール・アドレスを決定します。

電子メール・ダウンロードまたはサブスクリプションから電子メールを送信するときに送信元アドレスとしてい使用する有効な電子メール・アドレスを入力します。値には、有効な電子メールを含むリテラル文字列、または置換構文APP_EMAILを使用してアプリケーションで定義された静的置換参照を指定できます。例:

john.doe@abc.com
&MY_APP_EMAIL_FROM.

アイテムの置換は、電子メール・ダウンロードでのみ機能し、サブスクリプションでは機能しないため、アプリケーションまたはページレベルでのアイテムの置換の使用はお薦めしません。

ヒント: 対話モード・レポート属性を編集することによって電子メール送信元アドレスを指定することもできます。「対話モード・レポートからの電子メール送信について」を参照してください。

なし

プロキシ・サーバー

プロキシ・サーバーを指定します。

たとえば、URLリージョン・ソース・タイプを使用する場合、アプリケーション・ビルダーにはプロキシ・サーバーが必要です。URLリージョン・ソースは、URLの結果(URLにナビゲートすると戻されるページ)をリージョン・ソースとして埋め込みます。ファイアウォールを使用している場合に、URLがアプリケーション・ビルダーに対してファイアウォールの外側にある場合は、プロキシ・サーバーを指定する必要があります。

PL/SQLパッケージ変数APEX_APPLICATION.G_PROXY_SERVERを使用すると、PL/SQLからこのフィールドに入力した値を参照できます。

次に例を示します。

www-proxy.company.com

なし

Oracle Text関数

Oracle Text問合せ構文は非常に複雑で強力であり、ワイルドカード検索、ステミング検索、ファジー検索などに対応する豊富な問合せ演算子が用意されています。エンド・ユーザーには、この構文が理解しにくいことがよくあります。多くの場合、ユーザーはテキストをただ入力して問合せ機能を自動的に適用したいと考えます。

そのため、エンド・ユーザーの入力をOracle Text問合せに変換するPL/SQLファンクションの名前を指定できます。このファンクションは、エンド・ユーザーの入力をVARCHAR2として取り、Oracle Text問合せを結果として戻します

この例では、すべての問合せに対してOracle Textのファジー検索を使用します。

function convert_end_user_search (
    p_search in varchar2 )
    return varchar2 
is
begin
    return 'FUZZY({' || replace( p_search, '}', '\}' ) || '}, 30, 2000)';
end;

この例では、問合せ緩和を使用します。正確な問合せを最初に実行し、正確な問合せで十分な行が返されない場合に、ファジー機能またはワイルドカード機能を後で追加します。これらの変更はすべて、エンド・ユーザーに対して透過的です。

create or replace function convert_end_user_search (
    p_search in varchar2 )
    return varchar2 
is
    c_xml constant varchar2(32767) := '<query><textquery><progression>' ||
                                        '<seq>  #SEARCH#  </seq>' ||
                                        '<seq> ?#SEARCH#  </seq>' ||
                                        '<seq>  #SEARCH#% </seq>' ||
                                        '<seq> %#SEARCH#% </seq>' ||
                                      '</progression></textquery></query>';
    l_search varchar2(32767) := p_search;
begin
    -- remove special characters; irrelevant for full text search
    l_search := regexp_replace( l_search, '[<>{}/()*%&!$?.:,;\+#]', '' );

    return replace( c_xml, '#SEARCH#', l_search );
end;

『Oracle Textアプリケーション開発者ガイド』「Oracle Textのアプリケーション開発の概要」を参照してください

行検索のトークン化

コンポーネント内で行検索が実行される際の検索文字列の適用方法を指定します。

「オン」を選択すると、検索文字列の各単語は個別に処理され、単語がいずれかの列に一緒にまたは別々に含まれているレコードと一致します。正確な句を検索するには、引用符(")を使用して検索文字列を囲みます。たとえば、"ui developer"とします。検索文字列で二重引用符をエスケープするには、二重引用符("")を使用します。

例:

  • "red"と"shoes"の単語が含まれる任意のレコードを検索します

    検索文字列: red shoes

  • "developer"という単語や正確な表現"ui designer"が含まれる任意のレコードを検索します

    検索文字列: developer "ui designer"

  • 単語"author"と正確な表現"the sky is "blue" and nice"が含まれる任意のレコードを検索します

    検索文字列: author "the sky is ""blue"" and nice"

「オフ」を選択すると、検索文字列全体が完全一致として処理されます。

なし

5.8.1.2.3 可用性

「可用性」の属性を使用して、アプリケーションのステータスとビルド・ステータスを定義し、アプリケーションを管理します。たとえば、ステータス「制限されたアクセス」を選択すると、アプリケーションにアクセスして実行できるユーザーを指定できます。

表5-6「アプリケーション定義」の「可用性」

属性 説明 さらに学習するには

Status

アプリケーションが使用可能または使用不可であることを指定します。オプションは次のとおりです。

  • 使用可能: アプリケーションは制限なしで使用可能です。

  • 開発者ツールバーで使用可能: アプリケーションを使用できます。開発者に対して、各ページに開発者ツールバーが表示されます。開発者は同じブラウザ・セッションでアプリケーション・ビルダーにログインする必要があります。

  • 開発者のみ使用可能: 開発者権限を持つユーザーがアプリケーションを使用できます。

  • 制限されたアクセス: カンマ区切りのユーザー・リスト限定に指定された開発者がアプリケーションを使用できます。

  • 使用不可: アプリケーションを実行または編集できません。ユーザーがアプリケーションへのアクセスを試みると、「使用できないアプリケーションに対するメッセージ」内のメッセージが表示されます。

  • 使用不可(PL/SQLで表示されるステータス): アプリケーションは実行も編集もできません。

  • 使用不可(URLにリダイレクト) - アプリケーションは実行できません。ユーザーは、「使用できないアプリケーションに対するメッセージ」に入力されたURLにリンクされます。

ビルド・ステータス

カレント・アプリケーションのビルド・ステータスを指定します。オプションは次のとおりです。

  • アプリケーションの実行および構築: 開発者とユーザーのどちらもアプリケーションを実行および開発できます。

  • アプリケーションの実行のみ: ユーザーはアプリケーションの実行のみが可能です。このオプションは、本番インスタンスのアプリケーション用です。

Oracle APEX管理ガイド管理サービスでのアプリケーションのビルド・ステータスの変更を参照してください

使用できないアプリケーションに対するメッセージ

この属性は、ステータスとともに使用します。「ステータス」を「使用不可」「使用不可(PL/SQLで表示されるステータス)」または「使用不可(URLにリダイレクト)」に設定すると、この属性に入力したテキストが表示されます。「ステータス」を「使用可能」に設定した場合、この属性に入力したテキストは表示されません。

なし

カンマ区切りのユーザー・リスト限定(ステータスが「制限されたアクセス」の場合のみ)

この属性はステータス「制限されたアクセス」とともに使用します。「ステータス」を 「制限されたアクセス」に設定すると、この属性に示されているユーザーのみがアプリケーションを実行できます。

この属性を使用するには、次のステップを実行します。

  1. 「ステータス」リストから、制限されたステータスを選択します。

  2. 表示されたフィールドに、アプリケーションを実行できるユーザーのカンマ区切りのリストを入力します。

  3. 「変更の適用」をクリックします。

なし

5.8.1.2.4 エラー処理

示されている「エラー処理」の属性を使用して、アプリケーションがエラーのログを記録する方法を制御または変更します。

ヒント:

ここで指定するエラー処理ファンクションは、同様のページ・レベル属性によって上書きされます。

表5-7 「アプリケーション定義」の「エラー処理」

属性 説明 さらに学習するには
デフォルトのエラー表示位置

Oracle APEXまたはプラグインによって実行される基本検証の検証エラー・メッセージを表示する位置を指定します。検証エラー・メッセージは、通知領域(ページ・テンプレートの一部として定義)またはフィールド・ラベル内に表示できます。オプションは次のとおりです。

  • フィールドおよび通知でインライン表示: エラー・メッセージは、ページ・テンプレートの一部として定義される通知領域に表示されます。
  • フィールドでインライン表示: エラー・メッセージはフィールド・ラベル内に表示されます。
  • 通知でインライン表示: ページでエラーが発生した場合に#NOTIFICATION_MESSAGE#テンプレート置換文字列に表示されます。
なし
エラー処理ファンクション

既存のエラー・メッセージを変更し、よりわかりやすいメッセージを表示するか、エラーが発生した場合にそれをログに記録するためにコールするPL/SQLエラー・ファンクションの名前を入力します。このファンクションは、データベース内のパッケージ・ファンクションまたはスタンドアロンのファンクションを参照できます。次に例を示します。

log_apex_error

データベースのPL/SQLパッケージまたはスタンドアロンのファンクションを参照する場合、#OWNER#置換文字列を使用して、カレント・アプリケーションの解析対象スキーマを参照します。次に例を示します。

#OWNER#.log_apex_error

apex_errorパッケージで説明されている構文を使用してエラー処理ファンクションを実装する必要があります。

function <name of function> (
    p_error in apex_error.t_error )
    return apex_error.t_error_result

ノート: ここで指定するエラー処理ファンクションは、ページ・レベルで指定されるエラー処理により上書きされます。

Oracle APEX APIリファレンスAPEX_ERRORを参照してください

5.8.1.2.5 グローバル通知

「グローバル通知」の属性を使用して、アプリケーション・ユーザーにシステム・ステータスを通知します。アプリケーションで使用されるページ・テンプレートに#GLOBAL_NOTIFICATION#置換文字列が含まれている場合は、ここに入力するテキストがその文字列の場所に表示されます。たとえば、この属性を使用して、スケジュールされた停止時間をユーザーに通知したり、アプリケーションの可用性に関するその他のメッセージを通知できます。

グローバル通知を作成するには、次のステップを実行します。

  1. ページ・テンプレートに#GLOBAL_NOTIFICATION#置換文字列を含めます。

  2. アプリケーション定義の編集ページにナビゲートし、「グローバル通知」属性にメッセージを入力します。

  3. 「変更の適用」をクリックします。

5.8.1.2.6 置換

「置換」を使用して、アプリケーションで使用する静的置換文字列を定義します。アプリケーション内の多くの場所に出現する文字列やラベルに静的置換文字列を使用できます。置換文字列を作成するには、「置換文字列」列に文字列名を、「置換値」列に文字列値を入力します。

静的置換文字列を定義すると、このページで定義した「置換値」を変更するだけで、アプリケーション内の複数の場所のテキスト文字列をまとめて変更できます。

関連項目:

置換文字列の使用

5.8.1.2.7 ビルド・オプション

「ビルド・オプション」には、カレント・アプリケーションの既存のビルド・オプションが表示されます。ほとんどのアプリケーションには、ビルド・オプション属性があります。ビルド・オプションは、INCLUDEまたはEXCLUDEという2つの値をとることができます。属性を含めるように指定すると、Oracle APEXエンジンは、実行時にその属性を含めて有効にします。一方、属性を除外するように指定すると、APEXエンジンは、実行時にその属性を無効にして除外します。

オブジェクトを特定のインストールから除外する場合を除き、ビルド・オプションは指定しないでください。

5.8.1.2.8 レポート出力

「レポート出力」では、アプリケーションのプリント・サーバーを制御します。これらの設定は、インスタンス管理の設定をオーバーライドします。使用可能なオプションは次のとおりです。
  • ネイティブ出力: ネイティブ出力を使用します。外部プリント・サーバーは必要ありません。

  • リモート・プリント・サーバー: ワークスペース・ユーティリティで構成されている「プリント・サーバー」タイプのリモート・サーバーを選択します。

  • インスタンス設定の使用: インスタンス管理で定義されているレポート出力設定を使用します。

「リモート・プリント・サーバーの追加」ボタンをクリックして、資格証明を含むリモート・プリント・サーバーを作成するウィザードを開きます。リモート・サーバーを作成するには、「プリント・サーバー・タイプ」を選択し、「エンドポイントURL」を指定して、「次へ」をクリックします。認証が必要な場合は、資格証明を指定します。「変更の適用」をクリックして、ワークスペースにリモート・プリント・サーバーと資格証明を追加し、アプリケーションのレポート出力属性を更新します。詳細なステップは、アプリケーション・レベルでのレポート出力の構成を参照してください。

関連項目:

5.8.1.2.9 コピーライト・バナー

コピーライト・バナー・テキストに「コピーライト・バナー」を使用します。このテキストは、アプリケーション・エクスポート・ファイルに含まれます。#APP_NAME#置換文字列を使用して現在のアプリケーション名を参照し、#YEAR#を使用して現在の年を参照できます。次に例を示します。

Name: #APP_NAME#

Copyright (c) 1999, #YEAR#, Company Name.