ヘッダーをスキップ
Oracle® Application Expressリリース・ノート
リリース5.1
E83809-03
 

 

Oracle® Application Express

リリース・ノート

リリース5.1

E83809-03(原本部品番号:E64906-06)

2017年3月

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連項目:

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

1.2.4 以前のリリースから更新する場合の重要情報

Oracle Application Expressの以前のリリースから更新している場合には、次のドキュメントの「変更された動作」を参照してください。

1.2.5 Oracle DatabaseでOracle Workspace Managerを使用する場合の重要情報

データベースでOracle Workspace Managerを使用する場合は、インストールを試行する前に、My Oracle SupportからOracle Bug#11061801用のパッチをダウンロードして、データベースに適用する必要があります。このパッチを検索するには、「パッチ」タブで「11061801」を検索します。

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

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

1.3 構成要件

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

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

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

関連項目:

『Oracle Application Express管理ガイド』データベース・アクセス記述子(DAD)によるOracle Application Expressへのアクセスの制限に関する項

1.4 新機能

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

1.4.1 対話グリッド

対話グリッドでは、検索およびカスタマイズ可能なレポートの一連のデータがエンド・ユーザーに表示されます。以前のリリースをよく理解しているユーザーにとっては、対話グリッドは表形式フォームに置き換わるものとなります。機能の観点からは、対話グリッドには、対話モード・レポートで使用可能なカスタマイズと、マウスを使用して対話的にレポートを再配置する機能が含まれています。編集可能対話グリッドでは、ユーザーはページ上で直接データ・セットを追加、変更およびリフレッシュすることもできます。

主な機能は次のとおりです。

  • フル機能を備えたグリッド: 固定ヘッダー、固定列、スクロール・ページ区切り、複数のフィルタ、ソート、集計などの強力なレポート機能が含まれています。

  • 拡張可能かつカスタマイズ可能: テキスト、数値データおよびLOVを編集します。対話グリッドは、リッチ・テキスト・エディタを除く、ネイティブのすべてのアイテム・タイプとアイテム・タイプ・プラグインをサポートしています。

  • マスター・ディテール: マスター・ディテール関係を作成し、その縦横のレベルの数は任意です。

1.4.2 Oracle JETチャート

Oracle Application Expressリリース5.1のチャートは、Oracle JETチャート作成ライブラリを基盤としています。Oracle JETチャートは、最新のJavaScript、CSS3およびHTML5のデザイン原理と開発原理に基づいたオープン・ソース・ツールキットである、Oracle JavaScript Extension Toolkit (JET)のコンポーネントです。Oracle JETチャートは、高速かつ高度にカスタマイズ可能で、様々な目的で使用できます。Oracle JETチャートはHTML5に完全に対応し、プラットフォーム、画面サイズまたは機能に関係なく、すべての最新のブラウザで動作します。アプリケーションのアップグレード・ウィザードを使用して、既存のAnyChartチャートを簡単に移行します。

1.4.3 ウィザードの簡略化

リリース5.1では、ウィザードが効率化および簡略化されています。デスクトップ・アプリケーションのアプリケーションの作成ウィザードで、レポート、フォームおよびマスター・ディテールの対話グリッド・ページの作成がサポートされるようになりました。また、スプレッドシートからアプリケーションを作成する場合、このウィザードでは単一ページまたはレポートとフォーム・ページとしての対話グリッドもサポートされます。ページの作成ウィザードには、一貫性と効率性が向上し、より少ないステップで構成されたインタフェースが備えられています。マスター・ディテール・フォームには、単一ページまたは2つのページに対話グリッド・リージョンが組み込まれました。

1.4.4 FullCalendar jQueryライブラリに基づく新規カレンダ

このリリースのカレンダは、FullCalendar jQueryライブラリをベースにしており、CSSを介してカスタマイズできます。主な機能は次のとおりです。

  • 終了日の表示(その日を含む): リリース5.0では、CSSカレンダで終日イベントの終了日がその日を含まないと見なされていました(jQuery FullCalendarプラグインと同様)。リリース5.1では、他のすべてのOracle Application Expressコンポーネントと同様、終了日が含められます

  • JavaScriptカスタマイズ: 開発者は、新しい初期化JavaScriptコード属性を使用して、FullCalendar初期化のカスタマイズをサポートするJavaScriptコードを追加できます。

  • 動的アクション・イベント: 開発者がカレンダ内のイベントを取得して、これらのイベントに対する動的アクションを定義できます。

  • キーボード・サポート: カレンダ・グリッドがフォーカスされている場合、矢印キーを使用してカレンダ内をナビゲートできます。

