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

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

2.1.1 Oracle Databaseの要件

Oracle Application Expressリリース21.1には、Oracle Databaseリリース12.1.0.2以降が必要です(Enterprise Edition (EE)およびExpressエディション(Oracle Database XE)を含む)。

2.1.2 ブラウザ要件

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

2.1.3 リリース番号の規則について

Oracle Application Expressの新規リリースは、カレンダ年に対応しています。

2018年のリリース18.1および18.2以降では、Oracle Application Expressのリリース番号はカレンダ年に対応しています。

また、Application Expressでは完全リリースしか提供されなくなり、パッチ・セット・リリース(5.1.1など)は提供されなくなりました。パッチ・セットのリリースを消去すると、既存のインストールを更新する際の停止時間が短縮されます。Application Expressアーキテクチャでは、必要に応じて開発者がリリースを元に戻すこともできます。

大きい欠陥については、今後もパッチ・セットの例外(PSE)が提供される場合があります。PSEの詳細は、Oracle APEX 21.1の既知の問題ページまたは以前のリリースの以前のリリースのアーカイブを参照してください。

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

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

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

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

Oracle Application Expressをすでにインストールしている場合は、入手可能な最新バージョンに定期的にアップグレードすることをお薦めします。

さらに学習するには、Oracle Application Expressインストレーション・ガイド以前のOracle Application Expressリリースからのアップグレードを参照してください。

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

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

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

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

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

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

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

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

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

      Application Expressについてページが表示されます。

関連項目:

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

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

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

3.1.1 ネイティブ・マップ・リージョン・タイプ

新しいネイティブ・マップ・コンポーネントを使用して、場所データをマップに視覚化します。

  • 点、線、ポリゴン、ヒート・マップおよび3Dポリゴン(押出しポリゴン)の各レイヤー・タイプ。
  • Oracle Elocation Serviceからの背景マップ。すぐに使用でき、APIキーは必要ありません。
  • 完全な対話型: ドラッグ・アンド・ズームして、マップ上のオブジェクトの詳細を表示します。
  • Oracle Spatial (SDO_GEOMETRY)、GeoJSONおよび単純な数値列。
  • 使用可能な場合は、Oracle Spatial (索引、座標変換)を利用します。
  • ローカルSQL問合せ、REST対応SQLまたはRESTデータ・ソースからデータをビジュアル化します。
  • 組込みマーカー・アイコンとSVG形状の豊富なセット。
  • 組込みカラー・スキームによるテーマの視覚化。
  • ファセット検索の統合。
  • 動的アクションのサポートおよびJavaScript API。

3.1.2 ネイティブMarkdownサポート

サーバー上でMarkdownをHTMLに変換する新しいパブリックPL/SQL API APEX_MARKDOWNAPEX_MARKDOWNは、Commonmark仕様のv0.29を実装します。

  • Markdownをサポートする拡張された「表示のみ」アイテム・タイプ。
  • 新しい「書式」属性。
  • 「特殊文字をエスケープ」フラグを削除しました。
  • 「マークダウン」クラシック・レポート列タイプの名前を「リッチ・テキスト」に変更しました。
  • 新しい「リッチ・テキスト」対話モード・レポート列タイプ。
  • データ・エクスポートのHTML形式に追加されたMarkdownサポート。
  • リッチ・テキストおよびリッチ・テキスト・エディタのデフォルトを変更し、デフォルトでセキュアとしてMarkdownを使用できるようにしました。

3.1.3 ユニバーサル・テーマの拡張

  • Redwood Lightテーマ・スタイルが拡張され、Redwood Design Systemにより沿ったものになりました。
  • リージョン、ページ・アイテムおよびアイテム・ボタンに追加された新しい「行CSSクラス」ページ・デザイナ属性。
  • テーマ・スタイルに追加された新しい「ページCSSクラス」テーマ・スタイル属性(テーマ・スタイルの使用を参照)。

3.1.4 アプリケーションのエクスポートをZIPとしてインポート

アプリケーション・ビルダーで、ZIPファイルとして作成されたアプリケーション・エクスポートのインポートがサポートされるようになりました。

  • 「Zipとしてエクスポート」オプションを使用してエクスポートされたアプリケーションおよびコンポーネントは、再インポートできます。
  • ローカル・ファイル・システムで抽出されたZipエクスポートを再圧縮およびインポートできます。
  • APEXExportユーティリティで(-splitオプションを使用して)作成されたフォルダ構造は、Zipファイルに圧縮し、インポートできます。

3.1.5 その他の遅延ロードのサポート

クラシック・レポートおよび対話モード・レポートで遅延ロードがサポートされるようになりました。

  • 遅延ロードのトグルを有効にすると、初期ページのロード速度が向上します。実行時間の長い問合せがあるレポートを含むページでは特に顕著です。

3.1.6 新規アプリケーション・データ・ロード

新しいアプリケーション・データ・ロード機能では、CSV、XLSX、XMLおよびJSON形式がサポートされます。

  • 設計時の列マッピングにより、エンド・ユーザーの負担が軽減されます。
  • 単純名または正規表現に基づく柔軟な列マッピング。
  • トランスフォーメーション・ルールまたは参照問合せによるデータ変換。
  • エンド・ユーザー向けの非常に簡単なフロー: ファイルをアップロードし、プレビューを確認し、データをロードします。
  • CSV、XLSX、XMLおよびJSONデータ形式は、表またはコレクションにロードできます。
  • オプションのエラー処理を使用して、データを追加、マージまたは置換するためのデータ・ロードを構成します。
  • 単純な新規プロセス・タイプ・データ・ロード: 必要に応じて「データのロード」ページをカスタマイズします。
  • カスタム処理に使用可能なPL/SQL API APEX_DATA_LOADING

3.1.7 ファセット検索の機能強化

