Oracle® Application Express

リリース・ノート

リリース19.1

F21349-01(原本部品番号:F13755-02)

2019年5月

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

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

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

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

この規則は、2018年にApplication Express 18.1および18.2で導入されました。

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

大きい欠陥については、今後もパッチ・セットの例外(PSE)が提供される場合があります。PSEの詳細は、Oracle Application Expressの既知の問題を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連項目:

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

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

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

3.1 構成要件

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

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

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

4.1.1 JavaScript APIドキュメント

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

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

  • apex.util.getNestedObject

  • interactiveGrid toolbarData:

    • toolbarRemove

    • toolbarInsertAfter

  • model.createのオプション:

    • makeLoadingIndicator

  • interactiveGrid widgetのオプション:

    • saveLoadingIndicatorPosition

    • saveLoadingIndicator

    • trackParentSelection

  • interactiveGrid widgetのメソッド:

    • setMasterRecord

  • grid widgetのオプション:

    • cellCssClassesColumn

4.1.2 リージョン・テンプレートのインライン・ポップアップ

新しいリージョン・テンプレートのインライン・ポップアップがユニバーサル・テーマで使用できるようになりました。このテンプレートは、「リージョンを開く」動的アクションで開けるリージョン・コンテンツをポップアップ・リージョンに配置します(インライン・ダイアログ・リージョンと同様)。

4.1.3 「リージョンを開く」および「リージョンを閉じる」 動的アクション

このリリースでは、新しく次の2つの動的アクションが導入されました。

  • リージョンを開く
  • リージョンを閉じる

これらの動的アクションは、新しい「インライン・ポップアップ」リージョン、インライン・ダイアログ・リージョン・テンプレートおよび「縮小可能」リージョン・テンプレートで機能します。

4.1.4 ダーク・モード

開発環境は、より暗いカラー・スキームでレンダリングされるようになったため、目の疲れを抑えることになり、特に夜遅くまで開発作業を続けるときに役立ちます。

4.1.5 新しいフォーム・リージョン

このリリースでは、新しいフォーム・リージョンが導入されました。フォーム・リージョンには、リージョン・レベルですべてのデータ・ソースの詳細が格納されます。プロセスおよびアイテムはそのリージョンを参照します。新しいフォーム・リージョンには、古いレガシー・フォーム・ページと比べて優れた機能があります。

  • データ・ソースのサポート(ローカル・データベース、リモート・データベース、REST Services)

  • フォームは、SQL問合せで、またはSQL問合せを戻すPL/SQLファンクションで作成できる

  • 3つ以上の主キー列を使用できる

  • 失われた更新の検出と行ロックに関する管理性が向上

フォーム・ページのフォーム・リージョンへの移行

顧客は、アプリケーション・ビルダー・ユーティリティのアプリケーションのアップグレード機能を使用して、既存のレガシー・フォーム・ページを新しいフォーム・リージョンに移行できます。適格なレガシー・フォーム・ページが、レガシー・フォーム・ページを、フォーム・リージョンを含むページにアップグレードとしてリストされます。

レガシー・フォーム・ページをフォーム・リージョンにアップグレードするには、次の要件を満たす必要があります。

  • ページには、「行の自動フェッチ」、アプリケーション行DMLプロセス、またはその両方が含まれている必要があります。

  • ページには、「行の自動フェッチ」を1つのみ含める必要があります。

  • ページには、自動の行DMLプロセスが1つのみ含まれている必要があります。

  • 「表」、「主キー」および「行バージョン」の列設定は、自動フェッチおよびDMLプロセスで同じにする必要があります。

  • 少なくとも1つのリージョン(フォーム・アイテムを含む)は静的HTMLコンテンツ・リージョンで、テキストを含んでいない必要があります(リージョン・ソースは空である必要があります)。

レガシー・フォーム・ページがこれらの要件を満たす場合、「アプリケーションのアップグレード」でアプリケーション移行の候補オブジェクトとしてリストされます。要件が満たされない場合、フォームは自動でアップグレードできません。

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドアップグレード・アプリケーションの実行

追加のフォーム・リージョン・タイプの機能強化

以前のリリースでは、開発者は「静的コンテンツ」リージョンを使用して、レンダリング前プロセスに関連付けられたアイテムを配置していました。フォーム・リージョン・タイプと、これらのリージョンに対するデータの取得および処理方法の変更によって、1つのフォーム・ページで複数の表を更新できます。

