Oracle® Application Express

リリース・ノート

リリース18.2

F13455-02(原本部品番号:F10921-02)

2019年2月

1.1 このリリース・ノートについて

このリリース・ノートでは、Oracle Application Expressのドキュメントに記載されていない重要な情報を示します。

2.1.1 最新リリースのチェックについて

Oracle Application Expressは、Oracle Databaseよりも頻繁にリリースされます。最新のリリースに関する情報またはダウンロードについては、次の場所を参照してください。

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

2.1.2 最新のOracle Application Expressリリースへのアップグレードについて

Oracle Application Expressをすでにインストールしている場合は、入手可能な最新バージョンに定期的にアップグレードすることをお薦めします。詳細は、『Oracle Application Expressインストレーション・ガイド』の以前のOracle Application Expressリリースからのアップグレードに関する項を参照してください。

2.1.3 リリース・バージョンの確認について

現在実行しているOracle Application Expressのリリースを確認するには、次のいずれかを実行します。

  • ワークスペースのホームページで、リリース番号を表示します:

    • Oracle Application Expressにサインインします。

      ワークスペースのホームページが表示されます。現在のリリース・バージョンが右下隅に表示されます。

  • 「Application Expressについて」ページを表示します。

    1. Oracle Application Expressにサインインします。

      ワークスペースのホームページが表示されます。

    2. ページ上部の「ヘルプ」メニューをクリックし、「バージョン情報」を選択します。

      Application Expressのバージョン情報ページが表示されます。

関連項目:

『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』開発環境へのアクセスの概要に関する項

2.1.5 Oracle Databaseバージョン12c CDBからアップグレードする場合の重要情報

Oracle Database 12c リリース1 (12.1)マルチテナント・コンテナ・データベース(CDB)をアップグレードする場合は、My Oracle SupportからOracle Bug#20618595用のパッチをダウンロードして、データベースに適用する必要があります。このパッチを検索するには、「パッチ」タブで「20618595」を検索します。

3.1 構成要件

mod_plsqlデータベース・アクセス記述子(DAD)を構成するときには、基になるデータベース文字セットに関係なく、PlsqlNLSLanguageの文字セット部分の値をAL32UTF8に設定する必要があります。

現在、データベース・アクセス記述子には、PlsqlRequestValidationFunction用のパラメータが含まれています。このパラメータは、mod_plsqlによって起動可能なプロシージャの数を制限するために使用されます。デフォルトでは、起動可能なプロシージャはOracle Application Expressのパブリック・エントリ・ポイントのみです。これは、Oracle Application Expressに付属の検証機能を使用して拡張できます。 

データベース・アクセス記述子に対してPlsqlRequestValidationFunctionを有効にすると、パブリックに実行可能なプロシージャに依存している既存のアプリケーションで障害が発生します。データベース・アクセス記述子の定義からPlsqlRequestValidationFunctionを省略するか、または推奨される方法(提供されている検証機能の拡張)を実行できます。

4.1 新機能

Oracle Application Expressリリース18.2には、多数の新機能が含まれています。次の新機能は、Oracle Application Expressリリース18.1およびそれ以前のリリースには存在しません。

4.1.1 フォントAPEXの更新

Oracle Application Expressリリース18.2では、フォントAPEX 2.1が使用されます。これには多くのバグ修正および更新が含まれています。ソーシャル・アイコンまたはブランド・アイコンは、フォントAPEXの一部ではありません。

フォントAPEX 2.1には、小と大の2セットのアイコンが含まれます

  • 小さいアイコンは16x16です。大きいアイコンは32x32です。

  • いくつかの新しい方向アイコンとフォーム・コントロール・アイコンがあります。

  • 一部のテンプレート(カード、メディア・リストなど)では、テンプレート・オプションに基づいて適切なアイコン・サイズが自動的に選択されます。

4.1.2 JavaScript APIドキュメント

Oracle Application Express APIリファレンスの「JavaScript API」の章は、独立した新しいリファレンス・ガイドであるOracle Application Express JavaScript APIリファレンスに移行中です。この新しいガイドは最終的なものではなく、関連するすべての情報が含まれていない可能性があります。

このリリースの新しいウィジェットAPIとしては、次のAPIがあります。

  • grid

  • iconList

  • interactiveGrid

  • menu

  • recordView

  • tableModelView

  • treeView

名前空間とインタフェース:

  • apex.actions

  • apex.model

4.1.3 左右マスター・ディテール

新しい左右マスター・ディテール・フォームは、左右レイアウトおよびモーダル編集ウィンドウを持つレポート・リージョンを活用して、単一ページのマスター・ディテールを作成します。左側には、マスター・レコードにナビゲートするためのマスター・リストがあります。右側には、選択したマスター・レコードおよび最大4つの詳細レポートがあります。

4.1.4 「新規ダッシュボード」ページ

ページの作成ウィザードには、新しい「ダッシュボード」オプションがあります。ダッシュボードでは、ページ・デザイナを使用してカスタマイズ可能な、叩き台となるダッシュボードをサンプル・データに基づいて作成できます。ページの開始点となるレイアウトを様々なチャート・レイアウトから選択します。

4.1.5 宣言的静的LOV

ページ・デザイナには、静的LOVを作成するための宣言的なアプローチが含まれるようになりました。

4.1.6 サンプル・データセットの機能強化

サンプル・データセットのインストール後、「アプリケーションの作成」をクリックするとアプリケーションの作成ウィザードが起動され、サンプル・データセットにビルドされたコンポーネントが事前に移入されます。また、このリリースにはサンプル・データセットのEMP / DEPT用の新しい言語が含まれています。

5.1 変更された動作

このセクションは、このドキュメントを作成していた時点での最新です。変更された動作の最新のリストについては、「Known Issues」ページhttp://www.oracle.com/technetwork/developer-tools/apex/downloads/apex181-known-issues-4478237.htmlを参照してください

Oracle Application Expressリリース18.2で変更された動作は次のとおりです。

5.1.1 ブラウザ要件

Oracle Application ExpressにはJavaScript対応のブラウザが必要であり、Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Internet ExplorerおよびMicrosoft Edgeの現在のリリースおよび以前のメジャー・リリースをサポートしています。

注意:

 Microsoft Internet Explorer 11は以前のメジャー・リリースで、Microsoftの現在のブラウザはMicrosoft Edgeです。

5.1.2 互換性モード

アプリケーション属性「互換性モード」は、Application Expressランタイム・エンジンの互換性モードを制御します。特定のランタイム動作は、リリース間で異なります。互換性モード属性を使用して、特定のアプリケーション動作を取得できます。この項では、互換性モードの変更内容をリリース別に示します。すべてのモードでの変更内容は包括的であること、つまり、古いリリースでのすべての変更内容が新しいリリースに含まれることに注意してください。

互換性モードの変更内容(モード4.1)

Oracle Application Expressリリース4.1では、アイテムのソースの列名が無効である場合、ページのレンダリング時にAutomatic DMLフォームによってエラーが生成されます。Oracle Application Expressリリース4.1以前では、アイテムのソースの列名が無効であっても、ページのレンダリング時にエラーが生成されませんでしたが、アイテムのセッション・ステートも設定されませんでした。

また、Oracle Application Expressリリース4.1では、「キャッシュ」および「フレームへの埋込み」という2つの新しいアプリケーション・セキュリティ属性があり、ブラウザ・セキュリティを制御できます。Cache属性を有効にすると、ブラウザでアプリケーションのページ・コンテンツをメモリー内とディスク上の両方のキャッシュに保存できます。Embed in Frames属性は、ブラウザのフレーム内にアプリケーションのページを表示させるかどうかを制御します。4.1より前の互換性モードで実行中のアプリケーションは、キャッシュが有効化され、「フレームへの埋込み」が許可に設定されているかのように機能します。互換性モード4.1以上で実行中のアプリケーションでは、特定のブラウザ・セキュリティ属性が考慮されます。

また、Oracle Application Expressリリース4.1では、Oracle Bug#12990445のため、行の自動処理(DML)のプロセス・タイプに次の変更が実装されました。列をINSERT文に含める必要があるかどうかを判断するように、INSERTを実行するコードが変更されました。これらは、UPDATEの前のチェックと同じチェックであることに注意してください。新しいチェックは次のとおりです。

  • ソース・タイプは「DB列」であるか。

  • ページ・アイテムはPOSTリクエストに含まれているか。たとえば、ページ・アイテムが条件付きで、ページのレンダリング中に条件がFALSEと評価された場合、POSTリクエストには含まれません。

  • ページ・アイテムは、「状態の保存」が「いいえ」に設定されている「表示のみ」タイプでないか。

これらの動作を有効化するには、「互換性モード」を4.1以上に設定します。前のリリースと一致する動作の場合は、「互換性モード」を「4.1前」に設定します。

互換性モードの変更内容(モード4.2)

Oracle Application Expressリリース4.2では、新規グリッド・レイアウトが変更されたため、ページのレンダリング時、特定の表示ポイントのすべてのリージョンが、その表示ポイントのレンダリング前に評価され、そのリージョンを表示するかどうかが特定されます(このため、グリッド・レイアウトでレンダリングする列数を決定できます)。評価の戻り値がtrueのリージョンは実行および表示されます。ただし、PL/SQLベース・リージョンがセッション・ステートを設定し、それがリージョンを表示するかどうかを決定するために後続のリージョン条件で使用されている場合には、これは機能しません。そのような状況の場合、表示ポイントがレンダリングされる前に、条件はすでにチェックされています。計算またはPL/SQLプロセスを使用して、リージョンが表示される前にセッション・ステートを設定します。前のバージョンでは、各リージョンが表示される直前に条件が評価されていました。

Oracle Application Expressリリース4.2では、プロセス・ポイントが「リージョンの前」の計算およびプロセスは、リージョンがレンダリングされる前に実行されます。プロセス・ポイントが「リージョンの後」の計算およびプロセスは、すべてのリージョンのレンダリング後に実行されます。前のバージョンでは、計算およびプロセスは、リージョン表示ポイントの「ページ・テンプレート・ボディ」(1-3)の前後に実行されていました。

Oracle Application Expressパッチ・セット4.2.2では、互換性モード4.2のために2つの新規互換性モード変更が追加されました。

  • テキスト領域が、テキスト入力を制限する「最大幅」属性を常に使用するように変更されました。

  • レポート列リンクに対してセキュリティが拡張され、リンクにJavaScriptと他のレポート列置換への参照の両方が含まれ、次のようになります。

    javascript:alert( 'Delete #NAME#' );

    前述の例で、NAMEはレポート内の列名です。