エンド・ユーザーによるカスタマイズが可能な、オプションのファセット。

  • ページ・デザイナでは、ファセットとファセット・グループに「表示の切替え」」と「初期表示」」という2つの新しい拡張属性が追加されました。
  • 「表示の切替え」が有効になっている場合、エンド・ユーザーは、新しい「ファセットを増やす」ポップアップでそのファセットを表示または非表示にできます。
  • たとえば、すぐに使用しない高度なファセットを非表示にして、オンデマンドで使用できるようにすることができます。

3.1.8 新規日付ピッカー・アイテム・タイプ

新しい日付ピッカーは、Oracle JETの日付コンポーネントに基づいてアクセス可能な最新のアイテム・タイプです。

  • JETベースのポップアップとインライン、ネイティブHTML (JETでなく、優れたモバイルUX)など、様々な表示モードがサポートされます。
  • すべての表示モードで、「日付」と「日付と時間」の両方がサポートされています(新しい専用属性「時間の表示」によって時間が有効になります)。
  • 動的な最小/最大日付を定義する機能(「自」「至」など、アイテム間の日付範囲を定義するため)。
  • その他の新機能には、改善されたUX (特に年および月の選択)、追加の外観オプション(「週の表示」「月の範囲外の日」など)およびその他の新しい属性があります。

3.1.9 RESTデータ・ソース

CSVデータのサポート。

  • 同期を使用して、Webからローカル表へのCSVデータの頻繁なロードをスケジュールします。
  • トランスフォーメーション・ルールおよび参照問合せを使用したデータ変換。
  • 「共有コンポーネント」、「RESTデータ・ソース」にある定義済RESTデータ同期に関する新しい概要レポート。

3.1.10 新規日付ピッカー・アイテム・タイプ

新しいカラー・ピッカーによって古いカラー・ピッカーが置き換えられ、新しい構成オプションが追加されます。Oracle JET Color Spectrumコンポーネントを使用します。

  • 様々な表示モードのサポート: 入力 + ポップアップ、カラーのみ(ボタン) + ポップアップ、インライン、およびネイティブHTMLカラー入力。
  • カラー・プリセット: カスタムまたはテーマから。
  • オプションのコントラスト・チェック。
  • 様々な値の戻り形式: Hex、RGB/RGBA、HSL/HSLA、または任意のCSSカラー値。

3.1.11 レポート出力

PDFへのエクスポート時に、複雑なテキスト・レイアウト言語であるヘブライ語およびアラビア語のサポート。

3.1.12 開発者エクスペリエンス

Monacoベースのコード・エディタがアップグレードされました。

  • 「ミニマップ」、「候補の表示」、「行番号の表示」、「空白の表示」、「アクセシビリティ・モード」の新規オプション。スクリーン・リーダー・ユーザーは、Application Expressを使用するたびにこれを有効にする必要がなくなります。
  • 存在しないページ・アイテムへの参照は、そのようにマークされます(現在のページおよびグローバル・ページのアイテムに制限されます)。
  • 組込みの大/小文字変換アクション用のショートカットである[Ctrl] + [Alt] + [U]/[L] (大文字/小文字)。
  • 新しい「コード・ケースの変換」アクション: [Ctrl] + [Alt] + [C]。'または"で囲まれた文字列に影響を与えずに、大文字と小文字を切り替えます。

FullCalendarをアップグレードしました。

  • 遅延ロードのサポート
  • ファセット検索の統合

3.1.13 JavaScriptライブラリのアップグレード

  • Oracle JET 10.0.0
  • FullCalendar 5.5.1
  • CKEditor5 27.1.0
  • Monaco Editor 0.22.3
  • jQuery 3.5.1
  • jQuery移行プラグイン3.3.2

3.1.14 アプリケーションおよびページ・チェックサム

アプリケーションおよびページ・チェックサムを表示して、異なるアプリケーション・デプロイメントを比較し、アプリケーションまたはページが異なるかどうかを判断します。

3.1.15 新しいJavaScript API

新しい関数とメソッド:

  • apex.item.isItem
  • apex.locale.toNumber
  • recordViewウィジェットに追加されたgetModelメソッド
  • ウィジェットtableModelViewBasetableModelViewおよびgridに追加されたgetModelおよびgetPageInfoメソッド

新しいウィジェット・オプション:

  • gridウィジェットおよびtableModelViewウィジェットに追加されたapplyTemplateOptionsfixedRowHeightおよびpagination.virtualオプション
  • recordViewウィジェットに追加されたapplyTemplateOptionsオプション
  • tableModelViewウィジェットに追加されたaggregateTemplatecontrolBreakTemplateheaderTemplatepersistSelectionshowNullAsstickyTopおよびsyncHeaderHScrollオプション

その他の変更点:

  • pLocationパラメータをapex.page.validateに追加しました
  • グリッド・ウィジェットのfillSelectionメソッドのpFillValueパラメータを、vおよびdプロパティを持つオブジェクトにできるようになりました。
  • pLabelパラメータをアイテム・インスタンス・メソッドgetValidationMessageに追加しました
  • モデル・メソッドgetTotalRecordspCurrentTotalパラメータが追加されました
  • ウィジェットtableModelViewで追加された置換記号APEX$VALIDATION_MESSAGE
  • apex.lang.loadMessagesの新しい機能。キーは%で終了できます。
  • apex.util.applyTemplateの動作の変更点。データ置換では、ページ・アイテムをチェックする前にモデル列をチェックするようになりました。モデル行の処理中に評価されるテンプレートの場合、列にP1_NAMEという名前を付け(適切なプラクティスではない)、P1_NAMEと呼ばれるページ・アイテムも存在すると、列値は&P1_NAME.に置き換えられるようになりました。以前のリリースでは、アイテム値が置換されていました。
  • 以前は、グリッド・ウィジェット・メソッドgetSelectionsetSelectiongetRecordsおよびイベントactivateCell data.row$によって返されたり渡されたりした行(jQueryオブジェクトの配列)には、1つの行に2つの要素(1つの固定要素と1つの非固定要素)が含まれている可能性がありました。独立した固定表がないため、常に1つの要素のみが含まれるようになりました。

3.1.16 v5にアップグレードされたFullCalendar

