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

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

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

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

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

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

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

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

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

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

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

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

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

ノート:

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

5.11.1.2.1 名前

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

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

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

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

次を参照してください。

バージョン

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

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

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

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

5.11.1.2.2 プロパティ

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

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

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

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

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

次を参照してください。

フィードバックを許可

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

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

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

ロギング

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

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

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

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

デバッグ

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

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

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

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

なし

互換性モード

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

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

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

次を参照してください。

アクセス可能な読取り専用アイテム

APEXが、アイテムの読取り専用モード用の従来のSPANベースの要素をレンダリングするか、またはよりアクセスしやすい読取り専用の入力要素やテキスト領域要素をレンダリングするかを決定します。よりアクセスしやすい入力要素とテキスト領域要素は、キーボードでフォーカスでき、スクリーン・リーダーのユーザーにとって認識しやすくなります。

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

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

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

  • 検索エンジン - このファンクションは、完全一致だけではなく、関連する結果を取得する問合せ緩和検索を実行します。目的は、関連する結果を可能なかぎり多く取得し、ユーザーが正確な問合せを入力する必要なく、関連情報を簡単に見つけられるようにすることです。検索プロセスは、完全一致検索から開始し、次にステミングやファジー・マッチングなどの手法を使用して、問合せを徐々に緩和します。結果数を最大化しながら、検索エンジン・ファンクションは、一致度および関連度が最も高い一致を検索結果の最上位に常にランク付けします。

  • エキスパート検索 - このファンクションは、正確な問合せのためにより多くの拡張検索演算子をサポートします。これにより、完全一致、ブール演算子(AND、OR、NOT)、カッコ付きの優先度および近接検索が可能になります。パラメータを追加することで、検索動作をカスタマイズできます。これは、非常に具体的な問合せに基づく高精度の結果を必要とする場合に最適です。

  • カスタム - カスタム・ファンクションを指定します。

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

    例 - 問合せ緩和

    この例では、Oracle Textの問合せ緩和を使用しており、エンド・ユーザーに対して透過的です。この例では、最初に正確な問合せを実行し、次に要求された量の行が返されるまで段階的にファジー検索を実行します。

    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> FUZZY(#SEARCH#,80, 100,W) </seq>' ||
              '<seq> FUZZY(#SEARCH#,50,1000,W) </seq>' ||
              '<seq> FUZZY(#SEARCH#,20,3000,W) </seq>' ||
            '</progression></textquery></query>';
    
        l_search varchar2(32767) := p_search;
    begin
        --
        -- remove special characters;
        -- these are irrelevant for full text search
        --
        l_search := regexp_replace(
            srcstr => l_search,
            pattern => '[<>{}/()*%&!$?.:,;\+#]' );
    
        return replace(
            srcstr => c_xml,
            oldsub => '#SEARCH#',
            newsub => '{' || l_search || '}' );
    end;

次を参照してください。

  • 「テキスト問合せ関数」「エキスパート検索」の場合は、『Oracle APEX APIリファレンス』「APEX_SEARCH」QUERY_EXPERT_SEARCHを参照してください。

  • 「テキスト問合せ関数」「カスタム」の場合は、『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.11.1.2.3 可用性

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

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

Status

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

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

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

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

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

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

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

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

ビルド・ステータス

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

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

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

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

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

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

なし

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

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

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

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

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

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

なし

5.11.1.2.4 エラー処理

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

ヒント:

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

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

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.11.1.2.5 グローバル通知

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

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

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

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

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

5.11.1.2.6 置換

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

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

関連項目:

置換文字列の使用

5.11.1.2.7 ビルド・オプション

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

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

5.11.1.2.8 ワークフロー設定

「ワークフロー設定」には、「タスク休暇ルール・プロシージャ」が表示されます。実装されている場合、休暇ルール・プロシージャは、このアプリケーションのすべてのタスク定義に適用されます。特定のタスク定義に対してのみ休暇ルール・プロシージャを実装するには、アプリケーション・レベルではなくタスク定義レベルでプロシージャを追加します。

ヒント:

タスク定義レベルで定義された休暇ルールは、アプリケーション・レベルで定義された休暇ルールをオーバーライドします。

休暇ルール・プロシージャの実装の詳細は、「例: 休暇ルール・プロシージャの追加」を参照してください。

関連項目:

『Oracle APEX SQLワークショップ・ガイド』「プロシージャの作成」

5.11.1.2.9 レポート出力

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

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

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

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

関連項目:

5.11.1.2.10 アプリケーション・ファイル・ストレージ

「アプリケーション・ファイル・ストレージ」では、静的アプリケーション・ファイルの格納方法を決定します。
  • ファイル・ストレージ・タイプ - アプリケーションのファイル・ストレージを制御します。オプションは次のとおりです。
    • データベース - データベースを使用して静的アプリケーション・ファイルを格納します。

    • Oracle Cloud Object Storage - 指定したサーバーを使用して、ファイルをオブジェクト・ストレージに格納します。

  • オブジェクト・ストレージの追加 - 「オブジェクト・ストレージの追加」をクリックして、リモート・ファイル・ストレージの追加ウィザードにアクセスします。このウィザードを使用して、Oracle Cloud Infrastructure (OCI) Object Storageサービスでリモート・ストレージを構成します。
  • リモート・ファイル・サーバー - 「ファイル・ストレージ・タイプ」「Oracle Cloud Object Storage」に設定されている場合にのみ表示されます。「ワークスペース・ユーティリティ」ですでに定義されている、定義済のリモート・サーバーを選択してください。リモートサーバーには、「サーバー・タイプ」「ファイル・サーバー」が必要です。

5.11.1.2.11 コピーライト・バナー

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

Name: #APP_NAME#

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