1.4.5 ページ・デザイナの拡張機能

ページ・デザイナには、多数の重要な拡張機能が含まれています。

  • 「コンポーネント・ビュー」タブ: ページ・デザイナへの移行で開発者を支援するために、ページ・デザイナには「コンポーネント・ビュー」タブが含まれています。レガシー・コンポーネント・ビューの外観と同様、ページ・デザイナの「コンポーネント・ビュー」タブには、ユーザー・インタフェース要素とアプリケーション・ロジックがコンポーネント・タイプ別に表示されます。ただし、コンポーネントをクリックすると、プロパティ・エディタの右ペインで対応する属性がハイライトされ、コンポーネント属性を編集できるようになります。

  • 2ペイン・モード: ページ・デザイナで、開発者が3つではなく2つのペインのみを表示できるようになりました。2ペイン・モードにより、開発者が同時に2つのペインに集中できます。

  • ドラッグ・アンド・ドロップによるタブの順序変更: 開発者がペイン内およびペイン間でタブを順序変更して、ページ・デザイナをカスタマイズできるようになりました。

  • プロパティ・エディタのフィルタ・プロパティ検索: 「フィルタ・プロパティ」フィールドにキーワードを入力して、プロパティ・エディタのグループまたは属性を検索します。

  • プロパティ・エディタの変更インジケータ: 変更した属性は、ページが保存されるまで青色のマーカーとともに表示されます。

1.4.6 Font Awesomeの更新

Oracle Application Expressリリース5.1では、Font Awesomeが4.2.0から4.5.0に更新されました。

1.4.7 フォントAPEXアイコン・ライブラリ

フォントAPEXは、Oracle Application Expressおよびユニバーサル・テーマ用に特別に設計された新しいアイコン・ライブラリで、1,000個以上のアイコンが含まれています。フォントAPEXの詳細は、ユニバーサル・テーマのサンプル・アプリケーションをインストールしてください。

ヒント:

開発者は、「テーマの編集」ページの「共有コンポーネント」でアプリケーションのアイコン・ライブラリを変更できます。

1.4.8 新規パッケージ・アプリケーション

Oracle Application Expressリリース5.1で追加されたパッケージ・アプリケーションは次のとおりです。
  • Quick SQL

  • 競合分析

  • RESTクライアント・アシスタント

Oracle Application Expressリリース5.1に追加されたサンプル・アプリケーションは次のとおりです。
  • サンプル対話グリッド

  • サンプルRESTサービス

1.4.9 保存されていない変更の警告

Oracle Application Expressは、保存されていない変更を検出したときに、エンド・ユーザーに警告を表示するようになりました。

この機能を正しく使用するには、次の情報を理解し、それに従う必要があります。
  • 表形式フォームに対して、「保存されていない変更の警告」機能を使用することはできません。

  • この機能をサポートするために、サードパーティ・プラグインの変更が必要になる場合があります。プラグインのデフォルト実装に不具合が生じた場合は、isChangedコールバックの実装が必要になることがあります。

  • ダイアログを開くボタンについては、「保存されていない変更の警告」属性を「ページのデフォルト」に設定します。

1.5.1 ブラウザ要件

Oracle Application Expressは、Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Internet ExplorerおよびMicrosoft Edgeの現在のリリースおよび以前のメジャー・リリースをサポートしています。

注意:

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

1.5.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)

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

ヒント:

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

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

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

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

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

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

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

  • PDFレポートの印刷

ヒント:

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

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

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

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give apex_050100
  -- the "connect" privilege if apex_050100 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_050100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'apex_050100', 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_050100', 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_050100
  -- the "connect" privilege if apex_050100 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_050100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'apex_050100', 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_050100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

1.5.3.3 Oracle Database 12cでの接続権限の付与