基礎となるJavaScriptライブラリFullCalendar v5の新しいバージョンをサポートするために、カレンダ・リージョンをアップグレードしました。以前のバージョンのApplication Expressでは、これはFullCalendar v3でした。

Application Expressでv3とv5の両方がサポートされるようになり、ページ・デザイナにはいずれかのバージョンに対応する追加の設定と属性が含まれるようになりました。

新規設定:

  • バージョン(FullCalendar v3またはv5)

v5では使用できない、非推奨になった設定:

  • GoogleカレンダID
  • REST Webサービス(JSON)

3.1.17 フォントAPEXアイコン

「フォントAPEX」ページでフォントAPEXアイコンを検索して表示します。フォントAPEXは、Oracle Application Expressおよびユニバーサル・テーマのアイコン・ライブラリです。

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドフォントAPEXへのアクセスに関する項を参照してください。

3.1.18 その他

  • 対話グリッドでは、「表示: 固定の行高さ」プロパティをオフに設定することにより、可変の高さの行をサポートします。
  • 「数値フィールド」アイテム・タイプは、その書式マスクとクライアント側検証に応じて自動書式設定を行うようになりました。
  • クライアント側の検証メッセージングは、サーバー側の検証メッセージングとの一貫性が向上しました。
  • SQLワークショップの新しい空間索引の作成ウィザード
  • APEX_JSONおよびAPEX_EXECパッケージでのGeoJSONおよびSDO_GEOMETRYサポート。

4.1.1 新しいページ・デザイナ属性「行CSSクラス」(レイアウト)

リージョン、ページ・アイテムおよびアイテム・ボタンの新しいページ・デザイナ属性「行CSSクラス」(レイアウト)。「新規行の開始」=オンで、現在のページ・テンプレートの「行テンプレート」属性にプレースホルダ#CSS_CLASSES#が含まれている場合に表示されます。

この機能により、「列CSSクラス」=オフ (ページ・テンプレート属性)であるためにグリッドがレンダリングされない場合は現在表示されない「列CSSクラス」および「列属性」の動作も改善されます。2つの属性のいずれかが指定されるとすぐに、グリッド・レンダリングが強制されるようになりました。新しい「行CSSクラス」についても同様です。

4.1.2 実行時開発者ツールバーの変更

編集可能なアプリケーションの下部に表示される実行時開発者ツールバーに、「テーマ・ローラー」「ロゴの編集」の2つのオプションを備えた新しい「カスタマイズ」メニューが追加されました。

以前のリリースと同様に、「テーマ・ローラー」は、テーマ・スタイル、色およびその他のアプリケーション属性をすばやく変更できるライブCSSエディタです。「ロゴの編集」を使用すると、実行時にユーザーに表示されるロゴを簡単に追加または変更できます。

4.1.3 テーマ・ローラーおよびロゴ・エディタの変更

  • テーマ・ローラーの「共通の表示」、「すべて表示」および「ヘルプ」ボタンが削除されました。
  • 「現行として設定」ボタンは、「保存」および「名前を付けて保存」ボタンに置き換えられました。いずれかのボタンをクリックすると、「現行として設定」動作が自動的にトリガーされるようになりました。
  • テーマ・ローラーには、Webブラウザの開発者コンソールとの統合も含まれます。
  • テーマ・ローラーおよびロゴ・エディタのダイアログには、ユーザー・インタフェースに適用される新しいスタイルがあります。ダイアログでは、ページ・デザイナと同様に「プロパティ・エディタ」ウィジェットが使用されるようになりました。
  • 以前のバージョンから欠落していたロゴ・エディタ情報が復元されました。

4.1.4 Redwood Lightテーマ・スタイルの更新

  • 新しいRedwood Lightテーマ・スタイルで前のバージョンが置き換わり、Redwood Design Systemにより沿ったものになりました。
  • Redwood Lightには、テーマ・ローラーで編集可能な新しいCSSクラス・オプションが用意されています。

4.1.5 対話グリッドおよびカードでの真の仮想スクロール・ページ区切りのサポート

対話グリッドの可変の行高さ機能と、グリッド・ビュー、詳細ビュー、アイコン・ビュー、カード・リージョンのその他の修正と改善により、仮想スクロール・ページ区切りの動作が変更されました。

以前のリリースの仮想スクロール・ページ区切りでは、DOMにのみ行またはカードを追加していました。これからは「ページ区切りタイプ」が「スクロール」で、「総行数の表示」が有効になっている場合、仮想スクロール・ページ区切りでは、必要に応じてDOMから行またはカードを削除できます。

この変更により、パフォーマンスが向上し、ブラウザのCSSグリッドの制限を回避できますが、「ページ内を検索」や「クリップボードにコピー」などのブラウザ機能にも影響する可能性があります。また、jQueryオブジェクトを返すグリッド選択APIにも影響します。

これらの機能およびAPIは、DOMで現在レンダリングされているレコードでのみ動作します。

4.1.6 JavaScript API apex.message.showErrorsの変更の修正

JavaScript API apex.message.showErrorsは、pErrorsパラメータを介して渡されたエラーを表示します。エラーはエラー・オブジェクトとして渡されます。このオブジェクトにはプロパティunsafeが含まれており、エラー・メッセージがAPIによってエスケープされるかどうかを制御します。これは、次のように機能することがドキュメント化されています。

  • 渡されないかtrueに設定されている場合、APIはメッセージをエスケープします。
  • falseに設定されている場合、APIはメッセージをエスケープしません。

このロジックにはこのリリースで修正された2つの問題がありましたが、この修正では次の動作の変更も導入されました。

  • 'location' = 'page'およびunsafeが渡されない場合: 21.1より前では、unsafeのデフォルトがtrueであったため、メッセージをエスケープしているはずでしたが、そうではありませんでした。21.1では、メッセージをエスケープするようになりました。任意のページ・レベルのメッセージで二重エスケープが表示されている場合は、これが原因である可能性があります。APIを呼び出す前にメッセージがすでにエスケープされていることを確認する場合は、このメッセージに対して'unsafe' = 'false'を渡すようにAPIコールを変更します。
  • 'location' = 'inline'の場合: 21.1より前では、unsafeの値に関係なく、常にメッセージをエスケープしていました。21.1では、unsafeの値を考慮するようになりました。特に、unsafeをfalseに設定した場所はAPIでエスケープしなくなるため、メッセージがすでにエスケープされていることを確認する必要があります。