Oracle Application Expressリリース4.2.1以前では、クロスサイト・スクリプティングの脆弱性から保護するために、レポート・ソースの列値を明示的にエスケープして、JavaScriptリンクで安全に使用できるようにする必要がありました。互換性モード4.2で実行する場合、列が特殊文字をエスケープするように定義されていると、Oracle Application ExpressはJavaScriptリンクで参照されている列名置換をJavaScriptで自動的にエスケープします。

関連項目:

詳細は、Oracle Application Expressパッチ・セット・ノートを参照し、互換性モードを検索してください。

互換性モードの変更内容(モード5.0)

Oracle Application Expressリリース5.0では、#WORKSPACE_IMAGES#を使用して静的アプリケーション・ファイルを参照した場合に、アプリケーション・ファイルが返されなくなりました。かわりに、#APP_IMAGES#を使用します。

wwv_flow_custom_auth_std.logout、wwv_flow_custom_auth_std.logout_then_go_to_pagewwv_flow_custom_auth_std.logout_then_go_to_urlおよびapex_custom_auth.logoutのAPIコールはサポートされなくなり、Oracle Application Expressセッションからログアウトするかわりに実行時エラーが生成されます。apex_authentication.logoutエントリ・ポイントをかわりに使用します。

リリース5.0以前では、データのアップロードを使用する開発者には、日付書式を選択するオプションが提供されていませんでした。かわりに、パーサーがユーザーのエントリに最適な書式を選択していたか、エンド・ユーザーがユーザー独自の書式を入力できました。Oracle Application Expressリリース5.0に含められた新しいアイテムにより、ユーザーは、アプリケーションの日付書式か、ユーザーが入力した書式を選択できます。リリース5.0より前に作成されたアプリケーションにはアイテムがないため、5.0の互換性モードでは、ユーザーがデータを入力したかどうかがチェックされます。データが入力されていない場合は、アプリケーションの日付書式が適用されます。

セッション・タイムアウトが発生し、タイムアウトURLが指定されていない場合、Oracle Application Expressはアプリケーションのホームページにリダイレクトするかわりにエラーを生成します。Ajaxリクエストのセッション設定が失敗した場合も、Oracle Application Expressはエラーを生成します。JSONを想定するAjaxリクエストの場合、応答は、エラーについて説明するメンバーを含むJSON文字列となります。他のリクエストの場合、エラーはエラー・ページに表示されます。

属性「使用されるソース」が「セッション・ステートの値がNULLの場合のみ」に設定されているデータベース列に基づくページ・アイテムは、そのページ・アイテムがレンダリングされるとエラーを生成します。複数のレコードを表示および保存する場合、この設定をデータベース列に使用することは非常に危険であり、誤ってデータを上書きする可能性があります。常に「使用されるソース」属性を「セッション・ステートの既存の値を常に置換」に設定してください。

互換性モードの変更内容(モード5.1/18.1)

Oracle Application Expressリリース18.1では、「検証の実行」属性が「はい」に設定されているボタンをクリックすると、クライアント側の検証(必須アイテム・チェックなど)がいくつか実行され、すべての問題を修正するまでページは送信されません。以前のバージョンでは、このフラグは単にサーバー側の検証を実行するかどうかを決定するために使用されていました。

ヒント:

互換性モードを5.1/18.1に変更するときには注意してください。「取消」、「前へ」などのボタンで、「検証の実行」フラグが「はい」に誤って設定されており、「送信後」ブランチを使用している場合、このようなボタンをユーザーがクリックしても検証が実行されることはありません。この問題に対処するには、新しいクライアント側の検証を使用するか、「検証の実行」を「いいえ」に設定します。

リリース5.1では、「結果を待機」属性が「はい」に設定されているAjaxベースの動的アクションによって、非同期Ajaxコールが実行されます。5.1より前では、そのようなコールは同期的に行われます。

5.1.3 Oracle Database 11g以上のネットワーク・サービスの有効化

Oracle Application Expressでアウトバウンド・メールを送信したり、Webサービスを使用したり、PDFレポートの印刷を使用するには、Oracle Database 11g以上のバージョンでネットワーク・サービスを有効にする必要があります。

5.1.3.1 ネットワーク・サービスを有効化する場合と理由

ネットワーク・サービスを有効化すると、Oracle Application Expressでのアウトバウンド・メールの送信、Oracle Application ExpressでのWebサービスの使用、PDFレポートの出力に対するサポートが有効になります。

Oracle Database 11gリリース2以上では、ネットワーク・サービスとの通信機能が、デフォルトで無効化されています。このため、Oracle Database 11gリリース2以上でOracle Application Expressを実行している場合は、新しいDBMS_NETWORK_ACL_ADMINパッケージを使用して、APEX_180200データベース・ユーザーにすべてのホストに対する接続権限を付与する必要があります。これらの権限の付与に失敗すると、次の場合に問題が発生します。

  • Oracle Application Expressにおけるアウトバウンド・メールの送信

    ユーザーは、APEX_MAILパッケージのメソッドをコールできますが、アウトバウンド電子メールの送信時に問題が発生します。

  • Oracle Application ExpressにおけるWebサービスの使用

  • PDFレポートの印刷

ヒント:

このセクションで示されている例を実行するには、データベースのcompatible初期化パラメータが11.1.0.0.0以上に設定されている必要があります。デフォルトでは、11gまたは12cデータベースのパラメータは事前に適切に設定されますが、以前のバージョンから11gまたは12cにアップグレードされたデータベースのパラメータは適切に設定されない場合があります。データベース初期化パラメータの変更の詳細は、『Oracle Database管理者ガイド』Oracle Databaseの作成と構成に関する項を参照してください。

5.1.3.2 Oracle Database 12c以前での接続権限の付与

APEX_180200データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示します。

次の例は、APEX_180200データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続するとします。

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_180200
  -- the "connect" privilege if APEX_180200 does not have the privilege yet.
 
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
 
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_180200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_180200', TRUE, 'connect');
  END IF;
 
EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_180200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、電子メール・サーバーやレポート・サーバーなど、ローカル・ホストのサーバーへのアクセスのみを有効にします。

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_180200
  -- the "connect" privilege if APEX_180200 does not have the privilege yet.
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
   
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_180200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_180200', TRUE, 'connect');
  END IF;
  
EXCEPTION
  -- When no ACL has been assigned to 'localhost'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml',
    'ACL that lets users to connect to localhost',
    'APEX_180200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.3.3 Oracle Database 12c以上での接続権限の付与

DBMS_NETWORK_ACL_ADMINのプロシージャCREATE_ACLASSIGN_ACLADD_PRIVILEGEおよびCHECK_PRIVILEGEは、Oracle Database 12cでは非推奨です。APPEND_HOST_ACEを使用することをお薦めします。

次の例は、APEX_180200データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続するとします。

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => '*',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'APEX_180200',
                           principal_type => xs_acl.ptype_db));
END;
/

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、電子メール・サーバーやレポート・サーバーなど、ローカル・ホストのサーバーへのアクセスのみを有効にします。

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => 'localhost',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'APEX_180200',
                           principal_type => xs_acl.ptype_db));
END;
/
5.1.3.4 無効なACLエラーのトラブルシューティング

問合せを実行して無効なACLエラーを特定する方法を理解します。

前述のスクリプトを実行した後にORA-44416: 無効なACLのエラーが表示された場合は、次の問合せを使用して、無効なACLを特定します。

REM Show the dangling references to dropped users in the ACL that is assigned
REM to '*'.

SELECT ACL, PRINCIPAL
  FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE
 WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND
       NACL.ACLID = ACE.ACLID AND
       NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

次に、次のコードを実行してACLを修正します。

DECLARE
  ACL_ID   RAW(16);
  CNT      NUMBER;
BEGIN
  -- Look for the object ID of the ACL currently assigned to '*'
  SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

  -- If just some users referenced in the ACL are invalid, remove just those
  -- users in the ACL. Otherwise, drop the ACL completely.
  SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE
   WHERE ACLID = ACL_ID AND
         EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

  IF (CNT > 0) THEN

    FOR R IN (SELECT PRINCIPAL FROM XDS_ACE
               WHERE ACLID = ACL_ID AND
                     NOT EXISTS (SELECT NULL FROM ALL_USERS
                                  WHERE USERNAME = PRINCIPAL)) LOOP
      UPDATE XDB.XDB$ACL
         SET OBJECT_VALUE =
               DELETEXML(OBJECT_VALUE,
                         '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]')
       WHERE OBJECT_ID = ACL_ID;
    END LOOP;

  ELSE
    DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID;
  END IF;

END;
/

REM commit the changes.

COMMIT;

ACLを修正したら、このセクションにある最初のスクリプトを実行して、APEX_180200ユーザーにACLを適用する必要があります。

5.1.4 APEX_WORKSPACE_ACTIVITY_LOG.THINK_TIMEは常にNULL

このリリースでは、APEX_WORKSPACE_ACTIVITY_LOGビューのTHINK_TIMEの値は常にNULLです。

以前は、この列の計算により、ビューのパフォーマンスが低下していました。これには追加の索引が必要であり、ページ処理中に多くのI/Oが発生しました。

次の例をガイドとして使用し、THINK_TIMEを計算できます。

  select view_date,
         (view_date - lag(view_date) over (
                          partition by apex_session_id
                          order by view_date )) *60*60*24 think_time,
         application_id,
         page_id,
         apex_session_id,
         apex_user
    from apex_workspace_activity_log
   where workspace = 'EXAMPLE WORKSPACE'
     and view_date > sysdate-1
   order by 1, 2 desc

5.1.5 クラシック・レポートに対する内部エンジンの変更

