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

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

7.9.1.1 定義ページへのアクセス

定義ページにアクセスするには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
    アプリケーションのホームページが表示されます。
  3. アプリケーションのホームページから、定義ページに、次の2通りの方法でアクセスできます。
    • 「アプリケーション・プロパティの編集」ボタンをクリックします。
    • 「共有コンポーネント」からの場合:
      • 「共有コンポーネント」をクリックします。

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

    定義ページが表示されます。

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

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

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

注意:

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

7.9.1.2.1 名前

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

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

属性 説明 詳細情報

名前

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

なし

アプリケーションの別名

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

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

次を参照してください。

バージョン

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

  • YYYY.MM.DD

  • MM.DD.YYYY

  • DD.MM.YYYY

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

なし

アプリケーション・グループ

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

アプリケーション・グループの管理を参照してください

7.9.1.2.2 プロパティ

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

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

属性 説明 詳細情報

簡易URL

アプリケーションの他のページへのナビゲートのために生成されたURLを読みやすくするかどうかを決定します。

  • オン - 「オン」に設定した場合、アプリケーションでは、URLが「アプリケーションの別名」、「ページの別名」および標準のWebパラメータ構文に基づいたディレクトリ構造で構成される簡易URL構を使用します。

  • オフ - 「オフ」に設定した場合、アプリケーションではレガシーのf?p= 構文を使用します。

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

次を参照してください。

フィードバックを許可

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

「オン」を選択してこのオプションを有効にする場合は、フィードバック・ページと、そのページをコールするナビゲーション・バー・アイコンを作成する必要があります。フィードバックを後で無効にすると、ナビゲーション・バー・アイコンは非表示になります。このため、テスト時にはフィードバックを有効にし、本番では無効にすることが可能です。

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

ロギング

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

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

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

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

デバッグ

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

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

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

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

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

なし

互換性モード

Application Expressランタイム・エンジンの互換性モードを制御します。一部のランタイム動作はリリースのたびに変更されます。この属性を使用して、特定のアプリケーション動作を取得します。アプリケーションで新しい動作を認識するには、アプリケーションの互換性モードを最新バージョンに設定します。

なし

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

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

電子メール・ダウンロードまたはサブスクリプションから電子メールを送信するときに送信元アドレスとしてい使用する有効な電子メール・アドレスを入力します。値には、有効な電子メールを含むリテラル文字列、または置換構文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.example.com

なし

Oracle Text関数

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による問合せを参照してください

7.9.1.2.3 「アプリケーション」アアイコン

「アイコンのファイル名」に、アプリケーション・ビルダーでアプリケーション・アイコンとして表示されるイメージのファイル名を入力します。イメージは、64x64ピクセルで、共有コンポーネント内の「アプリケーション・イメージ」としてアップロードされる必要があり、(フォルダ内ではなく)ルート・レベルに存在する必要があります。

7.9.1.2.4 可用性

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

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

属性 説明 詳細情報

Status

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

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

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

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

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

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

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

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

ビルド・ステータス

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

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

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

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

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

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

なし

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

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

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

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

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

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

なし

7.9.1.2.5 エラー処理

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

ヒント:

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

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

属性 説明 詳細情報

デフォルトのエラー表示位置

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

  • フィールドおよび通知でインライン表示: エラー・メッセージは、ページ・テンプレートの一部として定義される通知領域に表示されます。

  • フィールドでインライン表示: エラー・メッセージはフィールド・ラベル内に表示されます。

  • 通知でインライン表示: ページでエラーが発生した場合に#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 Application Express APIリファレンスAPEX_ERRORを参照してください

7.9.1.2.6 グローバル通知

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

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

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

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

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

7.9.1.2.7 置換

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

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

関連項目:

置換文字列の使用

7.9.1.2.8 ビルド・オプション

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

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