ソース定義の変更

開発者は、レンダリング前のプロセスでソースを定義するかわりに、リージョン定義内でソースを定義するようになりました。

拡張されたソース・タイプ

フォーム・リージョンのソースに、表、SQLベース、またはSQL問合せを戻すPL/SQLファンクションが含まれるようになりました。

追加のリージョン属性

フォーム・リージョンの属性には、編集の有効化/無効化、許可された操作、許可された操作列、失われた更新タイプ、編集の認可などの対話グリッドのプロパティと同様の編集プロパティが含まれます。

DMLプロセスの変更

レコードの挿入、更新または削除に使用されるDMLプロセスは、表ではなくフォーム・リージョンに基づくように変更されました。

更新されたアイテム参照

開発者は、データベース列や関連する表の列としてソース・タイプを指定するのではなく、フォーム・リージョン、データ型およびデータベース列を指定できるようになりました。

REST対応フォーム

REST対応SQLおよびWebソースの組込みサポートは、フォーム・リージョンまで拡張され、リモート・データ・ソースに対する読取りおよび書込みアクセスが可能になりました。

REST対応SQL

表またはビューをREST対応にしている開発者は、ローカルのデータベース表にフォーム・ページを作成する場合と同じように簡単に、完全なCRUDフォーム・ページを宣言的に作成できます。

Webソース

REST APIがWebソース・モジュールとして定義されている場合、自動検出によってPUT、POST、DELTEなど使用可能な操作が識別されるようになりました。使用可能な操作に基づいて、対応するCRUD操作が、これらのWebソースに基づくフォーム・ページで定義されます。

REST対応のデータベース・オブジェクト

「SQLワークショップ」の「オブジェクト・ブラウザ」で、開発者は宣言的に表またはビューをREST対応にできるようになりました。

4.1.6 データのロード

SQLワークショップでのデータ・アップロード機能には、新しいドラッグ・アンド・ドロップ・ユーザー・インタフェースが追加され、ネイティブのExcel、CSV、XMLおよびJSONドキュメントがサポートされるようになりました。「スプレッドシートからアプリケーションを作成」ウィザードに同じ機能があり、新規のパブリック・データ・ロードPL/SQL APIが使用可能になりました。

合理化されたユーザー・インタフェース

ロードするファイルをドラッグ・アンド・ドロップしてウィザードに従うと、データをロードできます。

「スプレッドシートからアプリケーションを作成」ウィザードの機能強化

スプレッドシートからアプリを作成するときに使用する「スプレッドシートからアプリケーションを作成」ウィザードが更新されました。

CSV、XSLX、XMLおよびJSONファイルのサポート

各種の一般的なデータ・ファイル・タイプからデータをロードできます。

バックグラウンドでの大規模ファイルのアップロード

大規模ファイルは、バックグラウンドで自動的に処理されます。

新しいAPEX_DATA_PARSER API

この新しいAPIにより、開発者が使いやすいファイル解析のインタフェースが提供され、より高度な機能が公開されます。

4.1.7 チャートおよびライブラリのアップグレード

このリリースでは、ステータス・ゲージ・メーター・チャート、ガント・チャート(JET 6.1にアップグレード)、jQuery、jQuery Mobileおよびフォントの追加オプションが改良されました。

アクセシビリティの改良

新しい「メイン・コンテンツにスキップ」リンクなど、多くのアクセシビリティが改良されました。

新しいナビゲーション・メニュー・スタイル

ツリー・ベースのナビゲーション・メニューに2つのスタイルが追加されました。

インライン・ポップアップ・リージョン・テンプレート

新しいインライン・ポップアップ・リージョン・テンプレートを使用できるようになりました。

UIの改善

ユーザー・インタフェースを合理化するために、いくつかのコンポーネントとスタイルのビジュアルが微調整され、改善されました。

モバイルの改善

ブレッドクラムなどのUIコンポーネントについて、レスポンシブな動作が改良されました。

4.1.8 ユニバーサル・テーマ

ユニバーサル・テーマでは、UIの改善、アクセシビリティの改善、新しいテンプレート・オプション、テーマ・ローラーの拡張が行われており、アプリケーションの外観がこれまでより良くなります。

アクセシビリティの改良

新しい「メイン・コンテンツにスキップ」リンクなど、多くのアクセシビリティが改良されています。

新しいナビゲーション・メニュー・スタイル