REST対応SQLおよびRESTサービスをサポートするために、クラシック・レポートを実行するエンジンに次の変更が加えられました。

  • 「合計の計算」が有効になっている場合、アプリケーションはウィンドウ句でSUM() SQL関数を使用して合計を計算するようになりました。

  • 「合計の計算」および「ブレーク列」が有効にされていて、レポート問合せにORDER BY句が含まれている場合、SUM()分析SQL関数により、問合せオプティマイザがORDER BY句を無視することがあります。レポートのソートを制御するには、「ソート」→「デフォルト順序」列属性を使用します。
  • 汎用列およびSQL問合せを返すPL/SQLファンクションが使用されている場合、生成されるSQL問合せには、一意の列名(重複しない列名)を指定する必要があります。さらに、列名は有効なSQL識別子である必要があります。Oracle Database 12.2以上では、列名は128文字以内で指定できます(旧バージョンでは、30文字)。

  • 数値のレポート列に対してのみ「合計の計算」を有効にできます。以前のリリースでは、VARCHAR2列に対して「合計の計算」を有効にしてクラシック・レポートを作成できました。このリリースでは、これらのレポートはORA-1722エラー・メッセージを示して失敗するようになりました。このようなクラシック・レポートでは、数値以外の列に対して「合計の計算」を「いいえ」に設定してください。

  • Oracle Application Expressは、パフォーマンス向上のためにデフォルトでバルク行フェッチを使用します。ただし、表形式フォームでは、カスタムJavaScriptコードが正しく機能しない可能性があります。単一行フェッチを強制的に実行するために、SQL問合せにコメント/* APEX$SINGLE_ROW_FETCH*/を追加してください。

  • 以前は、結果セットに同じ名前を持つ複数の列が含まれる場合には、クラシック・レポートがレンダリングされました。Application Express 18.1では、問合せ結果セットの列名は一意である必要があります。それ以外の場合は、「列があいまいに定義されています」エラーが発生します。現在のアプリケーションに存在するすべての非一意のレポート問合せを変更する必要があります。

  • 列の別名を指定せずにROWID列を選択するクラシック・レポートでは、特定の状況(DISTINCT、GROUP BYなどでビューからROWIDまたはサンプルを選択できない状況)においてORA-01446エラー・メッセージがスローされる可能性があります。レポートでこのエラー・メッセージがスローされる場合は、ROWID列に対して別名を指定するようにSQL問合せを調整します。

5.1.6 対話モード・レポートの変更

このリリースでは、REST対応SQLおよびRESTサービスをサポートするために、対話モード・レポートを実行するエンジンに次の変更が行われています。

  • 無効な計算が含まれる対話モード・レポートはレンダリングされません。以前は、対話モード・レポートには、計算がエンド・ユーザーによって非表示にされている場合は無効な計算を含めることができました。エンド・ユーザーが計算を作成し、その後、開発者が依存列を削除すると、無効な計算が行われる可能性があります。このリリースでは、このような無効な計算により、エラー・メッセージが表示されます。無効な計算には値がないため、開発者またはユーザーは、レポートが再度機能するようにそれらを削除する必要があります。

  • 対話モード・レポートで生成されたSQLテキストは、前のバージョンで生成されたテキストとは異なります(ただし、意味的には同じです)。開発者は、APEX_IR.GET_REPORTによって返される厳密なSQL問合せテキストに依存しているアプリケーションを更新する必要がある場合があります

  • エンド・ユーザーは、ページ・デザイナでのフィルタ、ハイライト表示、その他のレポート・アクションで「非表示」に設定されている対話モード・レポート列を使用できません。列を「非表示」に設定すると、この列はエンド・ユーザーに対して完全に非表示になります。

5.1.7 ページ・デザイナの改善

プロパティ・エディタ

ページ・デザイナのプロパティ・エディタには、次の変更が行われています。

  • 有用性を向上させるためにUIが更新されました

  • 「共通の表示」、「すべて表示」、「すべて閉じる」および「すべて開く」機能が削除されました

  • プロパティを選択するときにプロパティ・グループが光ります

  • 「グループに移動」機能が改善されました

  • 2ペイン/3ペイン・ボタンが、「ユーティリティ」の「レイアウト」サブメニューに移動されました

スティッキー・フィルタ

フィルタ条件をプロパティ・エディタの検索フィルタに固定できるようになったため、他のコンポーネントをクリックしてもフィルタを保持できます。

5.1.8 対話グリッドの機能強化

このリリースでは、対話グリッド・リージョンに次の更新が行われています。

  • 「動的アクション」に追加イベントを公開できます

  • 新しい「選択内容」サブメニュー(「アクション」メニュー内)に次の新機能が追加されました。

    • 「セルの選択」「行選択」間での選択モードの切替え

    • 「コピー・ダウン」「クリア」および「入力」アクション

    • 「クリップボードにコピー」(行またはセルの範囲選択について)

5.1.9 ツリー・リージョンの機能強化

このリリースでは、ツリー・リージョンに次の更新が行われています。

  • Oracle Application Expressで、「詳細: JavaScript初期化コード」属性がサポートされるようになりました。この属性およびOracle Application Express JavaScript APIリファレンスにより、ツリー・リージョンのカスタマイズが容易になります(ウィジェット: ツリービューを参照してください)。

  • SQL列とその使用に固定の関連付けがなくなりました。現在は、ノード・ラベル、ツールチップ、リンクなどの機能で使用する列を選択します。

  • 「階層」属性に、エンジンがSQL文から階層を自動的に計算できるようにするオプションが用意されています。

  • 「デフォルト・アイコン」属性が追加されました。(a-Iconを強制せずに)「アイコン・タイプ」を空にすることができます。

  • すべての属性のページ・デザイナのヘルプ・テキストが改善されました。

  • 動的アクションのイベント選択の変更がサポートされるようになりました[ツリー]。

  • 拡張構成オプション(nodeSelector)でチェック・ボックスの選択がサポートされるようになりました。

  • ツリー・リージョンでapex.region APIがサポートされるようになりました。

  • 選択内容をクリップボードにコピー

  • セキュリティ上の理由から、ツールチップ・コンテンツがエスケープされるようになりました。

    ツールチップでHTMLマークアップを使用するには、次のステップを実行します。

    1. 「ツールチップ」として「HTML式」を選択し、「ツールチップ値」属性でHTMLマークアップを使用します。

    2. 置換構文(&COLUMN.)を使用して、「ツールチップ値」内のデータベース列を参照します。

5.1.10 開発者ツールバーの改善

このリリースでは、開発者ツールバーに次の更新が行われています。

  • ページにJavaScriptエラーがある場合のインジケータ。

  • 「レイアウト列の表示」および「ページ・タイミングを表示」機能が含まれる新しい「ページ情報」メニュー。

5.1.11 アドバイザの改善

このリリースでは、Oracle Application Expressアドバイザに次の更新が行われています。

  • 一般的なアクセシビリティの問題がないかアプリケーションをチェックする新しい「アクセシビリティ」チェック

  • 互換性JavaScriptが含まれているかどうかの新しい「パフォーマンス」チェック

5.1.12 アイテム・タイプの改善

このリリースでは、Oracle JETを使用した新しいオートコンプリートが有効なテキスト・アイテム・タイプが追加されました。

このアイテム・タイプの実装にさらに変更が追加されたため、次のように動作が変更されました。

このリリースより前は、Application Expressページにアイテムが1つのみで、そのアイテムがオートコンプリートを使用したテキストであった場合、そのアイテムがフォーカスされているときに[Enter]キーを押すと、ページが送信される可能性がありました。この動作は、Application Expressの設計によるものではありませんでした。これは、Webページにフォーム要素が1つのみ含まれている場合に、アイテムがフォーカスされているときに[Enter]を押すとフォームが送信されるというデフォルトのブラウザ動作です。

このリリースでは、オートコンプリート実装の更新により、この動作を防止します。以前のリリースでこの動作(ページの送信、選択した検索アイテムに関連するページへのブランチなど)に依存していた場合、これは機能しません。かわりに、次のいずれかの解決策を実施してください。

  • ページを送信するオートコンプリート・アイテムの横にボタンを追加します。

  • 「ページの送信」アクションとともに「更新」動的アクション・イベントを使用して、検索アイテムが選択されたときにページ送信をトリガーします。

  • [Enter]キーが押された後に送信をトリガーする動的アクションを作成します。たとえば、「キー・ダウン」イベントを使用して、「タイミング > アイテム」でオートコンプリート・アイテムを定義し、次のように「JavaScript式」クライアント側条件を定義します。

    this.browserEvent.which === 13

    次に、「ページの送信」アクション・タイプをコールする「Trueアクション」を定義します。

5.1.13 アイテム・タイプのマークアップの改善

このリリースでは、アイテム・タイプのフォーム・マークアップに次の改善が行われています。

  • マークアップは、表から移動され、<div>要素に変更されました。

  • CSSクラスは、より一貫性のあるネーミング規則を使用します。

  • アイテムのスタイル設定に使用されるクラスが追加されました。

これらの変更は、カスタム・テーマに影響を与える可能性があるため、アプリケーションのUIに影響する場合があります。カスタム・テーマを使用する場合は、アイテムのマークアップを確認できます。

ユニバーサル・テーマを使用する場合は、以前のバージョンのユニバーサル・テーマの既知の問題を解決するために、テーマを最新バージョンにリフレッシュすることをお薦めします。

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドサブスクライブされたテーマのリフレッシュ

5.1.14 テキスト・メッセージの置換

このリリースでは、テキスト・メッセージの置換に次の更新が行われています。

  • 特定のテキスト・メッセージのMY_MESSAGEについて、v('APP_TEXT$MY_MESSAGE')を使用してメッセージ・テキストを取得できるようになりました。

  • APP_TEXT$MY_MESSAGE$XXを使用して、言語XX (DE、FRなど)の翻訳テキストを返します。

  • 同じ構文は、apex.util.applyTemplate APIを介してクライアント上でサポートされます。

5.1.15 「リスト・ビュー」リージョン

非推奨のモバイルUIの「リスト・ビュー」リージョンは、デスクトップUIでサポートされます。

このリリースでは、「リスト・ビュー」リージョンに、次の更新が行われています。
  • デスクトップUIで、非推奨のモバイルUIの「リスト・ビュー」リージョンがサポートされるようになりました。

  • ネストされたリストの動作をリフレッシュします。

  • デスクトップUIのネストされたリストによってjQuery Mobileページは作成されません。

  • デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。

5.1.16 「列切替えレポート」リージョン

このリリースでは、「列切替えレポート」リージョンに次の更新が行われています。

  • デスクトップUIで、非推奨のモバイルUIの「列切替えレポート」リージョンがサポートされるようになりました。

  • 「列切替えレポート」リージョンでリフレッシュおよびページ・アイテムの送信がサポートされるようになりました。

  • 「列切替えレポート」リージョンで「メッセージ: データが見つからない場合」属性がサポートされるようになりました(デスクトップのみ)。

  • 列のポップアップを開くボタンをカスタマイズするための新しい「列ボタン・テキスト」属性。

  • 新しいアクセス可能表マークアップと「行ヘッダーとして使用」属性。

  • デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。

5.1.17 「リフロー・レポート」リージョン