4.1.7 JavaScriptファイルのURLには構文の変更が必要

ページ属性「JavaScript」: 「ファイルURL」では、[require jet]接頭辞の後にファイル名は不要になりました。これにより、JavaScriptファイルを作成せずに単純なJET要素を使用できます。

たとえば、ページでoj-avatar要素を使用するには、次のページ属性を追加します。

  • 「JavaScript」: 「ファイルURL」で、次を追加します: [require jet]
  • 「JavaScript」: 「ページ・ロード時に実行」で、次を追加します: require(["ojs/ojavatar"], function() {});
  • 「CSS」: 「ファイルURL」で、次を追加します: #JET_CSS_DIRECTORY#redwood/oj-redwood-notag-min.css

oj-avatar要素は、追加のJavaScriptコードなしで使用できるようになりました。

また、ファイルlibraries/apex/requirejs.jetConfig.jsは、[require requirejs]が使用されるたびに自動的にロードされます(以前は、[require jet]が使用されたときにのみロードされていました)。

4.1.8 数値フィールド・アイテム・タイプの書式設定の変更

問題#1

「数値フィールド」アイテム・タイプは、その書式マスクとクライアント側検証に応じて自動的に書式設定を行うようになりました。

クライアントまたはサーバーの数値フィールド・アイテム値に関連する計算で文字から数値への暗黙的な変換に依存している場合、書式マスクによっては、この新しい自動書式設定によりエラーが発生する可能性があります。

解決方法

明示的な数値変換を使用します。

サーバーで、アイテムに使用される書式マスクを渡すto_number関数を使用します。

クライアントで、新しいapex.locale.toNumber関数を使用します。

問題#2

精度が約16桁または17桁を超える数値(非常に大きな整数を含めて、数値により異なります)に自動書式設定を適用すると、JavaScript数値として表現できず、無効とみなされます。

この問題はふつう、通常の数値の入力には影響しませんが、数値型のデータベース・キー列は非常に大きな数値を含むことが多く、クライアント上で不透明な文字列として扱うのが最適なことがよくあります。

解決方法

精度が約16桁を超える非常に大きな数値には、テキスト・フィールドを使用します。

4.1.9 対話グリッドの固定の行高さ

対話グリッドでは、ページ・デザイナで「属性」、「外観」、「固定の行の高さ」を構成することで、可変高の行がサポートされるようになりました。

「はい」に設定すると、列が狭すぎてすべてのデータを表示できない場合に、データの最後に省略記号(...)が表示されます。「いいえ」に設定すると、データは必要に応じて複数の行にまたがって折り返されます。

4.1.10 クライアント側の検証メッセージングの改善

クライアント側検証のユーザー・エクスペリエンスは、サーバー検証メッセージングとの一貫性が向上しました。

  • 「保存する前にエラーを修正してください。」ダイアログは、フォーム検証で削除されました(ただし、対話グリッドで使用される場合はあります)。
  • 必要な値を含む多くのクライアント側検証と、数値フィールド、新しい日付ピッカー、カラー・ピッカーによって実行される新しい検証では、対応するサーバー検証と同じメッセージが使用されます。
  • クライアント検証メッセージでは、メッセージ内で#LABEL#プレースホルダを使用できます。

新しいJavaScript APIapex.page.validateおよびitem.getValidationMessageに対するJavaScript APIの変更も参照してください。

4.1.11 動的アクション-アクション変更のクライアント側の条件

動的アクションの「アクション」に、次の追加属性が表示されるようになりました。

  • クライアント側の条件
  • サーバー側の条件
  • 認可スキーム
  • ビルド・オプション

4.1.12 「基準」=「LOVの値の表示」の変更

「基準」=「LOVの値の表示」では、常にプレーン・テキストとしてレンダリングされ、HTMLタグは常にエスケープされます。

4.1.13 互換性モード

アプリケーション属性「互換性モード」は、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では、JavaScriptで手作業で記述したエスケープをレポート・ソースから削除し、ネイティブ・エスケープを使用することをお薦めします。

互換性モードの変更内容(モード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/18.2)

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

ヒント:

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

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

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

Oracle Application Express 19.1では、リッチ・テキスト・エディタによって、Max Lengthアイテム属性の検証が強制されます。HTMLマークアップの長さがMax Length値を超えると、エラー・メッセージが生成されます。

互換性モードの変更内容(モード19.2/20.1/20.2/21.1)

Oracle Application Express 19.2の「クラシック・レポート」では、空の列値は、改行なしの空白文字( )を使用するのではなく空のセルとしてレンダリングされます。

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

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

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

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

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

  • Application Expressでアウトバウンド・メールを送信する。

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

  • Application ExpressからWebサービスを使用する。

  • Application ExpressからアウトバウンドLDAPコールを作成する。

  • BI Publisherを使用してPDFレポートを出力する。

ノート:

古いApplication Expressバージョンの構成に基づいて12c以上のデータベース上でApplication Expressをアップグレードすると、アップグレードによってネットワーク・サービスが自動的に構成されます。

ヒント:

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

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドレポート出力について

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

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

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

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

4.1.14.3 Oracle Database 12c以上での接続権限の付与

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

次の例は、APEX_210100データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、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_210100',
                           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_210100',
                           principal_type => xs_acl.ptype_db));
END;
/

4.1.14.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_210100ユーザーにACLを適用する必要があります。

5.1 非推奨となった機能

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

関連項目:

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

5.1.1 「コンポーネント・ビュー」タブは非推奨

ページ・デザイナの「コンポーネント・ビュー」タブは、このリリースの時点で非推奨であり、今後のリリースで削除されます。