ツリー・ベースのナビゲーション・メニューに2つのスタイルが追加。

インライン・ポップアップ・リージョン・テンプレート

新しいインライン・ポップアップ・リージョン・テンプレートを使用できるようになりました。

UIの改善

ユーザー・インタフェースを合理化するために、いくつかのコンポーネントとスタイルのビジュアルが微調整され、改善されました。

モバイルの改善

ブレッドクラムなどのUIコンポーネントについて、レスポンシブな動作が改良されました。

4.1.9 JETチャートの機能強化

JETチャート・スタイルの機能強化

チャート上のテキストのスタイル設定をサポートするために、JETチャートに新しい宣言的属性が追加されました。チャートのタイトル、凡例テキスト、軸のタイトルおよびラベルを宣言的にスタイル設定するために次の属性を使用できるようになりました。

  • フォント・ファミリ

  • フォント・スタイル

  • フォント・サイズ

  • フォント色

JETチャートの積上げグラフの機能強化

積上げグラフのレンダリングをサポートするために、JETチャートに新しく2つの宣言的属性が追加されました。

  • 積上げカテゴリ - 積上げチャートで、「積上げカテゴリ」を設定すると、積上げを1つにグループ化できます。デフォルトでは、すべての系列が同じ積上げに割り当てられます。この属性を設定すると、1つのチャートに異なる積上げを表示できます。

  • 積上げラベル - 積上げデータ・アイテムの合計値をチャートに表示するかどうかを定義します。このオプションは、棒グラフにのみ適用されます。

4.1.10 その他の機能および変更点

対話グリッドおよびOracle JETチャートを管理するために、「ページ・デザイナ」に宣言的属性が追加されました。アプリケーション・ビルダーに対する認証に、ソーシャル・サインインを使用できるようになりました。

その他、次のような更新があります。

  • JavaScript APIドキュメントへの新規追加

  • リージョンを開く、または閉じる動的アクション

  • Application Expressのアップグレードで、ACLを自動的にコピー

  • jQuery Mobileの削除

  • オブジェクト・ブラウザでオブジェクトのREST対応化が可能に

  • アプリケーション・ビルダーのソーシャル認証

  • APEX_STRINGの機能拡張

  • APEXExportSplitterの削除

5.1 変更された動作

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

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

5.1.1 ブラウザ要件

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

注意:

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

5.1.2 互換性モード

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連項目:

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

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

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

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

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

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

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

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

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

ヒント:

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

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

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

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

5.1.3 「読取り専用」の「カレンダ」リージョンはドラッグ・アンド・ドロップの対象外に

Application Express 19.1のカレンダでは、リージョンが「読取り専用」に設定されている場合に、カレンダ・イベントのドラッグ・アンド・ドロップ操作が無効になりました。

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

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

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

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

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

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

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

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

  • PDFレポートの印刷

注意:

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

ヒント:

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

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

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

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

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_190100
  -- the "connect" privilege if APEX_190100 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_190100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_190100', 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_190100', 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_190100
  -- the "connect" privilege if APEX_190100 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_190100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_190100', 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_190100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.4.3 Oracle Database 12c以上での接続権限の付与

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

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

5.1.5 apex.item選択リストの動作

このリリースより前は、選択要素のapex.item().setValueのデフォルトの動作は、選択リストのアイテムsetValue動作と異なっていました。値が既存のオプション以外の場合は、ファンクションごとにsetValueの実装が異なっていました。

このリリースでは、どちらのファンクションも同じように動作します。

「選択リスト」ページ・アイテムでは、apex.itemのデフォルトのsetValue実装を使用します。apex.item().setValueまたは動的アクションを使用して選択要素の値を設定するとき、いずれかのオプション以外の値に設定すると、選択要素がドロップダウンの場合、最初のオプションの値になり、選択要素がドロップダウンでない場合、空の文字列になります。

また、このリリースでは、要素がドロップダウンかどうかを検出するロジックが改善されます。

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

このリリースでは、対話グリッドに対して複数の更新があります。

  • グリッド・ビューの編集時にビューを変更しても、保存されていない変更について警告が表示されなくなり、変更は失われません。
  • 基礎となるモデル・データがプログラムによる更新によって変更された場合、アイコンと詳細ビューが更新されます。
  • 「フィルタ」および「ハイライト」で、値フィールドの最大長が正しくなりました。
  • チャート・ビューが「遅延ロード」属性に従い、 「メッセージ: データが見つからない場合」属性を使用するようになりました。
  • アイコン、詳細、チャートの各ビューは、ビューが表示されない場合(縮小機能な領域など)には、データをフェッチせずレンダリングもされなくなりました。グリッド・ビューの機能はすでにこうなっています。