このリリースでは、「リフロー・レポート」リージョンに次の更新が行われています。

  • デスクトップUIで、非推奨のモバイルUIの「リフロー・レポート」リージョンがサポートされるようになりました。

  • 「リフロー・レポート」リージョンでリフレッシュおよびページ・アイテムの送信がサポートされるようになりました。

  • 「リフロー・レポート」リージョンで「メッセージ: データが見つからない場合」属性がサポートされるようになりました(デスクトップのみ)。

  • アクセス可能表マークアップと「行ヘッダーとして使用」属性。

  • デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。

5.1.18 サーバーおよびdynamic_actions_core JavaScriptモジュールのAjaxエラー・メッセージの変更

Oracle Application Expressサーバーおよびdynamic_actions_core JavaScriptモジュールは、Ajaxエラーが発生してもwindow.onerrorをコールしなくなりました。

5.1.19 「クラシック・レポート(ファンクションに基づく)」の削除

このリリースでは、「クラシック・レポート(ファンクションに基づく)」は使用できなくなりました。かわりに「クラシック・レポート」リージョン・タイプを使用します。

ビューAPEX_APPLICATION_PAGE_REGIONSの列SOURCE_TYPE_PLUGIN_NAMEはNATIVE_FNC_REPORTのかわりにNATIVE_SQL_REPORTを返します。

5.1.20 JETガント・チャートの日時書式

このリリースより前では、Zの使用はJETガント・チャートでレンダリングされた日時情報の書式マスクに自動的に適用されました。ただし、すべての日時情報の書式マスクでZを使用すると、顧客の予期しない動作が発生しました(タイムゾーン書式設定が必要ない場合に、チャートの日時情報がタイムゾーン書式設定でレンダリングされるなど)。

このリリースでは、書式マスク設定は、JETガント・チャートのDate列のデータ型(DATETIMESTAMPTIMESTAMP with TIME ZONEまたはTIMESTAMP with LOCAL TIME ZONEであるかどうかに関係なく)に基づくようになりました。

書式マスク設定は、列のデータ型にも基づいています。DATE列の場合、書式マスクはZを使用しなくなりました。チャート情報を確認するユーザーには、適切なタイムゾーン情報でレンダリングされた日時が表示されるようになりました。

5.1.21 新規HTTPヘッダーX-Content-Type-OptionsおよびX-XSS-Protection

ブラウザでブラウザ・セキュリティを向上させるために、Oracle Application Expressはリクエストごとに2つの新しいHTTPレスポンス・ヘッダーを送信します。
  • X-Content-Type-Options: nosniff

  • X-XSS-Protection: 1; mode=block

X-Content-Type-Options: 正しいContent-Typeを送信するようにアプリケーションおよびデータを更新します。回避策として、値を「sniff」に設定できますが、これは短期的にのみ使用する必要があります。X-Content-Type-Optionsに「nosniff」値を設定すると、ブラウザでのMIMEタイプ・スニッフィングを防ぐことができます。レスポンスで無効なContent-Type (ファイル・タイプがPNGの場合に"image/gif"など)が返される場合、これによりパフォーマンスが低下することがあります。

X-XSS-Protection: 一部のカテゴリのクロスサイト・スクリプティング攻撃を防ぎます。

これらのヘッダーを非表示にすることはできませんが、アプリケーションまたはインスタンスレベルの「HTTPレスポンス・ヘッダー」属性に異なる値を設定することでこれらをオーバーライドできます。

5.1.22 データベース・モニターのユーザー名およびパスワードの大/小文字の区別

このリリースでは、データベース・モニターへのアクセスに使用するデータベース・ユーザー名とパスワードの大/小文字が区別されるようになりました。

関連項目:

Oracle Application Express SQLワークショップ・ガイドデータベースの監視

5.1.23 複数対話グリッド列用の値の設定動的アクション

このリリースより前の動的アクションでは、値の設定アクションを使用して、影響を受ける複数の要素に同じ値(異なる値ではなく)を設定することが可能でした。この動作は制限的であり、通常のページ・アイテム(SQL問合せからの異なる値で複数のページ・アイテムを設定できます)と整合性がありません。

このリリースでは、動的アクションがページ・アイテムと整合性を持つようになり、SQL問合せで複数の異なる値を問い合せて、それらを複数の対話グリッド列名にマップできるようになりました。

複数の対話グリッド列に単一の値を設定するようにSQL問合せを以前定義していた場合は、最初の対話グリッド列にのみそれが設定されるように動作が変更されたことに気が付くと思います。これを修正するには、異なる列の別名で同じ列値を選択し、「影響を受ける要素」に定義されている各対話グリッド列にマップされるようにSQL文を変更します。

構文の例

次に例を示します。

select 1 col1, 1 col2 from my_table

「影響を受ける要素」で、「列」にCOL1,COL2を定義します。

5.1.24 ページの作成ウィザードのマスター・ディテールの機能拡張

以前のリリースでは、ページの作成ウィザードの「マスター・ディテール」オプションは「フォーム」の下に表示されていました。「マスター・ディテール」は、ページの作成ウィザードのオプションとして使用できるようになりました。

「マスター・ディテール」をクリックすると、次のオプションが表示されます。

  • 積上げ - 編集可能対話グリッドを含む1ページのマスター・ディテールを作成します。(以前のリリースでは、これは「1ページのマスター・ディテール」と呼ばれていました。)

  • ドリルダウン - 2ページ(またはドリルダウン)のマスター・ディテールを作成します。最初のページには、マスター表の対話モード・レポートがあります。2ページ目には、マスター用の標準フォームと詳細用の対話グリッドがあります。(以前のリリースでは、これは「2ページのマスター・ディテール」と呼ばれていました。)

  • 左右 - 単一ページ(または左右)のマスター・ディテールをマスター表とディテール表で作成します。左側には、マスター・レコードにナビゲートするためのマスター・リストがあります。右側には、選択したマスター・レコードおよび関連する詳細レポートがあります。

    注意:

    左右はこのリリースの新機能です。ページの作成ウィザードで作成された左右マスター・ディテール・ページは、以前のバージョンのApplication Expressで作成されたユニバーサル・テーマのバージョンを使用したアプリケーションで動作しません。必要なメディア・リスト・レポート・テンプレートがないためです。回避策としては、このページを作成する前に、最新バージョンのユニバーサル・テーマにリフレッシュします。

また、アプリケーションの作成ウィザードの「マスター・ディテール」のオプションも名前が変更されました。

  • 積上げ - 以前は「マスター・ディテール」と呼ばれていました。

  • ドリルダウン - 以前は「編集可能グリッド」と呼ばれていました。

5.1.25 パッケージ・アプリケーションが生産性アプリ、サンプル・アプリおよびアプリ・ギャラリに名前変更された

パッケージ・アプリケーションは、生産性アプリおよびサンプル・アプリに名前が変更されました。

「パッケージ・アプリケーション」タブは、「アプリケーション・ギャラリ」に名前が変更されました。

5.1.26 Oracle REST Data Serviceインストールの検証

Oracle Application Expressを新規インストールまたはアップグレードする場合は、次を実行してOracle REST Data Servicesのインストールを検証する必要があります。

java -jar ords.war validate [--database <dbname>]

関連項目:

Oracle Application Expressインストレーション・ガイドOracle REST Data Servicesのインストールの検証

5.1.27 jQuery UIウィジェットのタッチ・サポートへの変更

Oracle Application Express 18.1より前は、jQuery UIベースのウィジェットでドラッグまたはスライドのようなタッチがサポートされませんでした。Application Express 18.1では、すべてのjQuery UIウィジェットおよびjQuery UIに基づくAPEXウィジェットにタッチ・サポートが追加されました。これにより、タッチ・デバイスでドラッグ操作およびスライド操作が機能するようになりました。たとえば、ページ・デザイナのスプリッタはタッチを使用して移動でき、ページ・デザイナのツリー・ノードはドラッグおよびドロップできます。