DBMS_NETWORK_ACL_ADMINのプロシージャCREATE_ACLASSIGN_ACLADD_PRIVILEGEおよびCHECK_PRIVILEGEは、Oracle Database 12cでは非推奨です。かわりにAPPEND_HOST_ACEを使用することをお薦めします。次の例は、apex_050100データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、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_050100',
                           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_050100',
                           principal_type => xs_acl.ptype_db));
END;
/

1.5.3.4 無効な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_050100ユーザーにACLを適用する必要があります。

1.5.4 APEX_ESCAPE.HTML_TRUNCでのパラメータ変更

APEX_ESCAPE.HTML_TRUNCでは、P_LENGTHパラメータのセマンティクスが文字からバイトに変更されました。

関連項目:

Oracle Application Express APIリファレンスHTML_TRUNCファンクション

1.5.5 カレンダの変更された動作

カレンダ終了日の動作がその日を含めるように変更

Oracle Application Expressカレンダは、jQuery fullCalendarプラグインに基づいています。以前のリリースでは、このプラグインは終了日をその日を含まないものとして扱っていました(たとえば、2月2日から2月4日までの終日イベントの場合、2月3日までしか表示されません)。この動作のために、他のページ・コンポーネントとの不整合が発生します。この動作に対処するために、開発者はカレンダ問合せの終了日に1日を追加していました。

Oracle Application Expressリリース5.1では、他のOracle Application Expressコンポーネントと比較した際にカレンダの動作が一貫したものになるように、終了日の動作がその日を含むように変更されました。以前の動作に対処するためにカレンダ問合せの終了日に1日を追加していた開発者は、以前行ったこの回避策を元に戻すことが必要になります。

最後に使用された日次、週次または月次ビューをカレンダ・リスト・ビューに反映

Oracle Application Expressリリース5.0では、カレンダ・リスト・ビューのエントリに常に月次ビューが反映されていました。このリリースでは、最後に使用されたビューをカレンダ・リスト・ビューに使用します。たとえば、日次からリストにビューを変更した場合、リスト・ビューは日次ベースになります。週次から切り替えたときには1週間のエントリが含まれ、月次から切り替えたときには1か月のエントリが含まれます。

1.5.6 JavaScriptライブラリの更新

jQueryがバージョン2.1.3からバージョン2.2.3に、バージョン1.11.2から1.12.3にそれぞれ更新されました。バグ修正および拡張機能のリストについては、次を参照してください。

関連項目:

『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』jQueryおよびjQuery UIサポートの理解に関する項

1.5.7 新規アプリケーション・ユーザー・インタフェース属性「ファビコン」

このリリースには、新しいアプリケーション・ユーザー・インタフェース属性である「ファビコン」が含まれています。開発者は、「ファビコン」属性を使用して、ファビコン(またはショートカット・アイコン)を作成できます。ファビコン(またはショートカット・アイコン)を作成するには、この属性にHTMLコードを入力します。この機能を使用するには、ページ・テンプレートに#FAVICONS#置換文字列が含まれている必要があります。

1.5.8 エンジンによるページ・アイテム値のマップ方法の変更

Oracle Application Expressエンジンでは、ページが送信される際に、HTMLページに入力したページ・アイテム値をwwv_flow.acceptプロシージャのパラメータに内部的にマップする方法が変更されています。この変更は、既存のアプリケーションには影響を与えません。

次に、この変更の詳細をまとめます。

  • ページ・アイテム入力フィールドの「名前」属性は、p_t001p_200パラメータにマップしなくなり、p_v00wwv_flow.acceptp_v200パラメータにマップしなくなりました。かわりに、「名前」属性にはページ・アイテム名が含まれるようになりました。

  • ページ・アイテムの「前のテキスト」属性および「後のテキスト」属性に使用できる置換#CURRENT_FORM_ELEMENT#が、p_t001からp_200パラメータおよびp_v00からp_v200パラメータを返すのではなく、ページ・アイテム名を返すようになりました。

  • 内部の非表示フィールドpPageChecksumは、pPageItemsProtectedという名前に変更されました。

  • 内部の非表示フィールドp_md5_checksumは、pPageItemsRowVersionという名前に変更されました。

  • 動的アクションによって送信されるページ・アイテムまたはAjaxリクエスト用のページ・アイテムでは、新規行がCRLFに正規化されるようになりました。

