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について」ページを表示します。
-
Oracle Application Expressにサインインします。
ワークスペースのホームページが表示されます。
-
ページ上部の「ヘルプ」メニューをクリックし、「情報」を選択します。
Application Expressについてページが表示されます。
-
関連項目:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の開発環境へのアクセスの概要に関する項
2.1.7 21.1以前のリリースから更新する場合の重要情報
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 新機能
Oracle Application Expressリリース21.1には、多数の新機能が含まれています。次の新機能は、Application Expressリリース20.2およびそれ以前のリリースには存在しません。
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_MARKDOWN
。APEX_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.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
メソッド- ウィジェット
tableModelViewBase
、tableModelView
およびgrid
に追加されたgetModel
およびgetPageInfo
メソッド
新しいウィジェット・オプション:
grid
ウィジェットおよびtableModelView
ウィジェットに追加されたapplyTemplateOptions
、fixedRowHeight
およびpagination.virtual
オプションrecordView
ウィジェットに追加されたapplyTemplateOptions
オプションtableModelView
ウィジェットに追加されたaggregateTemplate
、controlBreakTemplate
、headerTemplate
、persistSelection
、showNullAs
、stickyTop
およびsyncHeaderHScroll
オプション
その他の変更点:
pLocation
パラメータをapex.page.validate
に追加しました- グリッド・ウィジェットの
fillSelection
メソッドのpFillValue
パラメータを、v
およびd
プロパティを持つオブジェクトにできるようになりました。 pLabel
パラメータをアイテム・インスタンス・メソッドgetValidationMessage
に追加しました- モデル・メソッド
getTotalRecords
にpCurrentTotal
パラメータが追加されました - ウィジェット
tableModelView
で追加された置換記号APEX$VALIDATION_MESSAGE
apex.lang.loadMessages
の新しい機能。キーは%で終了できます。apex.util.applyTemplate
の動作の変更点。データ置換では、ページ・アイテムをチェックする前にモデル列をチェックするようになりました。モデル行の処理中に評価されるテンプレートの場合、列にP1_NAMEという名前を付け(適切なプラクティスではない)、P1_NAMEと呼ばれるページ・アイテムも存在すると、列値は&P1_NAME.に置き換えられるようになりました。以前のリリースでは、アイテム値が置換されていました。- 以前は、グリッド・ウィジェット・メソッド
getSelection
、setSelection
、getRecords
およびイベント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 APIでapex.page.validate
およびitem.getValidationMessage
に対するJavaScript APIの変更も参照してください。
4.1.11 動的アクション-アクション変更のクライアント側の条件
動的アクションの「アクション」に、次の追加属性が表示されるようになりました。
- クライアント側の条件
- サーバー側の条件
- 認可スキーム
- ビルド・オプション
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#
を使用します。
リリース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管理者ガイドのデータベースの互換性レベルの指定を参照してください。
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_ACL
、ASSIGN_ACL
、ADD_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を使用して、非推奨となった属性に関して既存のアプリケーションをスキャンします。
5.1.2 対話グリッドのアイコンおよび詳細ビューで構文{COLUMN_NAME}_LABELは非推奨
対話グリッドの詳細ビューおよびアイコン・ビューで列ラベルを参照するために使用される&{COLUMN_NAME}_LABEL.
構文は非推奨です。
かわりに、&{COLUMN_NAME}%LABEL.
を使用します。
5.1.3 「日付ピッカー(jQuery)」は非推奨
このリリースでは、新しい日付ピッカー・アイテム・タイプが導入されました。古い日付ピッカー・アイテム・タイプ「日付ピッカー(jQuery)」は非推奨であるため、使用しないでください。これは、将来のリリースでは削除される予定です。
機能しなくなる可能性のあるカスタマイズを保持するため、既存のアプリケーションは新しい日付ピッカーの使用に自動的に切り替わりません。アプリケーション・ビルダーでアプリケーションの「ユーティリティ」セクションにある「アプリケーションのアップグレード」を使用して、新しい日付ピッカーを使用するようにアプリケーションのすべての日付ピッカーを切り替えることができます。
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドの新しいコンポーネントを含めるためのアプリケーションのアップグレードに関する項を参照してください。
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.6 apex.widget.initPageItemファンクションは非推奨
apex.widget.initPageItem
ファンクションは非推奨です。かわりに、アイテム・プラグインの作成者はapex.item.create
を使用する必要があります。
6.1.7 「ポップアップLOV」テンプレートは非推奨
「ポップアップLOV」テンプレート・タイプは非推奨になりました。今後リリースされるApplication Expressでは、「ポップアップLOV」ダイアログのレンダリングにこのテンプレートは使用されません。
7.1 サポートが終了した機能
サポートが終了した機能は使用できなくなりました。サポートが終了した機能がアプリケーション・メタデータまたはAPIに関係している場合、既存のアプリケーションが以前のように機能しないことがあります。機能を置き換えるようにアプリケーションを変更することをお薦めします。
7.1.3 REST管理インタフェースはサポート終了
REST管理インタフェースはサポートが終了し、削除されました。かわりに、Oracle REST Data Services APIでOracle 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_POINTS
をY
に設定します。
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 オープン・バグおよび既知の問題
この項では、Oracle Application Expressリリース21.1のバグおよび既知の問題について説明します。
ヒント:
このセクションは、このドキュメントを作成していた時点での最新です。変更された動作の最新のリストについては、次の場所の「Known Issues」ページを参照してください。
https://www.oracle.com/tools/downloads/apex-downloads/apex-211-known-issues.html
- 以前にインストールしたサンプル・アプリケーションで「ソース表示」リージョン・タイプのプラグインを使用した場合の既知の問題
- 初期化中のアイテムおよびリージョン・プラグインの可視性の既知の問題
- JavaScriptの既知の問題
- ユニバーサル・テーマ1.5以前で新しいバージョンの日付ピッカーの既知の問題
- Safari 13でコード・エディタを使用した場合の既知の問題
- Firefoxでコンポーネント・ビューを使用する場合の既知の問題
- jQuery UIおよびjQueryアップグレードの既知の問題
- RESTfulサービスおよびOracle REST Data Services (ORDS)の既知の問題
- REST対応SQLでの対話グリッド・サポート
- 「コンポーネント・タイプ別にグループ化」モードでデフォルト・ビューが使用できなくなります
9.1.1 以前にインストールしたサンプル・アプリケーションで「ソース表示」リージョン・タイプのプラグインを使用した場合の既知の問題
問題
APEXの以前のリリースでインストールされたサンプル・アプリケーションで使用されていた「ソース表示」リージョン・タイプのプラグインは機能しなくなりました。この問題は、AnyChartチャートおよびAnyMapマップ・チャートに関連付けられたビューが削除されたことが原因です。
解決方法
- アプリケーションを開いて編集します。
- 「共有コンポーネント」に移動し、「他のコンポーネント」で「プラグイン」およびソース表示を選択します。
- 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' )
- 「変更の適用」をクリックします。
9.1.2 初期化中のアイテムおよびリージョン・プラグインの可視性の既知の問題
開発者は、「リージョン表示セレクタ」およびタブ・コンテナ・テンプレート(タブ)の現在の動作に依存しないようにする必要があります。これらでは、ページのロード中にすべてのタブ・コンテンツが簡単に表示されます。
この動作は将来のリリースで変更される可能性があります。
9.1.3 JavaScriptの既知の問題
apex.locale.toNumber
の例が正しくありません。次の行の場合:number = apex.locale.toNumber( "$1234.567", "FML999G999G990D00" );
-
number = apex.locale.toNumber( "€1234,567", "FML999G999G990D00" );
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移行ガイドを参照してください。
-
1.xから2.xに移行するには、http://jquery.com/upgrade-guide/1.9/を参照してください
-
2.xから3.5.xに移行するには、 https://jquery.com/upgrade-guide/3.5/を参照してください
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への別の参照がある場合は、削除できます。
関連項目:
JET v4.2.0リリース・ノート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接頭辞を使用したモジュール定義
次の定義があるとします。
Name: MyMod1
URI Prefix: NULL
URI Templates: /Template1
/Template2
Name: MyMod2
URI Prefix: NULL
URI Templates: /Template3
/Template4
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 ALIAS
とAPEX PATH PREFIX
が確実に同期されます。ただし、ORDSが別の方法を使用してスキーマを有効にした場合、APEX PATH PREFIX
は同期されません。これらの2つのアイテムが同期されていない場合、スキーマ内に定義されているORDSサービスにアクセスしようとすると、ORDSは404エラーを返します。
解決方法
APEX PATH PREFIX
とORDS URI PREFIX
を同期するには、次の手順に従います。
-
Application Expressで、「SQLワークショップ」、「RESTfulサービス」の順にクリックします。
-
「構成」ボタンをクリックして、「ORDSスキーマ属性」モーダル・ダイアログを起動します。
-
スキーマ別名の場合は、別名を選択します。
-
「スキーマ属性の保存」ボタンをクリックします。
これにより、ORDS SCHEMA ALIAS
とAPEX 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 「コンポーネント・タイプ別にグループ化」モードでデフォルト・ビューが使用できなくなります
問題
ページ・デザイナから処理順序でソートおよび「コンポーネント・タイプ別にグループ化」が削除されたため、開発者はデフォルト・ビュー(処理順序でソート)に戻る方法がなく「コンポーネント・タイプ別にグループ化」モードから抜け出せなくなることがあります。
解決方法
-
ページ・デザイナで、ブラウザから開発者コンソールを開いて、次のコマンドを実行します。
JavaScript:pageDesigner.saveBoolPref( "GROUP_BY_COMPONENT_TYPE", true );
- ページをリフレッシュします。
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 id、custom 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_ADMINのCHECK_FOR_UPDATES
パラメータを確認してください。
Oracle Application Expressリリース・ノート, リリース21.1
F44586-02
2021年7月
Copyright © 2003, 2021, Oracle and/or its affiliates.
原本著者: John Godfrey
原本協力著者: Terri Jennings