この変更により、多くの場合にスクロールがタッチで中断されるという予期しない結果が生じました(Bug#28076798)。

Application Express 18.2では、スクロールが再び機能するように、この変更が元に戻されました。多くの場合、タッチ・サポートはApplication Express 18.1より前と同様に機能します。

jQuery UIベースのすべてのウィジェットにグローバルにタッチ・サポートを追加するのではなく、Application Expressはスクロールに影響しない箇所でのみタッチをサポートするようになりました。具体的にはタッチ・サポートは次の場合に追加されます。

  • スプリッタ・ウィジェット(ページ・デザイナおよびその他の場所で使用されます)

  • 対話グリッドでの列のサイズ変更および並べ替え(注意: 小さい画面のモバイル・デバイスでは、対話グリッドの使用を困難にするその他の要因があります)

Application Express 18.1で追加されたタッチ・サポートに依存している場合は、次の例のようなコードを使用して、ウィジェットごとに有効にできます。

apex.widget.util.TouchProxy.addTouchListeners( someWidget$[0] );

ここで、someWidget$はウィジェット要素を表すjQueryオブジェクトです。

6.1 非推奨となった機能

非推奨となった機能は、今後のリリースのOracle Application Expressでサポートを終了するか、削除する予定の機能です。機能がアプリケーション・メタデータまたはAPIに関連する場合、既存のアプリケーションはこの機能を引き続き使用できますが、この項の説明に従って開発者がアプリケーションを変更することをお薦めします。Oracle Application Express Advisorを使用して、非推奨となった属性に関して既存のアプリケーションをスキャンします。

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドアプリケーション整合性のチェックのためのアドバイザの実行

6.1.1 apex.serverプラグインおよび処理関数の非同期オプションは非推奨

今後のリリースでは、非同期オプションは無視され、すべてのAjaxリクエストが非同期になります。

6.1.2 apex.widget.initPageItemファンクションは非推奨

apex.widget.initPageItemファンクションは非推奨です。かわりに、アイテム・プラグインの作成者はapex.item.createを使用する必要があります。

6.1.3 jQuery FlotおよびFlotプラグインは非推奨

jQuery Flotバージョン0.7、0.8、0.8.2および0.8.3は、Oracle Application Expressで現在使用されておらず、今後のリリースで削除されます。パッケージ・アプリケーションも、Flot折れ線グラフ、Flot棒グラフおよびFlot円グラフのプラグインを削除するように更新されました。アプリケーション・コードで参照を削除し、Oracle JETデータ視覚化に基づいて宣言的チャート・ソリューションを使用してください。

6.1.4 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTESは非推奨

APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTESは非推奨になっており、Oracle Application Expressの次のメジャー・リリースで使用できなくなります。開発者は、この機能を、より優れたサポートをネイティブ機能に提供するapex_plugin_util.get_element_attributesに置き換える必要があります。

6.1.5 クラシック・レポートの外部処理は非推奨

クラシック・レポートの外部処理機能は非推奨になっており、今後のリリースで削除されます。

それまでの間に外部処理機能を使用するには、アプリケーションに非推奨またはサポート対象外のJavaScriptファイルを含める必要があります。このファイルを含めるには、アプリケーションを選択し、「ユーザー・インタフェースの詳細」を編集します。「非推奨またはサポート対象外になったJavascript関数を含む」で18.xより前を選択します。

6.1.6 APEX_UTIL.STRING_TO_TABLEファンクションは非推奨

Oracle Application Express 5.1以降、APEX_STRING.STRING_TO_TABLEは非推奨になりました。かわりにAPEX_STRING.SPLITを使用してください。

6.1.7 APEX_UTIL.TABLE_TO_STRINGファンクションは非推奨

Oracle Application Express 5.1以降、APEX_STRING.TABLE_TO_STRINGは非推奨になりました。かわりにAPEX_STRING.JOINを使用してください。

6.1.8 非推奨のJavaScript関数

次の関数は、このリリースでは非推奨となっています。

  • $d_Find

  • $d_LOV_from_JSON

  • $dom_JoinNodeLists

  • $dom_Replace

  • $f_Enter

  • $f_First_field

  • $s_Split

  • $tr_RowMoveFollow

  • $u_ArrayToString

  • $u_js_temp_drop

  • $u_SubString

  • $x_Check_For_Compound

  • $x_object

  • $x_Show_Hide

  • addLoadEvent

  • ajax_Loading

  • base_disableItem

  • confirmDelete2

  • dhtml_ShuttleObject

  • doMultiple

  • findPosX

  • findPosY

  • flowSelectAll

  • getScrollXY

  • hideShow

  • html_GetTarget

  • html_ReturnToTextSelection

  • html_RowDown

  • html_RowUp

  • html_StringReplace

  • htmldb_ch

  • htmldb_ch_message

  • htmldb_doUpdate

  • htmldb_goSubmit

  • htmldb_item_change

  • ie_RowFixFinish

  • ie_RowFixStart

  • json_SetItems

  • lc_SetChange

  • selectString

  • setCaretToBegin

  • setCaretToEnd

  • setCaretToPos

  • setSelectionRange

  • setValue2

  • widget.util.disableIcon

  • wiget.util.enableIcon

6.1.9 JETダイヤル・ゲージ・チャート・タイプの非推奨

JETダイヤル・ゲージ・チャート・タイプはこのリリースから非推奨となり、今後のリリースで削除される予定です。

7.1 サポートが終了した機能

サポートが終了した機能は使用できなくなりました。サポートが終了した機能がアプリケーション・メタデータまたはAPIに関係している場合、既存のアプリケーションが以前のように機能しないことがあります。機能を置き換えるようにアプリケーションを変更することをお薦めします。

7.1.1 サポートが終了した条件タイプ

Oracle Application Expressリリース18.1では、次の属性の次の条件タイプはサポートされなくなりました。

サポートが終了した条件タイプごとに、処理中のOracle推奨のアクションに従ってアプリケーションを修正してください。

属性 - 条件

  • 条件タイプ:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上

    • クライアント・ブラウザはMozilla、Netscape 6.x/7x以上

    • クライアント・ブラウザはその他のブラウザ(または以前のバージョン)

    • クライアント・ブラウザはXHTML/CSS対応のブラウザ

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')などのPL/SQL式をかわりに使用します。

    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • SQLレポート

    • 現在のページ=/!=送信ページ(ポスト済)

    • テキスト=/!=値

    • テキストは値/アイテムに含まれる/含まれない

    推奨アクション:
    • ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。

  • 条件タイプ:

    • 常時

    推奨アクション:
    • 条件を指定しないことで、同じ結果が実現されます。

属性 - 読取り専用条件

  • 条件タイプ:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上

    • クライアント・ブラウザはMozilla、Netscape 6.x/7x以上

    • クライアント・ブラウザはその他のブラウザ(または以前のバージョン)

    • クライアント・ブラウザはXHTML/CSS対応のブラウザ

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')などのPL/SQL式をかわりに使用します。

    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • SQLレポート

    • 現在のページ=/!=送信ページ(ポスト済)

    • テキスト=/!=値

    • テキストは値/アイテムに含まれる/含まれない

    推奨アクション:
    • ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。

属性 - サーバー・キャッシュ条件

  • 条件タイプ:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上

    • クライアント・ブラウザはMozilla、Netscape 6.x/7x以上

    • クライアント・ブラウザはその他のブラウザ(または以前のバージョン)

    • クライアント・ブラウザはXHTML/CSS対応のブラウザ

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')などのPL/SQL式をかわりに使用します。

    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • SQLレポート

    • 現在のページ=/!=送信ページ(ポスト済)

    • テキスト=/!=値

    • テキストは値/アイテムに含まれる/含まれない

    推奨アクション:
    • ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。

  • 条件タイプ:

    • 常時

    推奨アクション:
    • 条件を指定しないことで、同じ結果が実現されます。

属性 - リンク条件

  • 条件タイプ:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上

    • クライアント・ブラウザはMozilla、Netscape 6.x/7x以上

    • クライアント・ブラウザはその他のブラウザ(または以前のバージョン)

    • クライアント・ブラウザはXHTML/CSS対応のブラウザ

    推奨アクション:
    • SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')などのPL/SQL式をかわりに使用します。

    • SYS.OWA_UTIL.GET_CGI_ENV('XYZ') APIなどのPL/SQL式をかわりに使用します。

  • 条件タイプ:
    • SQLレポート

    • 現在のページ=/!=送信ページ(ポスト済)

    • テキスト=/!=値

    • テキストは値/アイテムに含まれる/含まれない

    推奨アクション:
    • ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。

  • 条件タイプ:

    • 常時

    推奨アクション:
    • 条件を指定しないことで、同じ結果が実現されます。

7.1.2 モバイル・テーマ51およびjQuery Mobileユーザー・インタフェースのサポート終了

jQuery Mobileユーザー・インタフェースおよびモバイル・テーマ-51はサポートが終了しました。jQuery Mobileのオープン・ソース・ライブラリの最新の安定バージョンは2014年10月31日にリリースされ、jQueryバージョン1.8、1.11および2.1のサポートのみ提供します。パッチが提供されません。Oracle Application Expressリリース18.1には、jQuery 3.2が同梱されています。モバイル・デバイスを対象としたすべての新規アプリケーション開発は、レスポンシブ・ユニバーサル・テーマを使用して行う必要があります。jQuery Mobileは、今後のリリースでサポートされなくなります。

既存のアプリケーションをユニバーサル・テーマに移行する方法の詳細は、https://apex.oracle.com/utユニバーサル・テーマ・アプリケーションに移動し、移行ガイドを選択してください。

7.1.3 APEXExportSplitterのサポート終了

ワークスペース、アプリケーションおよび関連ファイルをエクスポートするためのAPEXExportプログラムはサポートされなくなりました。プログラムなしでかわりに-splitパラメータを使用してください。

注意:

Oracle Application Expressリリース5.1では、APEXExportに、エクスポートしたアプリケーションを複数のファイルに分割する-splitパラメータが含まれていました。

8.1 修正されたバグ

次の項では、このリリースで修正されたバグの一覧を示します。

表 - 18.2で修正されたバグ — 対話グリッド

バグ番号 説明

25407894

対話グリッド: レポート設定が表示または非表示の場合のサイズ変更の問題

25421676

固定の高さの対話グリッド: 多くの設定がある場合に、データが不明瞭になることがある

25681997

対話グリッド: スティッキー・ヘッダーおよびフッターがグリッドの幅からはみ出すことがある

25697123

列にデフォルトがある場合、使用されていない行の表示値が対話グリッドによって追加される

26171679

編集可能対話グリッドの水平スクロールバーがデフォルトで表示される

26794608

対話グリッド: 値の設定動的アクションで複数の列がサポートされない

27764967

ページ・デザイナ: 対話グリッドを作成しても最大長が移入されない

27766712

[Enter]が押されたとき、対話グリッドのオートコンプリートが次の行に移動しないようにする必要がある

27853204

対話グリッドがタブ内にある場合、ページごとの行数が表示されない

27939068

コンテンツがチャートまたは対話グリッドの場合のインライン・ダイアログの問題

27939189

インライン・ダイアログの対話グリッドでの列ヘッダー・メニューの問題

28012212

エクスポート・ファイルにパブリック対話グリッド・レポートが含まれている場合、アプリをインポートできない

28094343

対話グリッドのINITIALSELECTIONオプションが予期したとおりに動作しない

28140106

対話グリッド: IEのカスタム・レポート・セレクタに下ボタンが2つある

28142480

対話グリッドの株価チャートでJSエラーが発生する

28143302

リージョンに高さがある場合、対話グリッドの単一行ビューでスクロールできない

28202781

翻訳済アプリの対話グリッドでアップグレード時にエラーが発生する

28256852

モバイル・デバイス上の対話グリッドで41レコードを表示すると40レコードが表示される

28269761

対話グリッドのチャート: 日次列タイプにラベルを設定するとJSエラーがスローされる

28298408

対話グリッドのディテール・リージョンが多すぎると、JavaScriptの例外が発生する

28321329

IE 11上の対話グリッドの選択リストに、現在の値が表示されない

表 - 18.2で修正されたバグ — 生産性アプリとサンプル・アプリ

バグ番号 説明

27458757

P-Track: スーパー管理者以外およびプロジェクト・メンバー以外が制限されたプロジェクトにアクセスできる

27474168

商談トラッカ: 新しく作成した商談ステージにシリアル番号がない

27628969

議事メモ: アスタリスクで始まる予定表を持つ会議の作成/保存でエラーが発生する

27792102

商談トラッカ: 商談の詳細を表示すると、無効な識別子エラーがスローされる

27798338

グループ・カレンダ: イベント・カラー・タイプ作成ウィザードにカラー・ピッカーがない

27798366

グループ・カレンダ: 時間枠の作成にカレンダがない

27866201

インシデント・トラッキング: 製品に複数のバージョンを追加できない

27975282

P-Track: プロジェクトに問題を追加できない

27989068

顧客トラッカ: 「フィードバックの管理」ページのエラー

28041550

サーベイ・ビルダー: 質問票の編集時にブラウザ・コンソールでJSエラーが発生する

28041611

サーベイ・ビルダー: 質問票の編集時のレイアウトの問題

28124851

グループ・カレンダ: グループ・メンバー・ページのスタイルが他のページと一貫性がない

28321258

グループ・カレンダ: すべてのユーザーがホーム・ページでフィルタをカスタマイズできる

28321448

顧客トラッカ: フレックス列の割当てを作成できない

28321655

P-Track: プロジェクトを4Kを超えるテキストで更新するとエラーが発生する

28329440

データ・レポータ: 6ページで表を選択したとき、問合せが37ページに表示されない

表 - 18.2で修正されたバグ — その他

バグ番号 説明

27444130

インライン・ダイアログを2回目に開こうとすると開けない

27666219

PREPARE_URLを使用したスケジュール済ジョブで、パブリック・ブックマークのチェックサムが生成されない

27945850

APEX_WEB_SERVICEで「REASON_PHRASE」がG_STATUS_CODEのように公開される

27971759

有効な値がNULLの場合、APEX_APP_SETTING.SET_VALUEが有効な値ではないというエラーになる

27991296

「ジョブ・レポート」の作成機能ページが11.2データベースで機能しない

27991486

時間を持つ日付ピッカーを再度開いたとき、最後の選択内容が記憶されていない

27993099

アプリにログインできない: APEX_180100.WWV_FLOW_SESSION_GROUPS$_PKエラーがスローされる

28013850

URLに非準拠の特殊文字{}があるためにWebサーバー・エラーが発生する

28030767

「スタイルの設定」動的アクションがオートコンプリート・アイテムを持つテキストフィールドで機能しない

28035049

APEXユーザーを使用したORDS OAuth2管理画面への認証の問題

28075855

回帰: リージョンSQL問合せで代入が行われない

28076798

モバイル上のタッチを使用したツリー・メニューおよびダイアログでスクロールできない

28076993

現在、ORDS RESTワークショップで大きいスクリプト・サイズを処理できない

28077007

ORACLE APEX 18.1ディストリビューションでフィードバックが有効になる

28088432

クラシックRPT SQLにORDER BY句がある場合に、ページ・デザイナで警告が表示されない

28092435

「CHAR」データ型が返された場合、ORDSサービスのWebソースの検出に失敗する

28093976

UTリンク・リスト・テンプレートで#A03#置換文字列の前にスペースがない

28094163

APEX_WEB_SERVICE.MAKE_REST_REQUESTでP_BODY_BLOBの最後のバイトが転送されないことがある

28134223

コメントなしでフィードバックを追加するとORA-01400が発生する

28141790

対話モード・レポートのチャート: リージョン表示セレクタを持つページのリフレッシュでエラーが発生する

28143815

「ページ区切りなし」が使用された場合、Webソースのクラシック・レポートでエラーがスローされる

28149359

アプリケーションの作成ウィザード: USER_ACCESSページでの保存の認可

28171466

対話モード・レポートで数値列およびドイツ語NLSに対してフィルタを設定するとエラーがスローされる

28202697

インポート時に既存のアプリを上書きすると、新しいアプリ名が表示されない

28247250

カスタム認証スキーム: REMEMBER_DEEP_LINKで監視ファンクション・エラー

28253542

JETガント: 日付書式はZulu時間形式を使用するようにデフォルト設定されない必要がある

28263482

リージョンのビルド・オプションの使用状況のレポート・リンクを使用すると、削除されたページにリダイレクトされる

28263730

Webサービス・リクエストで断続的にORA-00942が発生する

28267010

対話モード・レポートの列ヘッダー・フィルタで「特殊文字をエスケープ」が考慮されない

28268953

チャート・タイプを変更すると、ページ・デザイナでレガシーAnyChartシリーズが表示されない

28271422

ファインダ・ダイアログに古いレガシー・イメージのタブが表示されない必要がある

28285763

ORA-02091: アプリケーションの削除時にトランザクションがロールバックされる

28290313

Webシート: 未処理のORA-20515: 添付ファイルをダウンロードするときの無効なセッション

28292884

動的アクション: IG列に基づいてクライアント側の条件を作成できない

28293165

対話モード・レポート: リフレッシュすると、フォーカスが列検索メニュー・ボタンに移動する

28295777

Web SRC検出の非常に複雑なJSONで、ORA-06502「数値または値のエラー」がスローされる

28311481

認証後アプリ処理が公開ログイン・ページで実行されない

28313210

ダイアログ・ページのタイトルが長い場合、ダイアログ・ページにリンクをレンダリングするとエラーが発生する

28320098

fr-caロケールで日付がある場合、対話モード・レポート・フィルタでORA-12728がスローされる

28325138

認証リモート・サーバーを使用したWeb SRCモジュールでのアプリのインポートでORA-01403がスローされる

28328206

NLS: ORDS RESTfulサービス・ページのハードコードされた英語文字列(4850:100)

28333520

汎用列および合計の計算を有効にしたクラシック・レポートでORA-01403がスローされることがある

28333648

汎用列を持つクラシック・レポートで、列名が「COLNN」の場合、ORA-01403がスローされることがある

28335589

データのロードで空白行が無視されなくなった

28341051

8191バイトを超えていて、CLOBに絵文字が含まれている場合、APEX_JSON.PARSE(CLOB)エラーが発生する

28349551

APEX_APPL_WEB_SRC_PARAMETERSビューとAPEX_APPL_WEB_SRC_COMP_PARAMSビューが常に空である

28355038

同じSQL*Plusセッションでサンプル・アプリに複数のワークスペースを作成できない

28358263

APEX_JSON.PARSE: エンコードされた絵文字が正しく解析されない

28359264

Webソース・モジュールでURL問合せ文字列が正しく引用符で囲まれない

28366600

JETチャート: ページ・デザイナの低い列と高い列のマッピングでは、数値のみが許可される必要がある

28373036

合計列付きで出力されるクラシック・レポート: 合計のタイトルにエスケープされたHTMLが含まれている

28383598

クラシック・レポートに「ページ区切りが範囲外」というメッセージが表示されなくなった

28388390

ラジオ・グループ・アイテムおよびチェック・ボックス・アイテムがピル・ボタンとして表示された場合、応答しない

28405546

Web SRC操作「リクエスト本文テンプレート」として255文字を超える文字を入力できない

28415314

サンプルRESTサービスの作成時に、EMP表およびDEPT表が作成されない

28420025

APEXアプリの外部で呼び出された場合、Web SRCモジュールで数値の小数点文字が無視される

28438646

ACL機能: 認証スキームでは宣言的な「ロール内にある」タイプが使用される必要がある

28438668

リスト・ビュー・リージョン: 「行数」属性が内部的に1増加する

28439164

アクション・コードでAPEX_JSONが使用される場合、動的アクションでJSONエラーが発生する

28497009

APEX_WORKSPACE_LOG_ARCHIVEビューで、部分ページ・ビューが誤って計算される

28575023

HTTPステータス4XXおよび5XXの場合、WebソースのOUTパラメータが処理されない

28576978

スワイプおよびパンのジェスチャがAndroidモバイルのChromeで動作しない

28582552

ソーシャル・サインイン: アクセス・トークンが4000文字より大きい場合、ORA-06502が発生する

9.1 オープン・バグおよび既知の問題

この項では、Oracle Application Expressリリース18.2のバグおよび既知の問題について説明します。

ヒント:

このセクションは、このドキュメントを作成していた時点での最新です。変更された動作の最新のリストについては、次の場所の「Known Issues」ページを参照してください。

http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex181-known-issues-4478237.html

9.1.1 イメージ・フォルダからのAnyChart Flashコンポーネントの削除

前のリリースで、AnyChartおよびAnyGantt Flash .swfファイルは/imagesフォルダから削除されました。これにより、AnyChartマップ・チャートおよびガント・チャートはレンダリングされなくなりました。エラー・メッセージは表示されず、かわりにリージョンが空白になります。

9.1.2 jQuery UIおよびjQueryアップグレードの既知の問題

jQuery 3.1.1は、以前の2.xバージョンとの互換性がなくなりました。アプリケーションが削除された2.x機能に依存している場合は、jQuery移行プラグインを使用できます(このプラグインを含めるには、デスクトップ・ユーザー・インタフェースの詳細属性「jQuery移行を含める」「はい」に設定します)。

アプリケーションが削除された1.x jQuery APIに依存している場合、その機能はOracle Application Expressリース18.1では機能しなくなります。jQuery 3.1 APIのみを使用するようにJavaScriptを更新する必要があります。詳細は、次のjQuery移行ガイドを参照してください。

jQuery UI 1.12.xは、バージョン1.10.4と比較してライブラリを構成するフォルダ構造およびファイルが変更されています。古いファイル名への直接参照がある場合は、新しい名前に更新する必要があります。たとえば、以前に#JQUERYUI_DIRECTORY#ui/#MIN_DIRECTORY#jquery.ui.tabs#MIN#.jsでタブ・ウィジェットを参照していた場合は、#JQUERYUI_DIRECTORY#ui/widgets/#MIN_DIRECTORY#tabs#MIN#.jsに変更する必要があります。

Application ExpressデスクトップUIページに対して(jquery-ui-apex.jsとして、またはdesktop[_all].min.jsの一部として)デフォルトでロードされるOracle Application Express固有のバンドルjquery-ui-apex[.min].jsには、すべてのコア・ファイル、ドロップ効果および次のウィジェットが含まれます。

  • button

  • checkboxradio

  • controlgroup

  • datepicker

  • dialog

  • draggable

  • droppable

  • resizable

  • selectable

  • sortable

  • tooltip

これは、基本的に1.10.4と同じセットですが、sortableが追加されています。sortableへの別の参照がある場合は、削除できます。

jquery-ui-apex[.min].cssファイルはデフォルトでロードされ、すべてのjQuery UI CSSファイルが含まれています。個々のjQuery UI cssファイルへの参照が含まれていた場合は削除できます。

9.1.3 RESTfulサービスおよびOracle REST Data Services (ORDS)の既知の問題

Oracle Application Express 18.1およびOracle REST Data Services 18.1を使用している場合、RESTfulサービスの開発およびデプロイ時に次の問題が発生する可能性があります。

9.1.3.1 ワークスペース名が最初にプロビジョニングされたスキーマ名とは異なる場合の問題

問題

この問題は、17.4.1と18.2以上を除くすべてのOracle REST Data ServicesリリースおよびApplication Expressのすべてのリリースに影響します(ORDSサービスは、SQL DeveloperまたはAPIで作成できます)。この問題は、ワークスペース名とスキーマ名が異なる場合に、ワークスペースの最初に配分されたスキーマで作成されたサービスで発生します。

Oracle REST Data Servicesの以前のリリースでは、Application Express環境に関する情報を取得するときにエラーが発生したため、指定されたワークスペース名が最初にプロビジョニングされたスキーマ名と一致しない場合、Oracle REST Data Servicesは、ORDSベースのRESTfulサービスを提供できません。このエラーは、Oracle REST Data Services 17.4.1で修正されましたが、Oracle REST Data Services 18.1でまた発生しました。

次の例でこの問題について説明します。

  • ユーザーには、既存のAPEXベースのRESTfulサービスがあり、Oracle REST Data Servicesに移行して、ORDSベースのRESTfulサービス定義を変更します。ユーザーがサービスをコールし、新しいロジックの実行を期待しても、かわりに古いAPEXベースのRESTfulサービスがコールされます。ユーザーがAPEXベースのRESTfulサービス・ページに移動し、元のサービスを削除して、ORDSサービスのコールを期待するサービスを実行すると、404エラーが発生します。

  • ユーザーが最初にプロビジョニングされたスキーマで新しいORDSベースのRESTfulサービスを作成したが、対応するAPEXベースのRESTfulサービスがない場合は、サービスをコールするときに404エラーが発生します。

現時点ではサポートされている解決策はありません。

9.1.3.2 NULL URIを持つApplication Express RESTfulサービスをORDSに移行する場合の問題

問題

5.1より前では、Application Express RESTfulサービス・インタフェースで、NULL URI接頭辞を持つRESTfulサービス・モジュールを作成できました(NULL URI接頭辞を持つ複数のモジュールを作成することもできました)。すべてのモジュールのURIテンプレートは、サービス間でNULL URI接頭辞を共有するために一意である必要がありました。

例: NULL URI接頭辞を使用したモジュール定義

次の定義があるとします。

モジュール1
Name:          MyMod1
URI Prefix:    NULL

URI Templates: /Template1
               /Template2
モジュール2
Name:          MyMod2
URI Prefix:    NULL

URI Templates: /Template3
               /Template4
実際には、これらの定義により、URI接頭辞がNULLの4つのテンプレートを持つ1つの仮想サービスが作成されます。これらは、次の方法でコールできます。
http://server.com/ords/mySchema/Template1
http://server.com/ords/mySchema/Template2
http://server.com/ords/mySchema/Template3
http://server.com/ords/mySchema/Template4

変数の意味は次のとおりです。

http://server.com
サーバーURL
ords
ORDS別名
mySchema
パス接頭辞
null
NULLのモジュールURI接頭辞。コールには表示されませんが、サービスによって処理されます。
Template1
URIテンプレート

NULL URI接頭辞を作成する機能は、Application Express 5.1で無効になっていましたが、以前のリリースで定義されたレガシー・サービスは移行され、削除されないかぎり機能しました。ただし、これらのサービスをOracle REST Data Servicesに移行する場合、ORDSベースのデータ・モデルは、URI接頭辞(NULL接頭辞を含む)が重複する複数のモジュールを受け入れません。

Application Express 18.1のAPEXベースのRESTサービスをOracle REST Data Servicesに移行するためのロジックは、(Oracle REST Data Services 17.4.1で導入された) Oracle REST Data Servicesプロシージャへの単純なパススルーです。ただし、そのプロシージャのロジックは、NULLベース・パスの複数のモジュールを処理できません。この状況でOracle REST Data Servicesに移行しようとすると、「重複値」が発生し、ORA-0001エラーがスローされます(Oracle Bug 27916570)。

解決方法

移行プロシージャに追加されたロジックは、NULL URI接頭辞を持つすべてのモジュールをマージします。この規則は次のとおりです。

Oracle REST Data Services 18.2

影響を受けるすべてのモジュールは、merged.apex.rest.servicesという名前の1つのORDSベースのモジュールにまとめられます

マージ対象のAPEXベース・モジュールのいずれかが公開されている場合、新しくマージされたモジュールは公開されます。

マージ対象のAPEXベース・モジュールのいずれも公開されていない場合、新しくマージされたモジュールは公開されません。

マージ対象のAPEXベース・モジュールに関連付けられているすべてのロールは、新しくマージされたモジュールに割り当てられます。

マージされたモジュールのページ区切りサイズは、マージ対象モジュール内の最大のページ区切りサイズに設定されます。

NULL URI接頭辞を持つAPEXベース・モジュールに重複するURIテンプレートもある場合は、次のようになります。
  • 最近更新されたテンプレートは重複URIを保持します。

  • 他のすべてのテンプレートには、接頭辞dup001_*が指定されます

  • テンプレートのコメントには、1) 移行元のモジュール名、および2) 元のテンプレートURIが含まれます。