5.1.2 対話グリッドのアイコンおよび詳細ビューで構文{COLUMN_NAME}_LABELは非推奨

対話グリッドの詳細ビューおよびアイコン・ビューで列ラベルを参照するために使用される&{COLUMN_NAME}_LABEL.構文は非推奨です。

かわりに、&{COLUMN_NAME}%LABEL.を使用します。

5.1.3 「日付ピッカー(jQuery)」は非推奨

このリリースでは、新しい日付ピッカー・アイテム・タイプが導入されました。古い日付ピッカー・アイテム・タイプ「日付ピッカー(jQuery)」は非推奨であるため、使用しないでください。これは、将来のリリースでは削除される予定です。

機能しなくなる可能性のあるカスタマイズを保持するため、既存のアプリケーションは新しい日付ピッカーの使用に自動的に切り替わりません。アプリケーション・ビルダーでアプリケーションの「ユーティリティ」セクションにある「アプリケーションのアップグレード」を使用して、新しい日付ピッカーを使用するようにアプリケーションのすべての日付ピッカーを切り替えることができます。

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド新しいコンポーネントを含めるためのアプリケーションのアップグレードに関する項を参照してください。

5.1.4 「基準」の「PL/SQLコードの出力」属性は非推奨

「基準」の選択肢「PL/SQLコードの出力」は非推奨になりました。

6.1 以前のリリースで非推奨

次の項では、以前のリリースで非推奨になりましたが、Oracle Application Expressで完全には削除またはサポート終了していない機能を示します。

この項の説明に従って開発者がアプリケーションの変更を開始することをお薦めします。Application Express Advisorを使用して、非推奨となった属性に関して既存のアプリケーションをスキャンします。

6.1.1 非推奨のJavaScript関数

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

ユニバーサル・テーマのJavaScript API関数:

  • apex.theme42.util.mq (かわりにapex.theme.mqを使用してください)

6.1.2 非推奨になったjQuery UI

今回のリリースから、jQuery UIは非推奨になりました。サードパーティのApplication ExpressプラグインとカスタムのJavaScriptコードは、jQuery UIの参照がなくなるように更新することをお薦めします。

jQuery UIを使用するネイティブのApplication Expressコンポーネントは引き続き動作しますが、将来のリリースでサポートが廃止される予定です。

6.1.3 ページ・アイテムの計算後操作は非推奨

ページ・アイテムの計算後機能は非推奨となっています。

この機能は、それが使用されていた既存のページ・アイテムでは引き続き使用できますが、新規ページ・アイテムに設定することや、過去にそれが使用されていなかった既存のページ・アイテムに追加することはできません。

6.1.4 「同じ行のすべてのページ・アイテムを表示」属性と「同じ行のすべてのページ・アイテムを非表示」属性は非推奨

「動的アクション」の「表示」アクションと「非表示」アクションには、それぞれ「同じ行のすべてのページ・アイテムを表示」属性と「同じ行のすべてのページ・アイテムを非表示」属性があります。これらの属性は、表ベースのレイアウトを使用するフォーム用に設計されています。「ユニバーサル・テーマ」では表ベースのレイアウトは使用されなくなったため、これらの属性は非推奨になりました。

この機能は、それが「はい」に設定されていた既存の動的アクションでは引き続き使用できますが、開発者が新規動的アクションに対して選択することはできません。

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

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

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

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

6.1.7 「ポップアップLOV」テンプレートは非推奨

「ポップアップLOV」テンプレート・タイプは非推奨になりました。今後リリースされるApplication Expressでは、「ポップアップLOV」ダイアログのレンダリングにこのテンプレートは使用されません。

7.1.1 Webシートはサポート終了

Webシート(websheets.js)は、今回のリリースでサポートが終了し、Application Expressから削除されました。

7.1.2 移行ワークベンチはサポート終了

移行ワークベンチ(アプリケーション移行/アプリケーション4400)は、今回のリリースでサポートが終了しました。

7.1.3 REST管理インタフェースはサポート終了

REST管理インタフェースはサポートが終了し、削除されました。かわりに、Oracle REST Data Services APIOracle APEX RESTエンドポイント(ORDS 20.1以降で使用可能)を使用してください。

次のビューが削除されます。

  • APEX_INST_RESTADM_CLIENT_ROLES
  • APEX_INST_RESTADM_CLIENTS

次のパッケージが削除されます。

  • APEX_INSTANCE_REST_ADMIN

7.1.4 AnyChart、AnyMapおよびAnyGanttの各チャートはサポート終了

このリリースでは、レガシーのAnyChart、AnyMapおよびAnyGanttチャート作成コンポーネントはサポートが終了しました。かわりにJETチャート作成ソリューションを使用してください。

解決方法

Application Expressリリース21.1にアップグレードする前に、アプリケーションのアップグレード・ウィザードを使用して、チャートをJETチャートに切り替えます。21.1にアップグレードすると、既存のAnyChartチャートは自動的にJETチャートに切り替わりますが、カスタムXMLを介して定義されたカスタマイズは処理されません。

AnyMapマップおよびAnyGanttガント・チャートは、JETに自動的に切り替わりません。参照用に、これらのリージョンは静的HTMLリージョンに切り替わり、チャート・シリーズはリージョン・テキストとして保存され、条件付き表示設定は「なし」になります。

7.1.5 生産性およびサンプル・アプリケーションはサポート終了

このリリースのApplication Expressでは、生産性およびサンプル・アプリケーションが製品とともに配布されなくなりました。既存の生産性アプリケーションは自動的にロック解除され、更新できるようになります。

生産性およびサンプル・アプリケーション・リポジトリへのカスタム・アプリケーションのアップロードもサポートが終了しました。スタータ・アプリケーション、サンプル・アプリケーションおよびサンプル・プラグインのコレクションをオンラインでダウンロードできます。詳細は、「ギャラリ」を参照してください。