1.5.9 テーマのインポートによる現在のテーマの置換のサポート終了

テーマをインポートするときに、これまでは現在のテーマを置き換えることができました。これはサポートされなくなりました。テーマはインポート可能で、インポート後に、そのインポートしたテーマを使用するようにアプリケーションを切り替えることができます。または、テーマのリストア機能を使用すると、別のアプリケーションのテーマで現在のテーマをリフレッシュできます。

1.5.10 新規ワークスペースでのオプションのサンプル・アプリケーションのインストール

以前のリリースでは、新規ワークスペースをプロビジョニングする際に、サンプル・データベース・アプリケーションAnyCo IT部門Webシートという2つのサンプル・アプリケーションをインストールしていました。Oracle Application Expressリリース5.1では、これらのサンプル・アプリケーションとそのサポートするオブジェクトはデフォルトでインストールされなくなりました。

このデフォルトの動作を変更し、新規ワークスペースにこれらのサンプル・アプリケーションを含めるには、Oracle Application Express管理サービスにサインインし、「インスタンスの管理」「機能構成」にナビゲートし、「新規ワークスペースにデモンストレーション・オブジェクトの作成」「はい」に設定します。

関連項目:

Oracle Application Express管理ガイド新規ワークスペースでのデモンストレーション・オブジェクトの作成の有効化

1.5.11 apex.serverプラグインおよび処理関数の変更

  • apex.server名前空間プラグインおよび処理関数の戻り値は、jqXHRオブジェクトからPromiseオブジェクトに変更されました。

    jqXHR固有の機能(中止を除く)を使用する場合には、それを変更する必要があります。

    この変更により、jqXHRの完了および失敗コールバックがapex.serverの成功およびエラー・コールバックに対応しなかったという問題が修正されます。エラー・コールバックがコールされてからjqXHR完了コールバックがコールされることがあり、この場合、いつエラーが発生したのかを特定するのが難しくなります。その場合、これらのapex.serverファンクションから返されたPromiseは、成功コールを完了としてコールし、エラー・コールを失敗としてコールします。

    これまでは、jqXHRオブジェクトではなく、falseが返される場合がありました。これからは、キュー・オプションを使用している場合も含め、常にPromiseが返されます。

    apexbeforerefreshイベントを取り消した場合には、Promiseが拒否されます(失敗がコールされます)。これまでは、falseが返されていました。

  • apex.server名前空間プラグインおよび処理関数のpOptionsパラメータでは、jQuery.ajaxオプションのサブセットのみがサポートされています。

関連項目:

Oracle Application Express APIリファレンスapex.server.pluginおよび「apex.server.process」

1.5.12 CKEditorの更新

Oracle Application Expressリリース5.1で使用されるCKEditorが、CKEditorバージョン4.5.11に更新されました。以前のバージョン(4.4.6)は削除されました。

1.5.13 CodeMirrorの更新

Oracle Application Expressリリース5.1で使用されるCodeMirrorがCodeMirrorバージョン5.16に更新されました。以前のバージョン(4.4)は削除されました。

1.5.14 Font Awesomeの更新

Oracle Application Expressリリース5.1で使用されるFont AwesomeがFont Awesomeバージョン4.5.0に更新されました。以前のバージョン(4.2.0)は削除されました。

1.5.15 Hammerの更新

Oracle Application Expressリリース5.1で使用されるHammerがHammerバージョン2.0.4に更新されました。以前のバージョン(2.0.3)は削除されました。

1.5.16 jQuery移行の更新

Oracle Application Expressリリース5.1で使用されるjQuery移行がjQuery移行バージョン1.4.1に更新されました。以前のバージョン(1.2.1)は削除されました。

1.5.17 jQuery FullCalendarの更新

Oracle Application Expressリリース5.0に含まれているjQuery FullCalendarライブラリ・バージョン2.2.3が、Oracle Application Expressリリース5.1ではjQuery FullCalendar 2.9.1にアップグレードされました。アプリケーションにカスタムのJavaScriptコードを含めていて、そのコードをOracle Application ExpressにバンドルされているFullCalendar 2.2.3に基づいて記述している場合、この変更はそのアプリケーションに影響を与える可能性があります。

このリリースに含まれているカレンダは、アップグレードされたバージョン(つまり、jQuery FullCalendar 2.9.1)を使用しており、影響を受けません。