対話グリッド属性

新しい対話グリッド属性:

  • ツールバー / コントロール: 検索列の選択
  • ツールバー / コントロール: 検索フィールド
  • ツールバー / コントロール: アクション・メニュー
  • ユーザーの有効化: フラッシュバック
  • ユーザーの有効化: チャート・ビューの定義
  • 外観: 最初の行の選択

更新された対話グリッド属性:

  • ツールバー / コントロール (以前は「ツールバー / ボタン」)
  • ツールバー / コントロール: リセット・ボタン(以前は「リセット」)
  • ツールバー / コントロール: 保存ボタン(以前は「保存」)

対話グリッドの列属性

新しい対話グリッド列属性:

  • ユーザーの有効化: 非表示
  • ユーザーの有効化: コントロール・ブレーク/集計

更新された対話グリッド列属性:

  • ユーザーの有効化: ソート/コントロール・ブレーク/集計

5.1.7 JETチャート・ガントのツールチップの機能強化

ガント・チャートのツールチップのカスタマイズをサポートするために、JETチャートに新しい宣言的属性が追加されました。ツールチップを宣言的にカスタマイズするとき、次の属性を使用できます。

  • 行の表示

  • ラベルを表示

  • 開始日の表示

  • 終了日の表示

  • 進捗の表示

  • ベースラインの表示

列マッピングの「カスタム・ツールチップ」を使用すると、宣言的ツールチップ設定をオーバーライドできます。

5.1.8 ORDSサービス・ツリーのフォーカス

このリリースより前は、ORDSサービス・ツリーが常に完全に展開されて表示されていました。サービスとテンプレートの数がある程度より多くなった場合は、この表示が邪魔になっていました。

このリリースでは、現在フォーカスされているアイテム(編集/表示中のアイテム)以上がツリーに表示されるようになります。その他はすべて閉じた状態になります。ユーザー・セッションで、ORDS RESTfulサービスのワークショップ全体で使用されるツリーでは、ノードの開閉状態が記憶されます。

6.1 非推奨となった機能

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

関連項目:

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

6.1.1 チーム開発は非推奨

チーム開発は、このリリースで非推奨になりました。これは、将来のリリースでは削除される予定です。

フィードバック、問題およびマイルストンを追跡する新しいシステムに移行します。

6.1.2 Oracle REST Data Services (ORDS)ベースの印刷は非推奨

Oracle REST Data Services (ORDS)ベースの出力は、このリリースで非推奨になりました。これは、将来のリリースでは削除される予定です。

6.1.3 AnyChart、AnyMapおよびAnyGanttの各チャートは非推奨

AnyChart、AnyMapおよびAnyGanttのレガシーのチャート作成コンポーネントは、このリリースでは非推奨となっており、今後のリリースで削除されます。かわりにJETチャート作成ソリューションを使用してください。

6.1.4 カレンダPDFの出力は非推奨

「CSSカレンダ」リージョンの「PDFにエクスポート」機能は非推奨になりました。

既存のカレンダ・リージョンのために残されています。新しいCSSカレンダ・リージョンには追加できなくなりました。

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

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

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

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

6.1.7 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTESは非推奨

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

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

Oracle Application Express 5.1で、APEX_UTIL.STRING_TO_TABLEは非推奨になりました。

かわりにAPEX_STRING.STRING_TO_TABLEを使用してください。

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

Oracle Application Express 5.1で、APEX_UTIL.TABLE_TO_STRINGは非推奨になりました。

かわりにAPEX_STRING.TABLE_TO_STRINGを使用してください。

6.1.10 非推奨のJavaScript関数

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

テーマ固有のグローバル関数:

  • openModal

  • closeModal

apex.itemネームスペース:

  • afterModify

apex.page.confirmパラメータ:

  • pMessageデフォルト値