次のAPIおよびビューはサポートが終了します。

  • APEX_PKG_APP_ACTIVITY
  • APEX_PKG_APP_AVAILABLE
  • APEX_PKG_APP_AUTHENTICATIONS
  • APEX_PKG_APP_INSTALL
  • APEX_PKG_APP_INSTALL_LOG
  • APEX_PKG_APP_INSTALLED
  • APEX_PKG_APPS

7.1.6 Webエントリ・ポイントのWWV_FLOW_EPG_INCLUDE_LOCALはサポート終了

WWV_FLOW_EPG_INCLUDE_LOCALをコンパイルしてサポートされるWebエントリ・ポイントを変更することは、このリリースでサポートが終了になりました。

かわりに、APEX_INSTANCE_ADMIN.ADD_WEB_ENTRY_POINTおよびAPEX_INSTANCE_ADMIN.REMOVE_WEB_ENTRY_POINTを使用して、サポートされるエントリ・ポイントのリストを管理します。

20.2より前のリリースのデフォルト・リストには、いくつかのレガシー・エントリ・ポイントが含まれています。これらはデフォルトで無効化されるようになりました。これらのレガシー・エントリ・ポイントを有効にするには、インスタンス・パラメータENABLE_LEGACY_WEB_ENTRY_POINTSYに設定します。

7.1.7 対話モード・レポートをRTFとしてダウンロードはサポート終了

リッチ・テキスト形式(RTF)での対話モード・レポートのダウンロードは、このリリースでサポートが終了しました。

7.1.8 クイックSQLの履歴表はサポート終了

クイックSQLでは、表データの変更を記録する履歴表またはトリガーは生成されなくなりました。

7.1.9 afterModifyはサポートが終了しました

apex.itemのコールバックafterModifyはサポートが終了しました。

7.1.10 apex.page.confirmのpMessageパラメータはサポートが終了しました

apex.page.confirmのパラメータpMessageのデフォルト値はサポートが終了しました。

7.1.11 apex.navigation.dialog.fireCloseHandlerファンクションはサポートが終了しました

apex.navigation.dialog.fireCloseHandlerファンクションはサポートが終了しました。

8.1 修正されたバグ

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

表 - Oracle Application Express 21.1で修正されたバグ