1.6 非推奨となった機能

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

関連項目:

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

1.6.1 アプリケーション・ビルダーのコンポーネント・ビューは非推奨

コンポーネント・ビューは、アプリケーション・ページを編集するためのレガシー・ユーザー・インタフェースとされています。開発者はレガシー・コンポーネント・ビューではなくページ・デザイナを使用することをお薦めします。レガシー・コンポーネント・ビューは、ユーザー・インタフェース要素とアプリケーション・ロジックをコンポーネント・タイプ別にグループ化します。ページ・デザイナとは異なり、レガシー・コンポーネント・ビューでは、ページを視覚的に表したり、ページ・コンポーネントをドラッグ・アンド・ドロップすることができません。ページ上のコンポーネントの位置をプレビューするには、ページを実行する必要があります。Oracle Application Expressリリース5.1では、レガシー・コンポーネント・ビューはデフォルトで無効になっています。コンポーネント・ビューを有効にするには、ユーザー・プリファレンスを編集し、「レガシー・コンポーネント・ビューの有効化」に対して「はい」を選択します。 レガシー・コンポーネント・ビューが有効になっていたら、ページ・デザイナに戻り、「コンポーネント・ビュー」タブをクリックし、「レガシー・コンポーネント・ビュー[非推奨]」をクリックします。対話グリッド、Oracle JETベースのチャートなど一部のコンポーネントは、レガシー・コンポーネント・ビューを使用して保守できないことに注意してください。

ヒント:

ページ・デザイナへの移行で開発者を支援するために、ページ・デザイナには「コンポーネント・ビュー」タブが含まれています。レガシー・コンポーネント・ビューの外観と同様、ページ・デザイナの「コンポーネント・ビュー」タブには、ユーザー・インタフェース要素とアプリケーション・ロジックがコンポーネント・タイプ別に表示されます。ただし、コンポーネントをクリックすると、プロパティ・エディタの右ペインで対応する属性がハイライトされ、コンポーネント属性を編集できるようになります。

1.6.2 APEX_UTIL.SET_CURRENT_THEME_STYLEは非推奨

APEX_UTIL.SET_CURRENT_THEME_STYLEは、非推奨になっており、Oracle Application Expressの次回メジャー・リリースでは使用できなくなります。この機能は、APEX_THEME.SET_CURRENT_STYLEに置き換えることをお薦めします。

1.6.3 Microsoft Internet Explorer向けの条件付きファイル・ロードは非推奨

[if IE]/mycss/ie.jsを使用して「JavaScriptファイルURL」属性および「CSSファイルURL」属性でMicrosoft Internet Explorer向けの条件付きファイル・ロードをサポートする機能は、非推奨になりました。

1.6.4 テーマ1-26およびテーマ50は非推奨

ユニバーサル・テーマ(テーマ42)およびモバイル・テーマ(テーマ51)は、Oracle Application Expressリリース5.1の標準のテーマです。古いテーマは、レガシーと見なされ、非推奨になっています。これらのテーマを使用しているアプリケーションは、ユニバーサル・テーマに移行する必要があります。

ユニバーサル・テーマへの遷移の詳細を確認するには、http://apex.oracle.com/utに移動し、「Migration Guide」をクリックします。

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

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

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

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

1.6.7 jQueryオートコンプリートおよびjsTreeプラグインは非推奨

APEXツリー・リージョンによってオプションで使用されるjQuery jsTreeプラグインと、オートコンプリート・アイテムを含むテキスト・フィールドによって使用されるjQuery autocompleteプラグインは非推奨になり、Oracle Application Expressの今後のリリースでは機能しなくなります。ツリー・リージョンには、APEXツリーというかわりのツリー実装がすでに存在します。APEXツリー実装を使用するには、アプリケーションを移行します。

今後の新規実装では、下位互換性のためにオートコンプリートを備えたテキスト・フィールドを提供する予定です。ただし、互換性がなくなる可能性があるため、アプリケーションで直接jQuery autocompleteプラグインを使用しないことをお薦めします。