その他:

  • apex.navigation.dialog.fireCloseHandler

  • $d_Find

  • $d_LOV_from_JSON

  • $dom_JoinNodeLists

  • $dom_Replace

  • $f_Enter

  • $f_First_field

  • $s_Split

  • $tr_RowMoveFollow

  • $u_ArrayToString

  • $u_js_temp_drop

  • $u_SubString

  • $x_Check_For_Compound

  • $x_object

  • $x_Show_Hide

  • addLoadEvent

  • ajax_Loading

  • base_disableItem

  • confirmDelete2

  • dhtml_ShuttleObject

  • doMultiple

  • findPosX

  • findPosY

  • flowSelectAll

  • getScrollXY

  • hideShow

  • html_GetTarget

  • html_ReturnToTextSelection

  • html_RowDown

  • html_RowUp

  • html_StringReplace

  • htmldb_ch

  • htmldb_ch_message

  • htmldb_doUpdate

  • htmldb_goSubmit

  • htmldb_item_change

  • ie_RowFixFinish

  • ie_RowFixStart

  • json_SetItems

  • lc_SetChange

  • selectString

  • setCaretToBegin

  • setCaretToEnd

  • setCaretToPos

  • setSelectionRange

  • setValue2

  • widget.util.disableIcon

  • wiget.util.enableIcon

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

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

6.1.12 APEX_PAGE.IS_JQM_SMARTPHONE_UIは非推奨

PL/SQLファンクションAPEX_PAGE.IS_JQM_SMARTPHONE_UI is Deprecatedは非推奨になり、今後のリリースで削除される予定です。

6.1.13 openModalとcloseModalは非推奨

ドキュメントに記載されていないテーマ固有の関数openModalおよびcloseModalは非推奨になりました。

解決方法

apex.theme.openRegion関数およびapex.theme.closeRegion関数、または対応する動的アクション「リージョンを開く」および「リージョンを閉じる」を使用してください。

6.1.14 afterModifyは非推奨

apex.itemのコールバックafterModifyは非推奨になりました。主にjQuery Mobileのために使用されていましたが、これはサポートされなくなっています。

6.1.15 apex.page.confirm pMessageパラメータは非推奨

apex.page.confirmのパラメータpMessageは、デフォルト値がなくなりました。今後は、必須のパラメータになる予定です。

6.1.16 apex.navigation.dialog.fireCloseHandlerファンクションは非推奨

apex.navigation.dialog.fireCloseHandlerファンクションは非推奨です。これは、将来のリリースでは削除される予定です。

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

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

7.1.1 jQuery FlotおよびFlotプラグインはサポートが終了

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

7.1.2 クラシック・レポートの外部処理はサポートが終了

クラシック・レポートの外部処理機能はサポートされなくなりました。

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

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

JETダイヤル・ゲージ・チャート・タイプは、このリリースでサポートされなくなります。既存の「ダイヤル・ゲージ」リージョンは、このリリースで追加されたJETステータス・メーター・ゲージの円形チャートに自動的に変換されます。

8.1 修正されたバグ

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

表 - 19.1で修正されたバグ – 対話グリッド

バグ番号 説明
25538861 対話グリッドのアイコン・ビューに複数選択を設定できない
28070376 対話グリッドの単一行ビュー・フィールドで順序がグリッド列の順序と同期しない
28513035 対話グリッドの保存では、進捗スピナーが表示されない
28587534 対話グリッド - マスター・ディテール・グリッド - 一部の列にフィルタがない
28611267 レポート変更後の対話グリッド表示が空白
28847536 対話グリッドを含むアプリケーション・インポートによって、MAX_ROW_COUNTデフォルトに100000が設定される

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

バグ番号 説明
27585087 P-Track: ジョブによって実行されるプロジェクト・ステータス・レポートに詳細が含まれない
27740810 クイックSQL: プロジェクト管理サンプルで、「PROJECT_MS」ビューに対して誤った問合せが作成される
28499176 スクリプト・プランナ: 通知の作成ダイアログの日付フィールドが正しく検証されない
28504655 サーベイ・ビルダー: Eメール履歴の詳細表示に内容が表示されない
28546077 P-Track: スケジュール済プロジェクトのステータスEメールが送信されない
28618878 P-Track: ユーザー・サマリー・リンクが結果を返さない
29342781 顧客トラッカ: ホーム・ページ・フィルタ・リージョンに見出しがない
29342818 顧客トラッカ: 競合相手ページのレポート編集リンクにテキストがない

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