バグ番号 説明
25374978 対話グリッドのドラッグによる列の並替えで誤った列がドラッグされることがある
27028747 リッチ・テキスト・エディタで「必須」=「はい」の場合のクライアント側の検証の問題
28576530 ページ・デザイナ: 列の同期化により属性がリセットされる
29894215 ページ・デザイナ: 空の表示値に対して静的LOVエディタが機能しない
30121469 ページのインポート時に、対話グリッドの保存済レポートが失われる
30377039 動的アクションの複製で、アクションが同じ順序で保持されない
30478993 ユーザーが列のサイズを変更した後にLOV列名が変更されると、ポップアップLOVでJAVASCRIPTエラーがスローされる
30876807 ファセット検索: 条件付きファセットが使用されている場合、カウント・エントリがゼロにならない
31371568 HTML表を使用した対話モード・レポートのスティッキー・ヘッダー
31713513 APEX_IR.GET_REPORT() / APEX_REGION.OPEN_QUERY_CONTEXT()がORA-14551とともに返される
31889080 「データ・ワークショップ」→「既存表へのデータ・ロード」→マッピングの構成ページにアクセシビリティの問題がある
31896154 セッションの最大アイドル・タイムアウトが12時間から24時間に増加
31907101 フォーム・リージョン: 表名に特殊文字が含まれている場合にORA-00942
31907310 星評価アイテムの動的アクションは、PSUPPRESSCHANGEEVENTがTRUEに設定されている場合でも起動される
31917082 「総行数の表示」が有効な場合のカード・スクロール・ページ区切りの問題
31926950 対話グリッド: 行の初期化では、コピー・ダウンまたは入力中に非同期動的アクションの完了を待機しない
31964453 クライアント側とサーバー側の検証でUXが一致しない
31964488 ページのコピーでは、WEBソース・パラメータとして使用されるページ・アイテム名が調整されない
31972564 クラシック・レポート・ヘッダーのマークアップの量を増やすと、ORA-6502につながる可能性がある
31974748 フィードバック・レポート・ページ4650:8000でチーム開発フィードバック・ステータスを変更できない
31982833 ファセット・グループに「「チャート」を表示」および初期チャート属性を設定できない
31983959 SQLワークショップのデータ・ロード・レポートが「途中で失敗」としてロードされるが、成功している
32006373 11.2および12.1データベースでは、SQLワークショップのデータ・ロードによって列名が27文字に切り取られる
32020595 テーマ・ローラーを閉じた後に無視されるコンパイルが少ない
32029693 クラシック・レポート出力: 列ヘッダー・タイプが「なし」の場合に含まれる列ヘッダー
32030024 クラシック・レポート出力: CSVダウンロード・ファイル名が変更された
32053541 PLSQL RETURNING SQL QUERY内でAPEX_APP_SETTING APIが使用されている場合、APEXビルダーがハードに失敗する
32063777 XLSXエクスポート: ファイルに行が含まれない(ヘッダーのみである)場合、ファイルのオープン中にエラーが発生する
32064659 PEOPLEまたはSCHEDULERという名前のスキーマで新規ワークスペースをプロビジョニングできない
32078291 APEX_DATA_PARSER: P_MAX_ROWSパラメータはCSV専用である
32078420 新しい行でSQL更新を実行しようとすると、フォーム・リージョンに混乱したエラー・メッセージが表示される
32083659 後処理SQLを含むWEBソース・モジュールの対話グリッドで、保存後にORA-1008がスローされる
32093889 ファセット検索で参照時にアクセント付き文字が正しくレンダリングされない
32100296 カード: HTML式で使用される列は、CASE文でのみ使用される場合に検出されない
32106555 自動化: 追加のPL/SQLコードの検証に失敗する
32110682 対話グリッド - LOVアイテムのコピー・ダウンおよび入力が機能しない
32122067 対話グリッド>オートコンプリートが有効なテキストの編集入力フィールドは、セル高さの半分のみに書き込む
32128117 JSON属性に空白が含まれている場合、APEX_DATA_PARSERは列名に接頭辞C_を付ける
32130016 スケジュール式のみが変更された場合、自動化の次回実行日は更新されない
32141872 レガシーWEBサービス参照の作成で、テスト・ボタンが機能しない。
32146719 言語セレクタでAFRIKAANSの誤った翻訳名が表示される
32151091 SQL式タイプの計算が正しく移行されない
32151475 サブメニューが開いているときにメニューをすばやく閉じるとブラウザがハングアップする
32179267 認可スキーム使用率レポートが「ORA-00923: MOT-CLÉ FROM ABSENT À L'EMPLACEMENT PRÉVU」をスローする
32190505 IS文字で始まるクイックSQL表の列で、不要なチェック制約が作成される
32200076 APEX_APPLICATION_PAGE_REGIONS.PARENT_REGION_NAME列には、名前のかわりに親リージョンSTATIC_IDが含まれる
32216453 XLSXエクスポート: フォーマット・マスクのDLとPTが機能しない
32223181 対話モード・レポートまたは対話グリッドを含むサイズ変更可能ダイアログが予期したとおりにサイズ変更されない
32229050 SODAコレクションへのロードで、カスタムJSONセレクタに対して「文字バッファが小さすぎる」とスローされる
32232118 ワークスペース・プロビジョニング: リクエストが拒否されると、同じ名前の今後のリクエストがブロックされる
32234337 簡易URLがオンになっている場合、パブリック・ページの自動タイムゾーン検出が失敗する
32243222 合計アドレス長が255を超える場合、対話モード・レポートの電子メール・ダウンロードを複数の電子メール・アドレスに送信できない
32251683 APEX対話グリッドおよび番号列の切替えで無効が表示されない
32258504 表にBLOB列が含まれる場合に条件列が変更されていた
32265289 APEX_JSON.WRITE - XMLTYPE: 一部の文字がエスケープされない
32266787 名前に$が含まれる非表示のページ・アイテムがあると、送信時にエラーが発生する
32284472 対話モード・レポートのコントロール・ブレーク見出し列の範囲が広すぎるため、水平スクロールバーが表示される
32284612 アプリケーション・ページ・グループがコンポーネントのエクスポートに含まれない
32292269 APEX 20.2リッチ・テキスト・エディタの機能が欠落している
32297891 データ・ロード定義の編集ページで「#OWNER#」がハード・コードされたスキーマ名で上書きされる
32298147 エクスポート・ファイルでアプリケーションIDが異なる場合、ACLグループ割当てがインポート時に削除される
32320466 オートコンプリート・アイテムが有効なテキストに使用されるアイコンが新しい行に表示される
32355339 モーダル・ダイアログを閉じた後もポップアップLOVがページに表示されたままになる
32385347 HTMLエクスポート: リンクをクリックできない
32397278 データ・エクスポート: 形式がPXMLの場合、CLOB値が空
32401639 失われた更新の検出に行バージョン列が使用されると、作成時にフォーム・リージョンがORA-1403をスローする
32402355 APPLICATION EXPRESSビューの結果ページにページ区切りコントロールがない
32408337 「行バージョン列」をリモート・サーバーと組み合せて使用すると、フォーム・リージョン・エラーが発生する
32413882 PREPARE_URL: リージョン・プラグインAJAXコードからコールされた場合、要素の静的IDをトリガーするダイアログが使用されない
32417732 RESTデータ・ソースの作成: 「モジュールを手動で作成」が使用されている場合、APEXはURLへの接続を試行する
32424444 HTMLエクスポート: 出力時に検索ボックスを非表示にする
32424822 XLSXエクスポート: 空白セルにはデータ型を指定できない
32435166 対話グリッドのエクスポート: 列が除外されているときにセルの強調表示を使用してエクスポートをダウンロードするとエラーが発生する
32435362 ワークスペース管理の開発者ログイン・サマリーで単一行ビューの表示中にエラーが発生する
32469275 ネイティブRESTソースがDML操作でWWV_FLOW_PLUGIN.NO_WSM_DML_FUNCTIONをスローする
32478992 ターゲット表が他のスキーマにある場合、データ・ロード定義の編集ページでルックアップ表を保守できない
32484797 CSVエスケープ: レポートにヒントがある場合、インスタンス・パラメータCSV_DOWNLOAD_ESCAPE_FORMULASが無視される
32504914 ファセット検索: 数計算AJAXリクエストで汎用エラー・メッセージのみがスローされる
32523629 APEX_EXECへのWWV_FLOW_EXEC.SET_ACTIVE_FORの公開-プラグイン開発者向け
32540657 対話グリッドの単一行ビューに必須フィールド・インジケータが表示されない
32550201 対話グリッドの「電子メールで送信」のダウンロードで無効なHTTPレスポンスが生成される
32553109 APEX_DATA_PARSERは、複数のネームスペースを含むXML文書に対して行を戻さない
32555560 RESTデータ・ソースAPEX_VIEWSに「COMMENTS」列がない
32566830 PJSONエクスポート: ハイライトおよびフィルタがない
32566836 PJSONエクスポート: コントロール・ブレーク・ラベルがない
32580540 RESTソース同期化ステップの編集ページでソートした後、パラメータ・グリッドが空になる
32588355 両方のリージョンに同じ列名が存在する場合、カード・リージョンがクラシック・レポートと競合する
32589391 ワークスペース・ログイン・ページ4550:20のファイル参照が無効なため、ログに404エラーが発生する
32598000 RESTソース同期ログには、同期実行用のIDを持つ列が必要
32599763 APEX.MESSAGE API: 不整合をエスケープするSHOWERRORS
32613825 「トップ・アプリケーション」リージョンにカスタム・アプリケーション・アイコンがない場合、404エラーがスローされる
32618550 ページ区切りの使用時に、「OCI」RESTデータ・ソースがORA-06502: PL/SQL: 数値または値のエラーをスローする
32659496 対話グリッド: 列およびコントロール・ブレークが固定されているレポートで下にスクロールして合計値を押すとコンソール・エラーが発生する
32666782 PDFエクスポート: ページ3以降、表のセルで間違ったフォントが使用される
32680907 PJSONエクスポート: IGのハイライト名がない
32694665 APEX_REGION.EXPORT_DATAで対話グリッドの表示モードが無視される
32699566 APEX_REGION.EXPORT_DATAで対話モード・レポートのCSSを発行する
32700044 アプリケーションの作成ウィザードとページの作成ウィザードでは、NVARCHAR2列を含む表にファセット検索を作成できない
32740310 「CSSファイルURL」の検索結果の「表示」ボタンで、存在しないページに移動する

