Oracle® Application Express
リリース・ノート
リリース19.1
F21349-01(原本部品番号:F13755-02)
2019年5月
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について」ページを表示します。
-
Oracle Application Expressにサインインします。
ワークスペースのホームページが表示されます。
-
ページ上部の「ヘルプ」メニューをクリックし、「バージョン情報」を選択します。
Application Expressのバージョン情報ページが表示されます。
-
関連項目:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の開発環境へのアクセスの概要に関する項
2.1.5 以前のリリースから更新する場合の重要情報
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 新機能
Oracle Application Expressリリース19.1には、多数の新機能が含まれています。次の新機能は、Oracle Application Expressリリース18.2およびそれ以前のリリースには存在しません。
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.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#
を使用します。
リリース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_ACL
、ASSIGN_ACL
、ADD_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を使用して、非推奨となった属性に関して既存のアプリケーションをスキャンします。
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.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より前を選択します。
関連項目:
-
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのユーザー・インタフェースの詳細の編集
-
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのJavaScript
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-choice
でflex
プロパティを使用していることが原因です。
解決方法
アプリケーション・ページの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移行ガイドを参照してください。
-
1.xから2.xに移行するには、http://jquery.com/upgrade-guide/1.9/を参照してください
-
2.xから3.xに移行するには、https://jquery.com/upgrade-guide/3.0/を参照してください
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ファイルへの参照が含まれていた場合は削除できます。
関連項目:
JET v4.2.0リリース・ノート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接頭辞を使用したモジュール定義
次の定義があるとします。
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ベースの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 ALIAS
とAPEX PATH PREFIX
を同期します。ただし、ORDSが別の方法を使用してスキーマを有効にした場合、APEX PATH PREFIX
は同期されません。これらの2つのアイテムが同期されていない場合、スキーマ内に定義されているORDSサービスにアクセスしようとすると、ORDSは404エラーを返します。
解決方法
APEX PATH PREFIX
とORDS URI PREFIX
を同期するには、次の手順に従います。
-
Application Expressで、ORDS RESTワークショップにナビゲートします。
-
「構成」ボタンをクリックして、「ORDSスキーマ属性」モーダル・ダイアログを起動します。
-
スキーマ別名の場合は、別名を選択します。
-
「スキーマ属性の保存」ボタンをクリックします。
これにより、ORDS SCHEMA ALIAS
とAPEX PATH PREFIX
の両方に同じ値が設定されます。
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 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リリース・ノート, リリース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の登録商標です。
このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。