Application Expressの今後のリリースでは、jQueryライブラリを3.xのラインにアップグレードします。そのときに、jQuery移行1.4.xプラグインを利用するJavaScript動的アクションが含まれているjQueryプラグインやカスタム・コードは(jsTreeautocompleteのプラグインも含めて)機能しなくなります。Application Expressでは今後、新しいjQuery移行3.xプラグインを含めるための宣言的なオプションを提供して、jQuery 1.9以降で機能するものの、jQuery 3.xと互換性がないアプリケーション・コードおよびプラグインをサポートします。

jQuery移行1.4.xがなくてもjQuery 2.2.xで機能するようにアプリケーションを更新することをお薦めします。詳細は、jQueryのアップグレード・ガイド(https://jquery.com/upgrade-guide/)を参照してください。

1.6.8 古いjQueryバージョンは非推奨

jQueryバージョン1.4.2、1.6.2および1.7.1は、Oracle Application Expressで現在使用されておらず、今後のリリースでは削除されます。アプリケーション・コードでの参照を削除し、Oracle Application Expressに同梱されている最新のjQueryバージョンを使用してください。

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

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

1.7.1 移行プロジェクト機能のサポート終了

Oracle Application Expressアプリケーション移行ワークショップ(アプリケーション移行)は、Microsoft Accessアプリケーションの移行をサポートしなくなりました。また、「移行プロジェクト」からアプリケーションを直接生成することもできなくなりました。

1.7.2 クラシック・レポートに対する「RESTfulアクセスを許可」のサポート終了

レポート・リージョンをパブリック・ページにRESTfulサービスとして公開できるようにしていた「RESTfulアクセスを許可」属性のサポートが終了しました。この属性は、Oracle Application Express管理サービスの「インスタンスの管理」の「セキュリティ」にありました。かわりに、Oracle REST Data Servicesに対して定義されているRESTfulサービスを使用することをお薦めします。

1.7.3 削除されたパッケージ・アプリケーション

Oracle Application Expressのこのリリースでは、次のパッケージ・アプリケーションが削除されています。

  • パッケージ・アプリケーション:

    • ユースケース・ステータス

    • 稼働チェック・リスト

1.7.4 サポートが終了したページ属性

サポートが終了したページ属性は次のとおりです。
  • ボディ・ヘッダー - 「ボディ・ヘッダー」属性は使用できなくなりました。このリージョン位置を複製する場合は、新しいページ・テンプレートを作成し、未使用のリージョン表示位置プレースホルダー(#REGION_POSITION_10#など)を#BODY#プレースホルダーの前に追加します。

  • 標準JavaScriptとCSSを含める - 含まれている標準JavaScriptとCSSを削除するには、新しいページ・テンプレートを作成し、#APEX_JAVASCRIPT#プレースホルダーと#APEX_CSS#プレースホルダーを削除します。

1.7.5 サポートが終了したクラシック・レポート属性

サポートが終了したクラシック・レポート列タイプは次のとおりです。
  • サポートが終了した列タイプ列タイプ - クラシック・レポートでは、次の列タイプのサポートが終了しました。「日付ピッカー」、「日付ピッカー(クラシック)」、「ポップアップLOV」、「ポップアップ・キーLOV」、「ラジオ・グループ」、「行セレクタ」、「単純なチェック・ボックス」、「テキスト領域」、「テキスト・フィールド」、「テキストとして表示(状態を保存する)」。

    クラシック・レポートではなく対話グリッドを作成することをお薦めします。クラシック・レポートは、入力可能フィールドを含めるように設計されていません。

  • 非表示列タイプ - このタイプのすべての列は、「非表示列」に変更する必要があります。

1.7.6 サポートが終了した表形式フォーム属性

表形式フォーム「列タイプ」、「日付ピッカー(クラシック)」のサポートが終了しました。このタイプのすべての列は、「日付ピッカー」に更新する必要があります。

1.7.7 サポートが終了したリージョン属性

サポートが終了したリージョン・タイプは次のとおりです。

  • クラシック・ツリー - リージョン・タイプ「ツリー」を指定し、同じSQL文を使用して、これらのリージョンを再作成します。

  • 「SVGチャート」と「単純なチャート」 - 同じSQL文を使用して、これらのリージョンをタイプ「チャート」に置き換えます。

1.7.8 サポートが終了したアイテム属性

サポートが終了したアイテム属性は次のとおりです。

  • 「タイプ」、「日付ピッカー(クラシック)」 - これらのアイテムを「日付ピッカー」に更新します。

  • 「タイプ」、「グリッド・レイアウトの停止と開始」 - 「グリッド・レイアウトの停止と開始」アイテムを削除し、次のページ・アイテムの「新規グリッドの開始」を「はい」に設定します。

  • ファイル参照の記憶域タイプ、「WWV_FLOW_FILES表」 - WWV_FLOW_FILESでの選択、更新または削除操作は、APEX_APPLICATION_TEMP_FILES表を使用するように変更する必要があります。リクエストの後、またはセッションがパージされると、ファイルは自動的にパージされるため、削除は必要なくなりました。

    注意:

    永続ストアとしてWWV_FLOW_FILESを使用していた場合、ファイルは、スキーマ内の表の、そのファイル独自のBLOB列にコピーする必要があります。

1.7.9 サポートが終了したボタン属性

サポートが終了したボタン属性は次のとおりです。

  • 「前のテキスト」、「後のテキスト」 - ボタンのいずれの側にもテキストを追加できなくなりました。

  • アクション - 「前のページ」、「次のページ」および「ページのリセット」の各ボタンは、表に対するフォームとレポートを作成する場合など、リージョンを作成するときに自動的に生成されなくなりました。類似のボタンを手動で再作成し、適切なボタン動作を入力できます。

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

Oracle Application Expressリリース5.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ファンクションを使用します。

  • 条件タイプ:

    • 常時

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

1.7.11 サポートが終了したブランチ属性

「ブランチ処理の前にステートを保存」属性は、サポートされなくなりました。ブランチ処理の前にセッション・ステートを保存する場合、必要な値がページ送信時にまだ設定されていなければ、それらを設定するためのプロセスまたは計算を作成する必要があります(:P10_DEPTNO := 10;を使用するなど)。

注意:

ブランチ処理時にブランチによってアイテムが設定されない場合は、このフラグを「いいえ」に設定しても影響はありません。

1.7.12 サポートが終了したプロセス属性

次のプロセス属性はサポートされなくなりました。
  • 「タイプ」、「行のレガシー自動処理」 - これらのプロセスを「行の自動処理(DML)」に置き換えます。

  • 「タイプ」、「レガシーWebサービス」 - これらのプロセスを「Webサービス」に置き換えます。

  • 「フェッチ・モード」、「表示時にメモリー・キャッシュを設定」 - フェッチ・モードでは、ページ・アイテムにフェッチされた値はフェッチ・プロセスの実行時にただちに割り当てられず、かわりに、ページ・アイテムのレンダリング時に割り当てられます。この属性を「NULL」に設定して、フェッチ・プロセスの実行時にセッション・ステートがただちに設定されるようにすることをお薦めします。

1.7.13 サポートが終了した動的アクションでの同期Ajax

「結果を待機」属性を「はい」にすることで、Oracle Application Expressは動的アクションに非同期Ajaxリクエストを使用するようになりました。Oracle Application Expressアプリケーションは、現在の同期動作を利用できなくなりました。特に、ページのアンロード(unload)イベントまたはページの送信前(apexbeforepagesubmit)イベントへの応答で、動的アクションまたはその他の方法を使用してAjaxリクエストを実行しないでください。

1.7.14 サポートが終了したレガシーJavaScriptメニューAPI

Oracle Application Expressリリース5.1では、次のメニュー関連のAPI (これまでlegacy.js.DeprecatedメニューAPIにあったもの)はサポートされていません。
  • item_menu

  • dhtml_CloseAllSubMenus

  • app_AppMenuMultiClose

  • dhtml_DocMenuCheck

  • dhtml_ButtonDropDown

  • dhtml_MenuOpen

  • dhtml_SingeMenuOpen

  • app_AppMenuMultiOpenBottom

  • app_AppMenuMultiOpenBottom2

  • app_AppMenuMultiOpenBottom3

前述のAPIのいずれかを現在使用しているアプリケーションは、宣言的メニュー(つまり、メニュー・ナビゲーションまたはメニュー・リスト・テンプレート)を使用するように変更する必要があります。

1.7.15 サポートが終了したJavaScript API htmldb_Getオブジェクト

Oracle Application Expressリリース5.1では、htmldb_Getオブジェクト(これまでlegacy.jsにあったもの)はサポートされなくなりました。現在htmldb_Getを使用しているコードは、apex.server名前空間のAPIを使用するように書きなおす必要があります。

1.7.16 サポートが終了したリッチ・テキスト・エディタ属性値

Oracle Application Expressでは、エディタFCKEditor 2またはInternet Explorerの使用がサポートされなくなりました。

かわりに、リッチ・テキスト・エディタ・ページ・アイテムは常にCKEditor 4を使用してレンダリングされます。

1.7.17 DOMオブジェクトに基づく動的アクションのサポート終了

Oracle Application Expressでは、DOMオブジェクトに基づく動的アクションがサポートされなくなりました。DOMオブジェクトのかわりにjQueryセレクタまたはJavaScript式を使用するように動的アクションを変更します。

1.7.18 APEX_PLSQL_JOBパッケージのサポート終了

Oracle Application Expressでは、APEX_PLSQL_JOBパッケージが使用できなくなりました。この機能は、ネイティブのデータベース提供のパッケージDBMS_SCHEDULERに置き換えてください。

1.7.19 ツリー・リージョンでのjsTree実装のサポート終了

Oracle Application Expressでは、ツリー・リージョンのjsTreeリージョン実装がサポートされなくなりました。APEXツリー・リージョンを使用するようにツリー・リージョンを変更してください。

1.7.20 WebシートPL/SQLセクション・タイプのサポート終了

Oracle Application Expressでは、WebシートPL/SQLセクション・タイプがサポートされなくなりました。既存のPL/SQLセクション・タイプは編集できなくなりました。

1.7.21 古くなったサード・パーティ・ライブラリ・バージョンの削除

次の古くなったサード・パーティ・ライブラリ・バージョンは削除されました。
  • jQuery UI 1.8、1.8.14、1.8.22

  • Modernizr 2.5.3

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

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

ヒント:

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

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

1.8.1 Firefoxにバグがあるときの大規模チャート・リージョンでのOracle JETチャート凡例

問題

FirefoxのOracle JETチャートでは、指定したチャート・リージョン内に凡例全体が表示されないときに、すべてのエントリを表示するために凡例をスクロールする必要がある場合、スクロール・ダウンして凡例を表示することができません。

この問題は、現在Oracle JETバグ番号24675613で追跡されています。

回避策

凡例全体を表示するには、スクロール・ダウンではなくスクロール・アップしてください。

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

問題

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

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

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

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

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

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

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

対処方法

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

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

問題

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

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

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

対処方法

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

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

問題

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

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

対処方法

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

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

問題

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

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

対処方法

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

1.8.2.5 ユニバーサル・テーマ・ページ通知アラートが一部のアシスティブ・テクノロジで無視される

問題

スクリーン・リーダーが、想定どおりにページ通知アラート(対話グリッド成功メッセージなど)をアナウンスしません。このアラートはWAI-ARIAアラート・ガイドラインどおりにコーディングされていますが、スクリーン・リーダーがアナウンスに失敗しています。

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

対処方法

通知はまだヘッダー・タグにあるため、スクリーン・リーダーのユーザーはページのヘッダーをスキャンすれば、アラートで伝えられる情報を知ることができます。

1.8.2.6 ワークスペース・ログイン・ページでのページ上およびページ下へのナビゲーション・リンクのリンク・テキストの欠落

問題

ワークスペース・ログイン・ページには同一ページの下と上へのリンクがあり、上下のコンテンツ間を移動するためのナビゲーション補助として機能しますが、リンク・テキストが欠落しています。アクセシビリティ向上のため、これらのリンクにはaria-label="Jump down" (または同様のテキスト)が含まれる必要があり、これはアップ・リンクについても同様です。

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

対処方法

標準のブラウザ・コントロールを使用して、ページをナビゲートします。

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

問題

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

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

対処方法

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

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

問題

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

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

対処方法

単一の入力チェック・ボックスには、Oracle Technology Network (http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html)から入手できる「単純なチェック・ボックス」アイテム・プラグインを使用します。

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

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)を参照してください。


Oracle® Application Expressリリース・ノートリリース5.1

E83809-03

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

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

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

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

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の登録商標です。

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