Oracle Application Express 18.1

NULL URI接頭辞を持つモジュールが1つまたはまったくない場合、サービスは、Oracle REST Data Servicesのリリースに関係なく正常に移行されます(移行は、Oracle REST Data Services 17.4.1以上でのみ可能です)。

NULL URI接頭辞を持つモジュールが2以上ある場合は、次のいずれかになります。
  • Oracle REST Data Services 18.2以上を使用している場合、モジュールは前述のルールに従って移行されます。

  • Oracle REST Data Servicesのリリースが18.2より古い場合は、警告メッセージが表示され、18.2以上にアップグレードするまでは、Oracle REST Data Servicesにサービスを移行できません。

9.1.3.3 SQL DeveloperまたはSQLスクリプトを使用して、Application Express 18.1以降のスキーマでORDSを有効にするときの問題

問題

この問題は、ORDS 17.4以前およびOracle Application Express 18.1以降を実行しているシステムに影響します。

この問題は、Application Expressのワークスペースに割り当てられたスキーマにのみ影響します。

この問題は、SQL DeveloperまたはSQLスクリプト(つまり、APEX ORDSワークショップではない)を使用してスキーマでORDSを有効にするとき、そのスキーマがApplication Expressのワークスペースにも割り当てられている場合に発生します。

APEX ORDSワークショップは、ORDS SCHEMA ALIASAPEX PATH PREFIXを同期します。ただし、ORDSが別の方法を使用してスキーマを有効にした場合、APEX PATH PREFIXは同期されません。これらの2つのアイテムが同期されていない場合、スキーマ内に定義されているORDSサービスにアクセスしようとすると、ORDSは404エラーを返します。