バグ番号 説明
26320937 RAS: ネームスペース属性の設定に認証後が使用されない
27444973 特殊文字を使用した列があるAPEXページでHTTP 500エラーが発生/IE
27782172 ページ・デザイナ: グリッド・レイアウトの表がレイアウト表としてマークされる
27823566 CSSカレンダ・リージョンでドラッグ・アンド・ドロップを使用できるが、リージョンは読取り専用
27845117 プラグイン・サブスクリプション: アプリケーションIDは8桁までに切り捨てられる
28147764 ソーシャル・サインイン: 新しいバージョンの認証プロバイダをサポート
28174793 SQLコマンド: SQL文を開始する前にコメントを使用可能
28206868 ビルダー認証のアップグレード: 認証前コードと認証後コードがコピーされない
28519634 APEX_INSTANCE_ADMIN: SMTP_FROMの設定時に検証に一貫性がない
28533670 JETチャート: X列マッピングでは数値列の選択しかできない
28539197 ビューAPEX_WORKSPACE_FILESから返されるファイル数が正しくない
28557144 3.1.2のアプリケーション・エクスポート・ファイルをインポートすると解析エラー"EXPECTED WHITELISTED_EXECUTE_IMMEDIATE_EXPRESSION"がスローされる
28568524 ページ・デザイナ: オートコンプリートのテキスト設定の最小検索についてヘルプがない
28574697 新規Webソース操作パラメータが既存のページ・コンポーネントに追加されていない
28577604 アプリケーションへのリンクが電子メール・テンプレート通知で機能しない
28581425 WWV_FLOW_DATAの主キーの索引が一意ではない
28587769 Webソース・モジュールで、データベース操作にマップされない複数の操作を使用できる
28590645 資格証明ストアは、4000文字より大きいトークン値をサポートする必要がある
28593903 サンプル・データセットのEMP/DEPT: データセットに作成されるアプリケーションでORA-01400エラーが発生する
28616712 対話モード・レポート・チャートが、小数値およびGERMAN NLSがあると機能しない
28617279 「ブレッドクラム・テンプレートのコピー」ウィザードで、新しいテンプレート名が2回求められる
28660285 ORA-20876: 動的アクションを使用してPL/SQLコードを実行するAPEXエンジンが停止する
28663711 APEX_EXEC.ADD_ORDER_BY APIの変更: P_COLUMN_NAMEを追加し、P_LOVを削除
28670148 ヘッダー認証: 複数の認証ヘッダーがある場合に失敗する
28707569 ソーシャル・サインイン: APEX_AUTHENTICATION .CALLBACK にスコープ・パラメータを追加(GOOGLE)
28732394 RDBMSでのインストール: APEX_180200.WWV_INSTALL $_ CK_INSTALL_TYPE違反
28761611 「ページの作成」ウィザード: リモート・データベースでの選択表が500表に制限される
28774981 APEX_SESSION.DELETE_SESSIONで現在のセッションが削除されない
28776956 行の自動フェッチ/表形式プロセス - ROWIDがリストに含まれない
28786465 RESET_IMAGE_PREFIX .SQLを呼び出しても無効化が発生しない
28787650 ソーシャル・サインイン: ACCESS_TOKENにすでにユーザー名属性が含まれている場合
28804992 トレースが有効な場合、トレース・ファイルの完全パスを記録する
28816707 対話モード・レポート: APEX 18の初期問合せで「ページごとの最大行数」レポート属性が反映されない
28826001 Webゲート・セキュリティの使用 - APEX_AUTHENTICATION.CALLBACKをソーシャル認証に使用できない
28869009 対話モード・レポート: 18.1で表示される行の合計が5.1の場合と異なる
28874893 BASE 64データをデコードすると、APEX_WEB_SERVICE.CLOBBASE642BLOBでジャンクが返される
28911602 データ・プロファイルのエンコーディングとレスポンスが空の場合に、APEX_EXEC.EXECUTE_WEB_SOURCEがORA-06502をスローする
28913603 ワークスペースのインポート: WWV_FLOW_FND_GU_INT_G_FKでORA-02291が発生する
28918286 USER_IDのためにAPEXで収集のパフォーマンスの問題
28937402 アイテム・タイプ表示イメージにはMIMEタイプ属性が必要
28970839 JETチャートの作成・ウィザードで、Webソース・モジュールのパラメータがリージョンに追加されない
29028213 資格証明ストアが、OAUTH認証のスコープ属性をサポートしていない
29058803 ソーシャル・サインイン: Googleの場合、コールバックに「HD」パラメータが必要
29060967 DBにMAX_STRING_SIZE="EXTENDED"が含まれており、VC2値が4Kより大きい場合にORA-6502がスローされる
29183366 11.Xから12.2へのDBアップグレード後に起動された実行時のみの環境で、SYS. VALIDATE_APEXが正しく実行されない
29231741 変換で、大量のビルダー監査証跡が書き込まれる
29241100 アプリケーション削除エラー - ERR-1029がセッション情報を格納できない
29246701 日付ピッカーが、一部のロケール(例: EN-GB)で時間と分を正しく表示しない
29247143 ソーシャル・サインイン: OKTAのサポート(トークン・リクエストにCLIENT_IDがない)
29250408 データベース・アップグレード後のVALIDATE_APEXがエラーORA-38824をスロー: CREATEまたはREPLACEコマンドはエディション化可能を変更できない場合がある
29258731 別のアプリケーションからページをコピーするとき、参照されているWebソース・モジュールがコピーされない
29259014 ファイルのアップロード: WWV_FLOW .AJAXからのアップロードをサポート
29270564 アップロード・データで一意の列が欠落している場合に、「データ・ロード」ウィザードでORA-1403がスローされる場合がある
29292075 JETチャート: ガント・データのロード時に「無効なデータ」のデフォルト・メッセージを削除
29297694 既存のアプリケーションにACL機能を追加するとき、管理ロールが無視される
29325658 前提条件の更新 > パッケージ・アプリケーションに必要なシステム権限
29329165 APEX_JSON .WRITE (XMLTYPE ): NLS_SORT = GERMAN NLS_TERRITORY = SWITZERLANDの場合にORA-01756が発生する
29339164 印刷用レポートで、APEX 18.1の一部の行が印刷されない - 5.1では正常に機能していた
29348856 サンプル日付で、日付ピッカーの非表示スクリーン・リーダー・テキストが機能しない
29499983 ORACLE_APEX_DAILY_MAINTENANCEがORA-02014で失敗する場合がある

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

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