9.1.1 以前にインストールしたサンプル・アプリケーションで「ソース表示」リージョン・タイプのプラグインを使用した場合の既知の問題

問題

APEXの以前のリリースでインストールされたサンプル・アプリケーションで使用されていた「ソース表示」リージョン・タイプのプラグインは機能しなくなりました。この問題は、AnyChartチャートおよびAnyMapマップ・チャートに関連付けられたビューが削除されたことが原因です。

解決方法

  1. アプリケーションを開いて編集します。
  2. 「共有コンポーネント」に移動し、「他のコンポーネント」で「プラグイン」およびソース表示を選択します。
  3. PL/SQLコードを更新して、次のコード行(35から48行目)を削除します。
    union all
    select reg.source_type, fs.series_seq, fs.series_name, fs.series_query source
    from apex_application_page_regions reg,
        apex_application_page_flash5_s fs
    where reg.application_id = :APP_ID
        and reg.page_id = :APP_PAGE_ID
        and reg.static_id = d_region_static_id
        and fs.application_id = reg.application_id
        and fs.page_id = reg.page_id
        and fs.region_id = reg.region_id
        and reg.source_type in (
            'Flash Chart',
            'Map'
        )
  4. 「変更の適用」をクリックします。

9.1.2 初期化中のアイテムおよびリージョン・プラグインの可視性の既知の問題

開発者は、「リージョン表示セレクタ」およびタブ・コンテナ・テンプレート(タブ)の現在の動作に依存しないようにする必要があります。これらでは、ページのロード中にすべてのタブ・コンテンツが簡単に表示されます。

この動作は将来のリリースで変更される可能性があります。

9.1.3 JavaScriptの既知の問題

  • apex.locale.toNumberの例が正しくありません。次の行の場合:
    • number = apex.locale.toNumber( "$1234.567", "FML999G999G990D00" );
    • number = apex.locale.toNumber( "€1234,567", "FML999G999G990D00" );
    結果は1234.567です(1234.56ではありません)。
  • apex.locale.formatNumber pFormatパラメータでは、pFormatが指定されていない場合、小数点セパレータがロケール固有の小数点セパレータに置き換えられることを指定する必要があります。

9.1.4 ユニバーサル・テーマ1.5以前で新しいバージョンの日付ピッカーの既知の問題

問題

ユニバーサル・テーマ・バージョン1.5 (Application Express 20.1に付属)以前と組み合せて使用する場合、新しい日付ピッカーに表示の問題があります。

解決方法

アプリケーションでユニバーサル・テーマ1.5以前を使用している場合、新しい日付ピッカーの使用または移行の前に、まずユニバーサル・テーマを最新バージョンにリフレッシュします。

9.1.5 Safari 13でコード・エディタを使用した場合の既知の問題

問題

Safari 13でApplication Express開発環境のコード・エディタを使用すると、エディタが使用できなくなるという既知の問題があります。これは、SQLコマンドを含む、コードを入力できるすべての場所に影響します。

解決方法

Safari 14にアップグレードするか、サポートされている別のブラウザを使用してください。

9.1.6 Firefoxでコンポーネント・ビューを使用する場合の既知の問題

問題

Firefoxでは、「コンポーネント・ビュー」がブラウザで別の場所に移動した後で表示されなくなることがあります。

解決方法

ページ・デザイナで、「ユーティリティ」 (レンチ)をクリックして、「表示」「コンポーネント・ビュー」の順に選択します。プロンプトが表示された場合は、ページをリロードします。タブはページをリロードする前に表示されていますが、リロード後に表示されなくなります。

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

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

アプリケーションが削除された1.x jQuery APIに依存している場合、その機能はOracle Application Expressリース18.1では機能しなくなります。jQuery 3.5+の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への別の参照がある場合は、削除できます。

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

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

9.1.8.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.8.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ベースRESTfulサービスを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.8.3 SQL DeveloperまたはSQLスクリプトを使用して、Application Express 18.1以降のスキーマでORDSを有効にするときの問題

問題

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

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

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

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

解決方法

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

  1. Application Expressで、「SQLワークショップ」「RESTfulサービス」の順にクリックします。

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

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

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

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

9.1.9 REST対応SQLでの対話グリッド・サポート

問題

Oracle REST Data Services (ORDS)のREST対応SQLでは、REST対応SQLリクエストでのバインド変数は1000個までに制限されています。その結果、対話グリッドのDMLで1000個を超える列値が送信されると、次のエラーが表示されます。「内部ORDS OUTバインド制限を超えました。

解決方法

DML行の総数を減らしてください。」

9.1.10 「コンポーネント・タイプ別にグループ化」モードでデフォルト・ビューが使用できなくなります

問題

ページ・デザイナから処理順序でソートおよび「コンポーネント・タイプ別にグループ化」が削除されたため、開発者はデフォルト・ビュー(処理順序でソート)に戻る方法がなく「コンポーネント・タイプ別にグループ化」モードから抜け出せなくなることがあります。

解決方法

  1. ページ・デザイナで、ブラウザから開発者コンソールを開いて、次のコマンドを実行します。

    JavaScript:pageDesigner.saveBoolPref( "GROUP_BY_COMPONENT_TYPE", true );
  2. ページをリフレッシュします。

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

11.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パラメータを確認してください。