解決方法

APEX PATH PREFIXORDS URI PREFIXを同期するには、次の手順に従います。

  1. Application Expressで、ORDS RESTワークショップにナビゲートします。

  2. 「構成」ボタンをクリックして、「ORDSスキーマ属性」モーダル・ダイアログを起動します。

  3. スキーマ別名の場合は、別名を選択します。

  4. 「スキーマ属性の保存」ボタンをクリックします。

これにより、ORDS SCHEMA ALIASAPEX PATH PREFIXの両方に同じ値が設定されます。

9.1.4.1 ページ・アイテムに対して出力される一貫性のない必須属性

問題

必須属性の構成によってはスクリーン・リーダーから一貫性のない出力が生成され、アシスティブ・テクノロジのユーザーに混乱をもたらすことがあります。

Oracle Application Expressで必須ページ・アイテムを指定するときに、開発者は検証の詳細に応じて異なる構成手順およびオプションを選択できます。
  1. 該当するラベル・テンプレート(「必須」など)を使用して、ラベルの隣に必要なアイコンを表示する必要があります。このラベル・テンプレートを選択するというのは、スクリーン・リーダーによって読み取られる非表示テキスト((「必須の値」)という内容)を追加するということでもあります。

  2. 入力を検証するには、主に次の2つの方法があります。
    • よく使用される方法は、「必須の値」アイテム属性を設定することです。これは、入力を検証し、さらにフォーム・アイテム属性にaria-required="true" required=を出力します。

    • あまり使用されない方法は、NOT NULLページ検証を使用することです。この検証を行うのは、たとえば、他のコンテキストに基づいて条件付きでページを検証する必要がある場合です(TOTAL_SALES情報を格納するページ・アイテムが必須になるのはJOB = SALESの場合のみであるなど)。

このように個別に検証が使用される場合、アイテムには出力されるアイテムに対する必須属性が含まれません。

このため、出力内容に不整合が生じて、アシスティブ・テクノロジのユーザーに混乱をもたらすことがあります。

この問題は、Oracle Bug#23761182で追跡されます。

回避策

「必須の値」アイテム属性を使用するのではなく、アイテムに対する簡単なNOT NULLスタイル検証を作成し、「必須の値」属性を「いいえ」に設定します。これで、開発者が必須アイテムに適したラベル・テンプレートを定義すれば、必須アイテム全体にわたって一貫性のある体験を実現できます。必須情報は、アイテム属性ではなくラベルに通知されます。

9.1.4.2 リンクおよびボタンを配置した対話グリッドの単一行ビューのキーボード問題

問題

対話グリッドの単一行ビューでは、リンクであるフィールドや、1つ以上のボタンまたはリンクが含まれているカスタム・マークアップ付きのフィールドに関して、次の問題があります。
  • ユーザーは、タイプがリンクの列や、ナビゲーション・モードのキーボードで定義されたリンクがある列をアクティブ化できません。

  • 編集モードまたはナビゲーション・モードのとき、ボタンまたはリンクが含まれている列に余分なタブ・ストップが存在します。

この問題は、Oracle Bug#25245829で追跡されます。

回避策

グリッド・ビューを使用します。ここでリンクおよびボタンをアクティブ化できます。

9.1.4.3 編集モードで対話グリッド・セルのボタンおよびリンクをアクティブ化できない

問題

対話グリッドのグリッド・ビューで、グリッドが編集モードのときに、ユーザーが[Space]キーまたは[Enter]キーを押してセルに含まれているボタンまたはリンクをアクティブ化できません。

この問題は、Oracle Bug#25245887で追跡されます。

回避策

[Esc]キーを押して編集モードを終了し、ナビゲーション・モードに戻ります。ここでボタンおよびリンクを通常どおりアクティブ化できます。

9.1.4.4 対話グリッドでグリッドの後に非表示の余分なタブ・ストップが含まれている

問題

対話グリッドで、ユーザーがグリッド・セクションを超えてタブ移動すると、グリッドの後に非表示の余分なタブ・ストップが存在します。

この問題は、Oracle Bug#25245934で追跡されます。

回避策

グリッド・セクションを超えてタブ移動したら、ページで次に視覚的にフォーカス可能な要素に達するまで、[Tab]キーを複数回押します。

9.1.4.5 ページ・デザイナ、プロパティ・エディタ、表示グループのヘッダーはボタンである必要がある

問題