ヒント:

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

https://www.oracle.com/technetwork/developer-tools/apex/downloads/apex-191-known-issues-5434469.html

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

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

9.1.2 IE11のオートコンプリートでアイテム・タイプ「テキスト」の幅の問題

問題

オートコンプリートのアイテム・タイプが「テキスト」の場合に、IE11では、Oracle JETを使用して幅が正しくレンダリングされません。これは、JET CSSのクラス.oj-inputsearch-choiceflexプロパティを使用していることが原因です。

解決方法

アプリケーション・ページのinline CSS属性に次のコードを追加してください。

.oj-inputsearch-input { flex: 1 1 auto; }

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

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

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

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

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

  • button

  • checkboxradio

  • controlgroup

  • datepicker

  • dialog

  • draggable

  • droppable

  • resizable

  • selectable

  • sortable

  • tooltip

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

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

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

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

9.1.4.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.4.2 NULL URIを持つApplication Express RESTfulサービスをORDSに移行する場合の問題

問題

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

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

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

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

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

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

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

http://server.com

サーバーURL

ords

ORDS別名

mySchema

パス接頭辞

null

NULLのモジュールURI接頭辞。コールには表示されませんが、サービスによって処理されます。

Template1

URIテンプレート

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

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

解決方法

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

Oracle REST Data Services 18.2

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

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

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

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

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

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

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

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

Oracle Application Express 18.1

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

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

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

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

問題

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

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

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

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

解決方法

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

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

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

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

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

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

10.1 ドキュメントの追加

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

10.1.1 Oracle Application Express JavaScript APIリファレンス

「JavaScript API」の章の内容は、Oracle Application Express JavaScript APIリファレンスに移動しました。

10.1.2 Oracle Application Express JavaScript API

このリファレンスでは、Oracle Application Expressアプリケーションで使用できるJavaScript APIについて説明します。これらのファンクションを使用することで、ページ要素の表示/非表示、Ajax (非同期JavaScriptおよびXML)リクエストの作成などクライアント側の機能を提供できます。interactiveGridウィジェットとinteractiveGridViewは不完全であり、今後のドキュメント更新で強化されます。

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

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

Oracle Supportへのアクセス

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

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

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

イベントのログ記録

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

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

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

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

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

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

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

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

Cookieおよび関連テクノロジ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

更新のチェック

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


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

F21349-01

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

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

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

原本協力者: Hilary Farrell、Marc Sewtz

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

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

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

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

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

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

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

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