現在、プロパティ・エディタでは、表示グループはキーボードでフォーカス可能な<div>要素としてマークアップされています。フォーカスされると、ユーザーは、上矢印キーと下矢印キーを使用して表示グループ間をナビゲートでき、プロパティ・エディタのキーボート・サポートの補助となります。ただし、<div>がフォーカスされている場合、JAWSは表示グループのタイトルを2回アナウンスします。また、表示グループが最初にフォーカスされたとき、初期状態ではARIA展開状態をアナウンスしません(展開または縮小時にアナウンスされます)。

この問題は、Oracle Bug#20693220で追跡されます。

回避策

ユーザーは、最初のフォーカス時に状態がアナウンスされないことを認識する必要があり、[Enter]を押してグループを展開または折りたたんでアナウンスを強制的に実行するか、[Tab]を押してフォーカス可能な次の要素(展開している場合はグループの最初のフィールド、折りたたまれている場合は次の表示グループ)に移動するかのいずれかを実行できます。

9.1.4.6 単一の値/アイテム・チェック・ボックスによる不要なfieldsetタグとlegendタグのレンダリング

問題

ネイティブ・チェック・ボックス・アイテムをレンダリングすると、チェック・ボックスのグループのコンテナとして機能するFIELDSETタグ、FIELDSETにアクセス可能なタイトルを提供するLEGENDタグをレンダリングします。これは、グループ内に複数のチェック・ボックスがあるチェック・ボックスの場合は適切ですが、チェック・ボックスに1つのチェック・ボックスのみが含まれる場合、FIELDSETLEGENDをレンダリングすることは不適切です。

この問題は、Oracle Bug#18188460で追跡されます。

9.1.4.7 2つ以上のリージョンに「最大化」ボタンが表示される場合、ラベルが重複する

問題

ネイティブ・リージョン・タイプに組み込まれた最大化機能は、ページが埋まるようにリージョン・コンテンツを最大化できるボタンをリージョン内に表示します。同じページに最大化機能が有効になっているリージョンが2つ以上表示される場合、ボタンのラベルが重複します。

この問題は、Oracle Bug#27685217で追跡されます。

サポートされている回避策はありません。

9.1.4.8 Windows高コントラスト・モードの実行時にアイコンが表示されない

問題

Windows高コントラスト・モードを実行する場合、多くのアイコンやアイコン・ボタンはWindows高コントラスト・モードの使用時に使用できません。

サポートされている回避策はありません。

この問題は、Oracle Bug#27781674で追跡されます。

9.1.4.9 カレンダ・リージョンのリスト・ビューのアクセシビリティを改善する必要がある

問題

このリリースでは、18.2のカレンダ・リージョン・タイプのリスト・ビューは、FullCalendarウィジェットのネイティブ・リスト・ビューを使用するようになりました。18.2より前およびこれをサポートするFullCalendarより前は、Application Expressにリスト・ビューのカスタム実装がありました。FullCalendarリスト・ビューはあまり構造化されていないHTMLを使用するため、アクセシビリティが悪影響を受けます。

サポートされている回避策はありません。

この問題は、Oracle Bug#27941145で追跡されます。

10.1 ドキュメントの追加

このセクションでは、Oracle Application Expressドキュメントの追加について説明します。

10.1.1 Oracle Application Express JavaScript APIリファレンス・プロトタイプ

前のリリースでは、Oracle Application Express JavaScript APIリファレンスのプロトタイプがOracle Help Centerに導入されました。このリリースでは新しいコンテンツで更新されましたが、このバージョンではいくつかのJavaScript APIが除外されている可能性があります。より最終的なバージョンは将来のリリースで提供されます。

今後、このリファレンスには、すべてのJavaScript APIが含まれる予定です。それまでは、Oracle Application Express APIリファレンスJavaScript APIを参照してください。

11.1 ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートを購入したオラクル社のお客様は、My Oracle Supportを介して電子的なサポートにアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

12.1 プライバシに関する通知

このプライバシに関する通知では、作成またはインストールするアプリケーションのユーザーに関する情報がOracle Application Expressによって直接収集されるときに予想されることについて説明します。すべてのApplication Express内部アプリケーション(アプリケーション・ビルダーなど)はApplication Expressで記述されているため、これらのアプリケーションを使用している開発者および管理者にも同じことが当てはまります。オラクル社は、お客様が開発したアプリケーションの情報収集については責任を負いません。

イベントのログ記録

Application Expressは、ユーザーがトリガーしたイベントの拡張可能なログ記録を提供します。たとえば、開発者および管理者は、このデータを使用して、セキュリティやパフォーマンスの問題を調べることができます。ログ・データには、ユーザーのIPアドレス、アプリケーションのユーザー名およびイベント固有の情報が含まれます。次に、イベント・ログ・タイプの簡単なリストを示します。

  •   アクティビティ・ログ: ページ・ビューおよびAjaxリクエスト。開発者およびインスタンス管理者が無効にできます。

  •   ログイン・アクセス・ログ: 成功および失敗したログイン試行。

  •   デバッグ・ログ: アプリケーション固有のインストゥルメンテーション(内部変数値など)。デフォルトでは無効になっており、エンド・ユーザーと開発者がデバッグ・ログを有効にできます。

  •   クリック・カウント・ログ: アプリケーション内での外部リンクのクリック。

  •   Webサービス・アクティビティ・ログ: データベース内からの外部Webサービスへのリクエスト。

  •   開発者アクティビティ・ログ: アプリケーション・コンポーネントに対する変更。

  •   SQLワークショップ・ログ: 開発環境のSQLワークショップのSQL文の履歴。

Cookieおよび関連テクノロジ

Application Expressではサード・パーティのCookieを使用しませんが、ログイン・セッションの維持およびパーソナライズのために機能Cookie (トラッキングなし)とブラウザのSessionStorageおよびLocalStorageを使用します。これは、アプリケーション・セキュリティ、パフォーマンスおよび使い勝手のために重要です。次に、Application Expressが使用するCookieと記憶域名およびその使用目的に関する詳細を示します。

セッションCookie
  • ORA_WWV_USER_instance id: アプリケーション・ビルダーなどの内部アプリケーションのセキュリティのCookie。

  • ORA_WWV_APP_application id、ORA_WWV_APP_workspace cookie idcustom name: アプリケーションのセキュリティCookie。開発者は、アプリケーションの認証スキームでカスタムCookie名を選択できます。

  • ORA_WWV_RAC_INSTANCE: Webサーバーにノードを固定するためのReal Application Cluster (RAC)ノード・インスタンス番号のセッションCookie。複数のRACノードが検出された場合にのみ送信されます。

永続Cookie
  • ORA_WWV_REMEMBER_LANG: ユーザーが選択したアプリケーション言語。

  • ORA_WWV_REMEMBER_UN: (オプション)開発環境ログイン・ページに前回ログインしたときのワークスペースとユーザー名。詳細は、開発環境ログイン・ページのチェック・ボックス「ワークスペースとユーザー名を記憶」を参照してください。

  • LOGIN_USERNAME_COOKIE: (オプション)開発したアプリケーションに前回ログインしたときのユーザー名。詳細は、新しいアプリケーションのログイン・ページのチェック・ボックス「ユーザー名を記憶」を参照してください。既存アプリケーションのログイン・ページでこのCookieをオプションにするには、ページに「ユーザー名を記憶」チェック・ボックスを追加します。APEX_AUTHENTICATION.GET_LOGIN_USERNAME_COOKIEおよびAPEX_AUTHENTICATION.SEND_LOGIN_USERNAME_COOKIEのAPIドキュメントには、チェック・ボックスの値を設定し、チェック・ボックスが選択されている場合にのみCookieを送信するPL/SQLプロセス・コードの例があります。

セッション記憶域
  • ORA_WWV_apex.builder.devToolbar.grid: 開発ツールバーの「レイアウト列の表示」の現在の設定が格納されます。

  • ORA_WWV_apex.builder.themeRoller.application id.*: 開発ツールバーの「テーマ・ローラー」ポップアップの設定が格納されます。

  • .4000.4500.*: ページ・デザイナの各タブ・セットのカレント・タブが格納されます。

  • APEX.userHasTouched: ユーザーがタッチを使用してアプリケーションと通信した(touchstartイベントが表示された)かどうかを記憶するために使用されます。タッチ・デバイスを使用する場合は、一部のコンポーネントでユーザー・エクスペリエンスをカスタマイズするために使用されます。

  • .application id.page.*.activeTab: カレント・タブを保存するオプションが有効化されたタブ・コンテナ・テンプレートを使用して、「リージョン表示セレクタ」リージョンで選択された最後のタブを記憶します

  • ORA_WWV_apex.Calendar.application id.page.region id.lastview: 最後に表示されたカレンダ期間を記憶します。

  • .application id.page.*.preferenceForExpanded: 縮小可能なリージョンの展開状態を記憶します。

  • ORA_WWV_apex.MED_*.splitterPosition: 様々な「対話グリッド」設定ダイアログのスプリッタ・バーの位置が格納されます。

ローカル記憶域
  • ORA_WWV_apex.builder.devToolbar.options: 開発者ツールバーのユーザー・プリファレンス設定の「自動非表示」、「アイコンのみの表示」および「表示位置」が格納されます。

  • ORA_WWV_apex.builder.pageDesigner.useComponentView: ページ・デザイナの「コンポーネント・ビュー」タブのユーザー・プリファレンスが格納されます。

  • ORA_WWV_apex.builder.pageDesigner.model.componentIds: ページ・デザイナの新規コンポーネント用の未使用IDのプールが格納されます。

更新のチェック

開発者がApplication Express開発環境にログインすると、新しいバージョンが使用可能になったときに通知を受け取ります。このバージョン情報を取得するには、Application Expressが隔週でoracle.comサーバーにリクエストを送ります。Application Express製品開発チームが製品の今後に関する決定を行うために使用する開発サーバーに関する匿名統計情報(データベース・バージョン、Application Expressコンポーネントの使用状況など)を渡します。このチェックはデフォルトで有効になっていますが、インスタンス管理者が無効にできます。詳細は、Oracle Application Express APIリファレンスAPEX_INSTANCE_ADMINCHECK_FOR_UPDATESパラメータを確認してください。


Oracle Application Expressリリース・ノート, リリース18.2

F13455-02

Copyright © 2003, 2019, Oracle and/or its affiliates. All rights reserved.

原本著者: Terri Jennings、John Godfrey、Christian Neumueller、Anthony Raynor、Patrick Wolf

原本協力著者: Christina Cho、Jason Straub

原本協力者: Hilary Farrell、Marc Sewtz

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are \"commercial computer software\" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。