Oracle® Application Express
リリース・ノート
リリース18.2
F13455-02(原本部品番号:F10921-02)
2019年2月
2.1.1 最新リリースのチェックについて
Oracle Application Expressは、Oracle Databaseよりも頻繁にリリースされます。最新のリリースに関する情報またはダウンロードについては、次の場所を参照してください。
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
2.1.2 最新のOracle Application Expressリリースへのアップグレードについて
Oracle Application Expressをすでにインストールしている場合は、入手可能な最新バージョンに定期的にアップグレードすることをお薦めします。詳細は、『Oracle Application Expressインストレーション・ガイド』の以前のOracle Application Expressリリースからのアップグレードに関する項を参照してください。
2.1.3 リリース・バージョンの確認について
現在実行しているOracle Application Expressのリリースを確認するには、次のいずれかを実行します。
-
ワークスペースのホームページで、リリース番号を表示します:
-
Oracle Application Expressにサインインします。
ワークスペースのホームページが表示されます。現在のリリース・バージョンが右下隅に表示されます。
-
-
「Application Expressについて」ページを表示します。
-
Oracle Application Expressにサインインします。
ワークスペースのホームページが表示されます。
-
ページ上部の「ヘルプ」メニューをクリックし、「バージョン情報」を選択します。
Application Expressのバージョン情報ページが表示されます。
-
関連項目:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の開発環境へのアクセスの概要に関する項
2.1.4 以前のリリースから更新する場合の重要情報
Oracle Application Expressの以前のリリースから更新している場合には、次のドキュメントの「変更された動作」を参照してください。
2.1.5 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リリース18.2には、多数の新機能が含まれています。次の新機能は、Oracle Application Expressリリース18.1およびそれ以前のリリースには存在しません。
4.1.1 フォントAPEXの更新
Oracle Application Expressリリース18.2では、フォントAPEX 2.1が使用されます。これには多くのバグ修正および更新が含まれています。ソーシャル・アイコンまたはブランド・アイコンは、フォントAPEXの一部ではありません。
フォントAPEX 2.1には、小と大の2セットのアイコンが含まれます
-
小さいアイコンは16x16です。大きいアイコンは32x32です。
-
いくつかの新しい方向アイコンとフォーム・コントロール・アイコンがあります。
-
一部のテンプレート(カード、メディア・リストなど)では、テンプレート・オプションに基づいて適切なアイコン・サイズが自動的に選択されます。
4.1.2 JavaScript APIドキュメント
Oracle Application Express APIリファレンスの「JavaScript API」の章は、独立した新しいリファレンス・ガイドであるOracle Application Express JavaScript APIリファレンスに移行中です。この新しいガイドは最終的なものではなく、関連するすべての情報が含まれていない可能性があります。
このリリースの新しいウィジェットAPIとしては、次のAPIがあります。
-
grid
-
iconList
-
interactiveGrid
-
menu
-
recordView
-
tableModelView
-
treeView
名前空間とインタフェース:
-
apex.actions
-
apex.model
4.1.3 左右マスター・ディテール
新しい左右マスター・ディテール・フォームは、左右レイアウトおよびモーダル編集ウィンドウを持つレポート・リージョンを活用して、単一ページのマスター・ディテールを作成します。左側には、マスター・レコードにナビゲートするためのマスター・リストがあります。右側には、選択したマスター・レコードおよび最大4つの詳細レポートがあります。
4.1.4 「新規ダッシュボード」ページ
ページの作成ウィザードには、新しい「ダッシュボード」オプションがあります。ダッシュボードでは、ページ・デザイナを使用してカスタマイズ可能な、叩き台となるダッシュボードをサンプル・データに基づいて作成できます。ページの開始点となるレイアウトを様々なチャート・レイアウトから選択します。
4.1.6 サンプル・データセットの機能強化
サンプル・データセットのインストール後、「アプリケーションの作成」をクリックするとアプリケーションの作成ウィザードが起動され、サンプル・データセットにビルドされたコンポーネントが事前に移入されます。また、このリリースにはサンプル・データセットのEMP / DEPT用の新しい言語が含まれています。
5.1 変更された動作
このセクションは、このドキュメントを作成していた時点での最新です。変更された動作の最新のリストについては、「Known Issues」ページhttp://www.oracle.com/technetwork/developer-tools/apex/downloads/apex181-known-issues-4478237.htmlを参照してください
Oracle Application Expressリリース18.2で変更された動作は次のとおりです。
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より前では、そのようなコールは同期的に行われます。
5.1.3 Oracle Database 11g以上のネットワーク・サービスの有効化
Oracle Application Expressでアウトバウンド・メールを送信したり、Webサービスを使用したり、PDFレポートの印刷を使用するには、Oracle Database 11g以上のバージョンでネットワーク・サービスを有効にする必要があります。
5.1.3.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_180200
データベース・ユーザーにすべてのホストに対する接続権限を付与する必要があります。これらの権限の付与に失敗すると、次の場合に問題が発生します。
-
Oracle Application Expressにおけるアウトバウンド・メールの送信
ユーザーは、
APEX_MAIL
パッケージのメソッドをコールできますが、アウトバウンド電子メールの送信時に問題が発生します。 -
Oracle Application ExpressにおけるWebサービスの使用
-
PDFレポートの印刷
ヒント:
このセクションで示されている例を実行するには、データベースのcompatible初期化パラメータが11.1.0.0.0以上に設定されている必要があります。デフォルトでは、11gまたは12cデータベースのパラメータは事前に適切に設定されますが、以前のバージョンから11gまたは12cにアップグレードされたデータベースのパラメータは適切に設定されない場合があります。データベース初期化パラメータの変更の詳細は、『Oracle Database管理者ガイド』のOracle Databaseの作成と構成に関する項を参照してください。
5.1.3.2 Oracle Database 12c以前での接続権限の付与
APEX_180200
データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示します。
次の例は、APEX_180200
データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、Oracle Application Expressがインストールされているデータベースに、SYSDBA
ロールが指定されているSYS
として接続するとします。
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_180200
-- the "connect" privilege if APEX_180200 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_180200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_180200', 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_180200', 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_180200
-- the "connect" privilege if APEX_180200 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_180200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_180200', 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_180200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.3.3 Oracle Database 12c以上での接続権限の付与
DBMS_NETWORK_ACL_ADMIN
のプロシージャCREATE_ACL
、ASSIGN_ACL
、ADD_PRIVILEGE
およびCHECK_PRIVILEGE
は、Oracle Database 12cでは非推奨です。APPEND_HOST_ACE
を使用することをお薦めします。
次の例は、APEX_180200
データベース・ユーザーに対して、任意のホストへの接続権限を付与する方法を示しています。この例では、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_180200',
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_180200',
principal_type => xs_acl.ptype_db));
END;
/
5.1.3.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_180200
ユーザーにACLを適用する必要があります。
5.1.4 APEX_WORKSPACE_ACTIVITY_LOG.THINK_TIMEは常にNULL
このリリースでは、APEX_WORKSPACE_ACTIVITY_LOG
ビューのTHINK_TIME
の値は常にNULLです。
以前は、この列の計算により、ビューのパフォーマンスが低下していました。これには追加の索引が必要であり、ページ処理中に多くのI/Oが発生しました。
次の例をガイドとして使用し、THINK_TIME
を計算できます。
select view_date,
(view_date - lag(view_date) over (
partition by apex_session_id
order by view_date )) *60*60*24 think_time,
application_id,
page_id,
apex_session_id,
apex_user
from apex_workspace_activity_log
where workspace = 'EXAMPLE WORKSPACE'
and view_date > sysdate-1
order by 1, 2 desc
5.1.5 クラシック・レポートに対する内部エンジンの変更
REST対応SQLおよびRESTサービスをサポートするために、クラシック・レポートを実行するエンジンに次の変更が加えられました。
-
「合計の計算」が有効になっている場合、アプリケーションはウィンドウ句でSUM() SQL関数を使用して合計を計算するようになりました。
- 「合計の計算」および「ブレーク列」が有効にされていて、レポート問合せに
ORDER BY
句が含まれている場合、SUM()
分析SQL関数により、問合せオプティマイザがORDER BY
句を無視することがあります。レポートのソートを制御するには、「ソート」→「デフォルト順序」列属性を使用します。 -
汎用列およびSQL問合せを返すPL/SQLファンクションが使用されている場合、生成されるSQL問合せには、一意の列名(重複しない列名)を指定する必要があります。さらに、列名は有効なSQL識別子である必要があります。Oracle Database 12.2以上では、列名は128文字以内で指定できます(旧バージョンでは、30文字)。
-
数値のレポート列に対してのみ「合計の計算」を有効にできます。以前のリリースでは、VARCHAR2列に対して「合計の計算」を有効にしてクラシック・レポートを作成できました。このリリースでは、これらのレポートはORA-1722エラー・メッセージを示して失敗するようになりました。このようなクラシック・レポートでは、数値以外の列に対して「合計の計算」を「いいえ」に設定してください。
-
Oracle Application Expressは、パフォーマンス向上のためにデフォルトでバルク行フェッチを使用します。ただし、表形式フォームでは、カスタムJavaScriptコードが正しく機能しない可能性があります。単一行フェッチを強制的に実行するために、SQL問合せにコメント
/* APEX$SINGLE_ROW_FETCH*/
を追加してください。 -
以前は、結果セットに同じ名前を持つ複数の列が含まれる場合には、クラシック・レポートがレンダリングされました。Application Express 18.1では、問合せ結果セットの列名は一意である必要があります。それ以外の場合は、「列があいまいに定義されています」エラーが発生します。現在のアプリケーションに存在するすべての非一意のレポート問合せを変更する必要があります。
-
列の別名を指定せずにROWID列を選択するクラシック・レポートでは、特定の状況(DISTINCT、GROUP BYなどでビューからROWIDまたはサンプルを選択できない状況)においてORA-01446エラー・メッセージがスローされる可能性があります。レポートでこのエラー・メッセージがスローされる場合は、ROWID列に対して別名を指定するようにSQL問合せを調整します。
5.1.6 対話モード・レポートの変更
このリリースでは、REST対応SQLおよびRESTサービスをサポートするために、対話モード・レポートを実行するエンジンに次の変更が行われています。
-
無効な計算が含まれる対話モード・レポートはレンダリングされません。以前は、対話モード・レポートには、計算がエンド・ユーザーによって非表示にされている場合は無効な計算を含めることができました。エンド・ユーザーが計算を作成し、その後、開発者が依存列を削除すると、無効な計算が行われる可能性があります。このリリースでは、このような無効な計算により、エラー・メッセージが表示されます。無効な計算には値がないため、開発者またはユーザーは、レポートが再度機能するようにそれらを削除する必要があります。
-
対話モード・レポートで生成されたSQLテキストは、前のバージョンで生成されたテキストとは異なります(ただし、意味的には同じです)。開発者は、
APEX_IR.GET_REPORT
によって返される厳密なSQL問合せテキストに依存しているアプリケーションを更新する必要がある場合があります -
エンド・ユーザーは、ページ・デザイナでのフィルタ、ハイライト表示、その他のレポート・アクションで「非表示」に設定されている対話モード・レポート列を使用できません。列を「非表示」に設定すると、この列はエンド・ユーザーに対して完全に非表示になります。
5.1.7 ページ・デザイナの改善
プロパティ・エディタ
ページ・デザイナのプロパティ・エディタには、次の変更が行われています。
-
有用性を向上させるためにUIが更新されました
-
「共通の表示」、「すべて表示」、「すべて閉じる」および「すべて開く」機能が削除されました
-
プロパティを選択するときにプロパティ・グループが光ります
-
「グループに移動」機能が改善されました
-
2ペイン/3ペイン・ボタンが、「ユーティリティ」の「レイアウト」サブメニューに移動されました
スティッキー・フィルタ
フィルタ条件をプロパティ・エディタの検索フィルタに固定できるようになったため、他のコンポーネントをクリックしてもフィルタを保持できます。
5.1.8 対話グリッドの機能強化
このリリースでは、対話グリッド・リージョンに次の更新が行われています。
-
「動的アクション」に追加イベントを公開できます
-
新しい「選択内容」サブメニュー(「アクション」メニュー内)に次の新機能が追加されました。
-
「セルの選択」と「行選択」間での選択モードの切替え
-
「コピー・ダウン」、「クリア」および「入力」アクション
-
「クリップボードにコピー」(行またはセルの範囲選択について)
-
5.1.9 ツリー・リージョンの機能強化
このリリースでは、ツリー・リージョンに次の更新が行われています。
-
Oracle Application Expressで、「詳細: JavaScript初期化コード」属性がサポートされるようになりました。この属性およびOracle Application Express JavaScript APIリファレンスにより、ツリー・リージョンのカスタマイズが容易になります(ウィジェット: ツリービューを参照してください)。
-
SQL列とその使用に固定の関連付けがなくなりました。現在は、ノード・ラベル、ツールチップ、リンクなどの機能で使用する列を選択します。
-
「階層」属性に、エンジンがSQL文から階層を自動的に計算できるようにするオプションが用意されています。
-
「デフォルト・アイコン」属性が追加されました。(a-Iconを強制せずに)「アイコン・タイプ」を空にすることができます。
-
すべての属性のページ・デザイナのヘルプ・テキストが改善されました。
-
動的アクションのイベント選択の変更がサポートされるようになりました[ツリー]。
-
拡張構成オプション(nodeSelector)でチェック・ボックスの選択がサポートされるようになりました。
-
ツリー・リージョンで
apex.region
APIがサポートされるようになりました。 -
選択内容をクリップボードにコピー
-
セキュリティ上の理由から、ツールチップ・コンテンツがエスケープされるようになりました。
ツールチップでHTMLマークアップを使用するには、次のステップを実行します。
-
「ツールチップ」として「HTML式」を選択し、「ツールチップ値」属性でHTMLマークアップを使用します。
-
置換構文(&COLUMN.)を使用して、「ツールチップ値」内のデータベース列を参照します。
-
5.1.10 開発者ツールバーの改善
このリリースでは、開発者ツールバーに次の更新が行われています。
-
ページにJavaScriptエラーがある場合のインジケータ。
-
「レイアウト列の表示」および「ページ・タイミングを表示」機能が含まれる新しい「ページ情報」メニュー。
5.1.11 アドバイザの改善
このリリースでは、Oracle Application Expressアドバイザに次の更新が行われています。
-
一般的なアクセシビリティの問題がないかアプリケーションをチェックする新しい「アクセシビリティ」チェック
-
互換性JavaScriptが含まれているかどうかの新しい「パフォーマンス」チェック
5.1.12 アイテム・タイプの改善
このリリースでは、Oracle JETを使用した新しいオートコンプリートが有効なテキスト・アイテム・タイプが追加されました。
このアイテム・タイプの実装にさらに変更が追加されたため、次のように動作が変更されました。
このリリースより前は、Application Expressページにアイテムが1つのみで、そのアイテムがオートコンプリートを使用したテキストであった場合、そのアイテムがフォーカスされているときに[Enter]キーを押すと、ページが送信される可能性がありました。この動作は、Application Expressの設計によるものではありませんでした。これは、Webページにフォーム要素が1つのみ含まれている場合に、アイテムがフォーカスされているときに[Enter]を押すとフォームが送信されるというデフォルトのブラウザ動作です。
このリリースでは、オートコンプリート実装の更新により、この動作を防止します。以前のリリースでこの動作(ページの送信、選択した検索アイテムに関連するページへのブランチなど)に依存していた場合、これは機能しません。かわりに、次のいずれかの解決策を実施してください。
-
ページを送信するオートコンプリート・アイテムの横にボタンを追加します。
-
「ページの送信」アクションとともに「更新」動的アクション・イベントを使用して、検索アイテムが選択されたときにページ送信をトリガーします。
-
[Enter]キーが押された後に送信をトリガーする動的アクションを作成します。たとえば、「キー・ダウン」イベントを使用して、「タイミング > アイテム」でオートコンプリート・アイテムを定義し、次のように「JavaScript式」クライアント側条件を定義します。
this.browserEvent.which === 13
次に、「ページの送信」アクション・タイプをコールする「Trueアクション」を定義します。
5.1.13 アイテム・タイプのマークアップの改善
このリリースでは、アイテム・タイプのフォーム・マークアップに次の改善が行われています。
-
マークアップは、表から移動され、
<div>
要素に変更されました。 -
CSSクラスは、より一貫性のあるネーミング規則を使用します。
-
アイテムのスタイル設定に使用されるクラスが追加されました。
これらの変更は、カスタム・テーマに影響を与える可能性があるため、アプリケーションのUIに影響する場合があります。カスタム・テーマを使用する場合は、アイテムのマークアップを確認できます。
ユニバーサル・テーマを使用する場合は、以前のバージョンのユニバーサル・テーマの既知の問題を解決するために、テーマを最新バージョンにリフレッシュすることをお薦めします。
関連項目:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのサブスクライブされたテーマのリフレッシュ
5.1.14 テキスト・メッセージの置換
このリリースでは、テキスト・メッセージの置換に次の更新が行われています。
-
特定のテキスト・メッセージの
MY_MESSAGE
について、v('APP_TEXT$MY_MESSAGE')
を使用してメッセージ・テキストを取得できるようになりました。 -
APP_TEXT$MY_MESSAGE$XX
を使用して、言語XX (DE、FRなど)の翻訳テキストを返します。 -
同じ構文は、
apex.util.applyTemplate
APIを介してクライアント上でサポートされます。
5.1.15 「リスト・ビュー」リージョン
非推奨のモバイルUIの「リスト・ビュー」リージョンは、デスクトップUIでサポートされます。
-
デスクトップUIで、非推奨のモバイルUIの「リスト・ビュー」リージョンがサポートされるようになりました。
-
ネストされたリストの動作をリフレッシュします。
-
デスクトップUIのネストされたリストによってjQuery Mobileページは作成されません。
-
デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。
5.1.16 「列切替えレポート」リージョン
このリリースでは、「列切替えレポート」リージョンに次の更新が行われています。
-
デスクトップUIで、非推奨のモバイルUIの「列切替えレポート」リージョンがサポートされるようになりました。
-
「列切替えレポート」リージョンでリフレッシュおよびページ・アイテムの送信がサポートされるようになりました。
-
「列切替えレポート」リージョンで「メッセージ: データが見つからない場合」属性がサポートされるようになりました(デスクトップのみ)。
-
列のポップアップを開くボタンをカスタマイズするための新しい「列ボタン・テキスト」属性。
-
新しいアクセス可能表マークアップと「行ヘッダーとして使用」属性。
-
デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。
5.1.17 「リフロー・レポート」リージョン
このリリースでは、「リフロー・レポート」リージョンに次の更新が行われています。
-
デスクトップUIで、非推奨のモバイルUIの「リフロー・レポート」リージョンがサポートされるようになりました。
-
「リフロー・レポート」リージョンでリフレッシュおよびページ・アイテムの送信がサポートされるようになりました。
-
「リフロー・レポート」リージョンで「メッセージ: データが見つからない場合」属性がサポートされるようになりました(デスクトップのみ)。
-
アクセス可能表マークアップと「行ヘッダーとして使用」属性。
-
デスクトップUIの場合、一部のCSSクラス名が変更されているため、開発者はCSSカスタマイズを更新する必要がある場合があります。また、jQuery Mobileテーマに関連するオプションはサポートされていません。
5.1.18 サーバーおよびdynamic_actions_core JavaScriptモジュールのAjaxエラー・メッセージの変更
Oracle Application Expressサーバーおよびdynamic_actions_core JavaScriptモジュールは、Ajaxエラーが発生してもwindow.onerrorをコールしなくなりました。
5.1.19 「クラシック・レポート(ファンクションに基づく)」の削除
このリリースでは、「クラシック・レポート(ファンクションに基づく)」は使用できなくなりました。かわりに「クラシック・レポート」リージョン・タイプを使用します。
ビューAPEX_APPLICATION_PAGE_REGIONSの列SOURCE_TYPE_PLUGIN_NAMEはNATIVE_FNC_REPORTのかわりにNATIVE_SQL_REPORTを返します。
5.1.20 JETガント・チャートの日時書式
このリリースより前では、Zの使用はJETガント・チャートでレンダリングされた日時情報の書式マスクに自動的に適用されました。ただし、すべての日時情報の書式マスクでZを使用すると、顧客の予期しない動作が発生しました(タイムゾーン書式設定が必要ない場合に、チャートの日時情報がタイムゾーン書式設定でレンダリングされるなど)。
このリリースでは、書式マスク設定は、JETガント・チャートのDate列のデータ型(DATE
、TIMESTAMP
、TIMESTAMP with TIME ZONE
またはTIMESTAMP with LOCAL TIME ZONE
であるかどうかに関係なく)に基づくようになりました。
書式マスク設定は、列のデータ型にも基づいています。DATE
列の場合、書式マスクはZを使用しなくなりました。チャート情報を確認するユーザーには、適切なタイムゾーン情報でレンダリングされた日時が表示されるようになりました。
5.1.21 新規HTTPヘッダーX-Content-Type-OptionsおよびX-XSS-Protection
-
X-Content-Type-Options: nosniff
-
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: 正しいContent-Typeを送信するようにアプリケーションおよびデータを更新します。回避策として、値を「sniff」に設定できますが、これは短期的にのみ使用する必要があります。X-Content-Type-Optionsに「nosniff」値を設定すると、ブラウザでのMIMEタイプ・スニッフィングを防ぐことができます。レスポンスで無効なContent-Type (ファイル・タイプがPNGの場合に"image/gif"など)が返される場合、これによりパフォーマンスが低下することがあります。
X-XSS-Protection: 一部のカテゴリのクロスサイト・スクリプティング攻撃を防ぎます。
これらのヘッダーを非表示にすることはできませんが、アプリケーションまたはインスタンスレベルの「HTTPレスポンス・ヘッダー」属性に異なる値を設定することでこれらをオーバーライドできます。
5.1.22 データベース・モニターのユーザー名およびパスワードの大/小文字の区別
このリリースでは、データベース・モニターへのアクセスに使用するデータベース・ユーザー名とパスワードの大/小文字が区別されるようになりました。
5.1.23 複数対話グリッド列用の値の設定動的アクション
このリリースより前の動的アクションでは、値の設定アクションを使用して、影響を受ける複数の要素に同じ値(異なる値ではなく)を設定することが可能でした。この動作は制限的であり、通常のページ・アイテム(SQL問合せからの異なる値で複数のページ・アイテムを設定できます)と整合性がありません。
このリリースでは、動的アクションがページ・アイテムと整合性を持つようになり、SQL問合せで複数の異なる値を問い合せて、それらを複数の対話グリッド列名にマップできるようになりました。
複数の対話グリッド列に単一の値を設定するようにSQL問合せを以前定義していた場合は、最初の対話グリッド列にのみそれが設定されるように動作が変更されたことに気が付くと思います。これを修正するには、異なる列の別名で同じ列値を選択し、「影響を受ける要素」に定義されている各対話グリッド列にマップされるようにSQL文を変更します。
構文の例
次に例を示します。
select 1 col1, 1 col2 from my_table
「影響を受ける要素」で、「列」にCOL1,COL2
を定義します。
5.1.24 ページの作成ウィザードのマスター・ディテールの機能拡張
以前のリリースでは、ページの作成ウィザードの「マスター・ディテール」オプションは「フォーム」の下に表示されていました。「マスター・ディテール」は、ページの作成ウィザードのオプションとして使用できるようになりました。
「マスター・ディテール」をクリックすると、次のオプションが表示されます。
-
積上げ - 編集可能対話グリッドを含む1ページのマスター・ディテールを作成します。(以前のリリースでは、これは「1ページのマスター・ディテール」と呼ばれていました。)
-
ドリルダウン - 2ページ(またはドリルダウン)のマスター・ディテールを作成します。最初のページには、マスター表の対話モード・レポートがあります。2ページ目には、マスター用の標準フォームと詳細用の対話グリッドがあります。(以前のリリースでは、これは「2ページのマスター・ディテール」と呼ばれていました。)
-
左右 - 単一ページ(または左右)のマスター・ディテールをマスター表とディテール表で作成します。左側には、マスター・レコードにナビゲートするためのマスター・リストがあります。右側には、選択したマスター・レコードおよび関連する詳細レポートがあります。
注意:
左右はこのリリースの新機能です。ページの作成ウィザードで作成された左右マスター・ディテール・ページは、以前のバージョンのApplication Expressで作成されたユニバーサル・テーマのバージョンを使用したアプリケーションで動作しません。必要なメディア・リスト・レポート・テンプレートがないためです。回避策としては、このページを作成する前に、最新バージョンのユニバーサル・テーマにリフレッシュします。
また、アプリケーションの作成ウィザードの「マスター・ディテール」のオプションも名前が変更されました。
-
積上げ - 以前は「マスター・ディテール」と呼ばれていました。
-
ドリルダウン - 以前は「編集可能グリッド」と呼ばれていました。
5.1.25 パッケージ・アプリケーションが生産性アプリ、サンプル・アプリおよびアプリ・ギャラリに名前変更された
パッケージ・アプリケーションは、生産性アプリおよびサンプル・アプリに名前が変更されました。
「パッケージ・アプリケーション」タブは、「アプリケーション・ギャラリ」に名前が変更されました。
5.1.26 Oracle REST Data Serviceインストールの検証
Oracle Application Expressを新規インストールまたはアップグレードする場合は、次を実行してOracle REST Data Servicesのインストールを検証する必要があります。
java -jar ords.war validate [--database <dbname>]
5.1.27 jQuery UIウィジェットのタッチ・サポートへの変更
Oracle Application Express 18.1より前は、jQuery UIベースのウィジェットでドラッグまたはスライドのようなタッチがサポートされませんでした。Application Express 18.1では、すべてのjQuery UIウィジェットおよびjQuery UIに基づくAPEXウィジェットにタッチ・サポートが追加されました。これにより、タッチ・デバイスでドラッグ操作およびスライド操作が機能するようになりました。たとえば、ページ・デザイナのスプリッタはタッチを使用して移動でき、ページ・デザイナのツリー・ノードはドラッグおよびドロップできます。
この変更により、多くの場合にスクロールがタッチで中断されるという予期しない結果が生じました(Bug#28076798)。
Application Express 18.2では、スクロールが再び機能するように、この変更が元に戻されました。多くの場合、タッチ・サポートはApplication Express 18.1より前と同様に機能します。
jQuery UIベースのすべてのウィジェットにグローバルにタッチ・サポートを追加するのではなく、Application Expressはスクロールに影響しない箇所でのみタッチをサポートするようになりました。具体的にはタッチ・サポートは次の場合に追加されます。
-
スプリッタ・ウィジェット(ページ・デザイナおよびその他の場所で使用されます)
-
対話グリッドでの列のサイズ変更および並べ替え(注意: 小さい画面のモバイル・デバイスでは、対話グリッドの使用を困難にするその他の要因があります)
Application Express 18.1で追加されたタッチ・サポートに依存している場合は、次の例のようなコードを使用して、ウィジェットごとに有効にできます。
apex.widget.util.TouchProxy.addTouchListeners( someWidget$[0] );
ここで、someWidget$
はウィジェット要素を表すjQueryオブジェクトです。
6.1 非推奨となった機能
非推奨となった機能は、今後のリリースのOracle Application Expressでサポートを終了するか、削除する予定の機能です。機能がアプリケーション・メタデータまたはAPIに関連する場合、既存のアプリケーションはこの機能を引き続き使用できますが、この項の説明に従って開発者がアプリケーションを変更することをお薦めします。Oracle Application Express Advisorを使用して、非推奨となった属性に関して既存のアプリケーションをスキャンします。
6.1.2 apex.widget.initPageItemファンクションは非推奨
apex.widget.initPageItem
ファンクションは非推奨です。かわりに、アイテム・プラグインの作成者はapex.item.create
を使用する必要があります。
6.1.3 jQuery FlotおよびFlotプラグインは非推奨
jQuery Flotバージョン0.7、0.8、0.8.2および0.8.3は、Oracle Application Expressで現在使用されておらず、今後のリリースで削除されます。パッケージ・アプリケーションも、Flot折れ線グラフ、Flot棒グラフおよびFlot円グラフのプラグインを削除するように更新されました。アプリケーション・コードで参照を削除し、Oracle JETデータ視覚化に基づいて宣言的チャート・ソリューションを使用してください。
6.1.4 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTESは非推奨
APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES
は非推奨になっており、Oracle Application Expressの次のメジャー・リリースで使用できなくなります。開発者は、この機能を、より優れたサポートをネイティブ機能に提供するapex_plugin_util.get_element_attributes
に置き換える必要があります。
6.1.5 クラシック・レポートの外部処理は非推奨
クラシック・レポートの外部処理機能は非推奨になっており、今後のリリースで削除されます。
それまでの間に外部処理機能を使用するには、アプリケーションに非推奨またはサポート対象外のJavaScriptファイルを含める必要があります。このファイルを含めるには、アプリケーションを選択し、「ユーザー・インタフェースの詳細」を編集します。「非推奨またはサポート対象外になったJavascript関数を含む」で18.xより前を選択します。
関連項目:
-
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのユーザー・インタフェースの詳細の編集
-
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのJavaScript
6.1.6 APEX_UTIL.STRING_TO_TABLEファンクションは非推奨
Oracle Application Express 5.1以降、APEX_STRING.STRING_TO_TABLE
は非推奨になりました。かわりにAPEX_STRING.SPLIT
を使用してください。
6.1.7 APEX_UTIL.TABLE_TO_STRINGファンクションは非推奨
Oracle Application Express 5.1以降、APEX_STRING.TABLE_TO_STRING
は非推奨になりました。かわりにAPEX_STRING.JOIN
を使用してください。
6.1.8 非推奨のJavaScript関数
次の関数は、このリリースでは非推奨となっています。
-
$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
7.1 サポートが終了した機能
サポートが終了した機能は使用できなくなりました。サポートが終了した機能がアプリケーション・メタデータまたはAPIに関係している場合、既存のアプリケーションが以前のように機能しないことがあります。機能を置き換えるようにアプリケーションを変更することをお薦めします。
7.1.1 サポートが終了した条件タイプ
Oracle Application Expressリリース18.1では、次の属性の次の条件タイプはサポートされなくなりました。
サポートが終了した条件タイプごとに、処理中のOracle推奨のアクションに従ってアプリケーションを修正してください。
属性 - 条件
- 条件タイプ:
-
CGI_ENV: DAD_NAME =/!= Value
-
CGI_ENV: HTTP_POST =/!= Value
-
CGI ENV: SERVER_NAME =/!= Value
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上
-
クライアント・ブラウザはMozilla、Netscape 6.x/7x以上
-
クライアント・ブラウザはその他のブラウザ(または以前のバージョン)
-
クライアント・ブラウザはXHTML/CSS対応のブラウザ
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
などのPL/SQL式をかわりに使用します。 -
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
SQLレポート
-
現在のページ=/!=送信ページ(ポスト済)
-
テキスト=/!=値
-
テキストは値/アイテムに含まれる/含まれない
推奨アクション:-
ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。
-
-
条件タイプ:
-
常時
推奨アクション:-
条件を指定しないことで、同じ結果が実現されます。
-
属性 - 読取り専用条件
- 条件タイプ:
-
CGI_ENV: DAD_NAME =/!= Value
-
CGI_ENV: HTTP_POST =/!= Value
-
CGI ENV: SERVER_NAME =/!= Value
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上
-
クライアント・ブラウザはMozilla、Netscape 6.x/7x以上
-
クライアント・ブラウザはその他のブラウザ(または以前のバージョン)
-
クライアント・ブラウザはXHTML/CSS対応のブラウザ
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
などのPL/SQL式をかわりに使用します。 -
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
SQLレポート
-
現在のページ=/!=送信ページ(ポスト済)
-
テキスト=/!=値
-
テキストは値/アイテムに含まれる/含まれない
推奨アクション:-
ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。
-
属性 - サーバー・キャッシュ条件
- 条件タイプ:
-
CGI_ENV: DAD_NAME =/!= Value
-
CGI_ENV: HTTP_POST =/!= Value
-
CGI ENV: SERVER_NAME =/!= Value
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上
-
クライアント・ブラウザはMozilla、Netscape 6.x/7x以上
-
クライアント・ブラウザはその他のブラウザ(または以前のバージョン)
-
クライアント・ブラウザはXHTML/CSS対応のブラウザ
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
などのPL/SQL式をかわりに使用します。 -
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
SQLレポート
-
現在のページ=/!=送信ページ(ポスト済)
-
テキスト=/!=値
-
テキストは値/アイテムに含まれる/含まれない
推奨アクション:-
ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。
-
-
条件タイプ:
-
常時
推奨アクション:-
条件を指定しないことで、同じ結果が実現されます。
-
属性 - リンク条件
- 条件タイプ:
-
CGI_ENV: DAD_NAME =/!= Value
-
CGI_ENV: HTTP_POST =/!= Value
-
CGI ENV: SERVER_NAME =/!= Value
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
クライアント・ブラウザはMicrosoft Internet Explorer 7.0以上
-
クライアント・ブラウザはMozilla、Netscape 6.x/7x以上
-
クライアント・ブラウザはその他のブラウザ(または以前のバージョン)
-
クライアント・ブラウザはXHTML/CSS対応のブラウザ
推奨アクション:-
SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
などのPL/SQL式をかわりに使用します。 -
SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
などのPL/SQL式をかわりに使用します。
-
-
条件タイプ:
-
SQLレポート
-
現在のページ=/!=送信ページ(ポスト済)
-
テキスト=/!=値
-
テキストは値/アイテムに含まれる/含まれない
推奨アクション:-
ブール条件タイプを戻すPL/SQL式またはPL/SQLファンクションを使用します。
-
-
条件タイプ:
-
常時
推奨アクション:-
条件を指定しないことで、同じ結果が実現されます。
-
7.1.2 モバイル・テーマ51およびjQuery Mobileユーザー・インタフェースのサポート終了
jQuery Mobileユーザー・インタフェースおよびモバイル・テーマ-51はサポートが終了しました。jQuery Mobileのオープン・ソース・ライブラリの最新の安定バージョンは2014年10月31日にリリースされ、jQueryバージョン1.8、1.11および2.1のサポートのみ提供します。パッチが提供されません。Oracle Application Expressリリース18.1には、jQuery 3.2が同梱されています。モバイル・デバイスを対象としたすべての新規アプリケーション開発は、レスポンシブ・ユニバーサル・テーマを使用して行う必要があります。jQuery Mobileは、今後のリリースでサポートされなくなります。
既存のアプリケーションをユニバーサル・テーマに移行する方法の詳細は、https://apex.oracle.com/utのユニバーサル・テーマ・アプリケーションに移動し、移行ガイドを選択してください。
7.1.3 APEXExportSplitterのサポート終了
ワークスペース、アプリケーションおよび関連ファイルをエクスポートするためのAPEXExportプログラムはサポートされなくなりました。プログラムなしでかわりに-splitパラメータを使用してください。
注意:
Oracle Application Expressリリース5.1では、APEXExportに、エクスポートしたアプリケーションを複数のファイルに分割する-splitパラメータが含まれていました。
8.1 修正されたバグ
次の項では、このリリースで修正されたバグの一覧を示します。
表 - 18.2で修正されたバグ — 対話グリッド
バグ番号 | 説明 |
---|---|
25407894 |
対話グリッド: レポート設定が表示または非表示の場合のサイズ変更の問題 |
25421676 |
固定の高さの対話グリッド: 多くの設定がある場合に、データが不明瞭になることがある |
25681997 |
対話グリッド: スティッキー・ヘッダーおよびフッターがグリッドの幅からはみ出すことがある |
25697123 |
列にデフォルトがある場合、使用されていない行の表示値が対話グリッドによって追加される |
26171679 |
編集可能対話グリッドの水平スクロールバーがデフォルトで表示される |
26794608 |
対話グリッド: 値の設定動的アクションで複数の列がサポートされない |
27764967 |
ページ・デザイナ: 対話グリッドを作成しても最大長が移入されない |
27766712 |
[Enter]が押されたとき、対話グリッドのオートコンプリートが次の行に移動しないようにする必要がある |
27853204 |
対話グリッドがタブ内にある場合、ページごとの行数が表示されない |
27939068 |
コンテンツがチャートまたは対話グリッドの場合のインライン・ダイアログの問題 |
27939189 |
インライン・ダイアログの対話グリッドでの列ヘッダー・メニューの問題 |
28012212 |
エクスポート・ファイルにパブリック対話グリッド・レポートが含まれている場合、アプリをインポートできない |
28094343 |
対話グリッドのINITIALSELECTIONオプションが予期したとおりに動作しない |
28140106 |
対話グリッド: IEのカスタム・レポート・セレクタに下ボタンが2つある |
28142480 |
対話グリッドの株価チャートでJSエラーが発生する |
28143302 |
リージョンに高さがある場合、対話グリッドの単一行ビューでスクロールできない |
28202781 |
翻訳済アプリの対話グリッドでアップグレード時にエラーが発生する |
28256852 |
モバイル・デバイス上の対話グリッドで41レコードを表示すると40レコードが表示される |
28269761 |
対話グリッドのチャート: 日次列タイプにラベルを設定するとJSエラーがスローされる |
28298408 |
対話グリッドのディテール・リージョンが多すぎると、JavaScriptの例外が発生する |
28321329 |
IE 11上の対話グリッドの選択リストに、現在の値が表示されない |
表 - 18.2で修正されたバグ — 生産性アプリとサンプル・アプリ
バグ番号 | 説明 |
---|---|
27458757 |
P-Track: スーパー管理者以外およびプロジェクト・メンバー以外が制限されたプロジェクトにアクセスできる |
27474168 |
商談トラッカ: 新しく作成した商談ステージにシリアル番号がない |
27628969 |
議事メモ: アスタリスクで始まる予定表を持つ会議の作成/保存でエラーが発生する |
27792102 |
商談トラッカ: 商談の詳細を表示すると、無効な識別子エラーがスローされる |
27798338 |
グループ・カレンダ: イベント・カラー・タイプ作成ウィザードにカラー・ピッカーがない |
27798366 |
グループ・カレンダ: 時間枠の作成にカレンダがない |
27866201 |
インシデント・トラッキング: 製品に複数のバージョンを追加できない |
27975282 |
P-Track: プロジェクトに問題を追加できない |
27989068 |
顧客トラッカ: 「フィードバックの管理」ページのエラー |
28041550 |
サーベイ・ビルダー: 質問票の編集時にブラウザ・コンソールでJSエラーが発生する |
28041611 |
サーベイ・ビルダー: 質問票の編集時のレイアウトの問題 |
28124851 |
グループ・カレンダ: グループ・メンバー・ページのスタイルが他のページと一貫性がない |
28321258 |
グループ・カレンダ: すべてのユーザーがホーム・ページでフィルタをカスタマイズできる |
28321448 |
顧客トラッカ: フレックス列の割当てを作成できない |
28321655 |
P-Track: プロジェクトを4Kを超えるテキストで更新するとエラーが発生する |
28329440 |
データ・レポータ: 6ページで表を選択したとき、問合せが37ページに表示されない |
表 - 18.2で修正されたバグ — その他
バグ番号 | 説明 |
---|---|
27444130 |
インライン・ダイアログを2回目に開こうとすると開けない |
27666219 |
PREPARE_URLを使用したスケジュール済ジョブで、パブリック・ブックマークのチェックサムが生成されない |
27945850 |
APEX_WEB_SERVICEで「REASON_PHRASE」がG_STATUS_CODEのように公開される |
27971759 |
有効な値がNULLの場合、APEX_APP_SETTING.SET_VALUEが有効な値ではないというエラーになる |
27991296 |
「ジョブ・レポート」の作成機能ページが11.2データベースで機能しない |
27991486 |
時間を持つ日付ピッカーを再度開いたとき、最後の選択内容が記憶されていない |
27993099 |
アプリにログインできない: APEX_180100.WWV_FLOW_SESSION_GROUPS$_PKエラーがスローされる |
28013850 |
URLに非準拠の特殊文字{}があるためにWebサーバー・エラーが発生する |
28030767 |
「スタイルの設定」動的アクションがオートコンプリート・アイテムを持つテキストフィールドで機能しない |
28035049 |
APEXユーザーを使用したORDS OAuth2管理画面への認証の問題 |
28075855 |
回帰: リージョンSQL問合せで代入が行われない |
28076798 |
モバイル上のタッチを使用したツリー・メニューおよびダイアログでスクロールできない |
28076993 |
現在、ORDS RESTワークショップで大きいスクリプト・サイズを処理できない |
28077007 |
ORACLE APEX 18.1ディストリビューションでフィードバックが有効になる |
28088432 |
クラシックRPT SQLにORDER BY句がある場合に、ページ・デザイナで警告が表示されない |
28092435 |
「CHAR」データ型が返された場合、ORDSサービスのWebソースの検出に失敗する |
28093976 |
UTリンク・リスト・テンプレートで#A03#置換文字列の前にスペースがない |
28094163 |
APEX_WEB_SERVICE.MAKE_REST_REQUESTでP_BODY_BLOBの最後のバイトが転送されないことがある |
28134223 |
コメントなしでフィードバックを追加するとORA-01400が発生する |
28141790 |
対話モード・レポートのチャート: リージョン表示セレクタを持つページのリフレッシュでエラーが発生する |
28143815 |
「ページ区切りなし」が使用された場合、Webソースのクラシック・レポートでエラーがスローされる |
28149359 |
アプリケーションの作成ウィザード: USER_ACCESSページでの保存の認可 |
28171466 |
対話モード・レポートで数値列およびドイツ語NLSに対してフィルタを設定するとエラーがスローされる |
28202697 |
インポート時に既存のアプリを上書きすると、新しいアプリ名が表示されない |
28247250 |
カスタム認証スキーム: REMEMBER_DEEP_LINKで監視ファンクション・エラー |
28253542 |
JETガント: 日付書式はZulu時間形式を使用するようにデフォルト設定されない必要がある |
28263482 |
リージョンのビルド・オプションの使用状況のレポート・リンクを使用すると、削除されたページにリダイレクトされる |
28263730 |
Webサービス・リクエストで断続的にORA-00942が発生する |
28267010 |
対話モード・レポートの列ヘッダー・フィルタで「特殊文字をエスケープ」が考慮されない |
28268953 |
チャート・タイプを変更すると、ページ・デザイナでレガシーAnyChartシリーズが表示されない |
28271422 |
ファインダ・ダイアログに古いレガシー・イメージのタブが表示されない必要がある |
28285763 |
ORA-02091: アプリケーションの削除時にトランザクションがロールバックされる |
28290313 |
Webシート: 未処理のORA-20515: 添付ファイルをダウンロードするときの無効なセッション |
28292884 |
動的アクション: IG列に基づいてクライアント側の条件を作成できない |
28293165 |
対話モード・レポート: リフレッシュすると、フォーカスが列検索メニュー・ボタンに移動する |
28295777 |
Web SRC検出の非常に複雑なJSONで、ORA-06502「数値または値のエラー」がスローされる |
28311481 |
認証後アプリ処理が公開ログイン・ページで実行されない |
28313210 |
ダイアログ・ページのタイトルが長い場合、ダイアログ・ページにリンクをレンダリングするとエラーが発生する |
28320098 |
fr-caロケールで日付がある場合、対話モード・レポート・フィルタでORA-12728がスローされる |
28325138 |
認証リモート・サーバーを使用したWeb SRCモジュールでのアプリのインポートでORA-01403がスローされる |
28328206 |
NLS: ORDS RESTfulサービス・ページのハードコードされた英語文字列(4850:100) |
28333520 |
汎用列および合計の計算を有効にしたクラシック・レポートでORA-01403がスローされることがある |
28333648 |
汎用列を持つクラシック・レポートで、列名が「COLNN」の場合、ORA-01403がスローされることがある |
28335589 |
データのロードで空白行が無視されなくなった |
28341051 |
8191バイトを超えていて、CLOBに絵文字が含まれている場合、APEX_JSON.PARSE(CLOB)エラーが発生する |
28349551 |
APEX_APPL_WEB_SRC_PARAMETERSビューとAPEX_APPL_WEB_SRC_COMP_PARAMSビューが常に空である |
28355038 |
同じSQL*Plusセッションでサンプル・アプリに複数のワークスペースを作成できない |
28358263 |
APEX_JSON.PARSE: エンコードされた絵文字が正しく解析されない |
28359264 |
Webソース・モジュールでURL問合せ文字列が正しく引用符で囲まれない |
28366600 |
JETチャート: ページ・デザイナの低い列と高い列のマッピングでは、数値のみが許可される必要がある |
28373036 |
合計列付きで出力されるクラシック・レポート: 合計のタイトルにエスケープされたHTMLが含まれている |
28383598 |
クラシック・レポートに「ページ区切りが範囲外」というメッセージが表示されなくなった |
28388390 |
ラジオ・グループ・アイテムおよびチェック・ボックス・アイテムがピル・ボタンとして表示された場合、応答しない |
28405546 |
Web SRC操作「リクエスト本文テンプレート」として255文字を超える文字を入力できない |
28415314 |
サンプルRESTサービスの作成時に、EMP表およびDEPT表が作成されない |
28420025 |
APEXアプリの外部で呼び出された場合、Web SRCモジュールで数値の小数点文字が無視される |
28438646 |
ACL機能: 認証スキームでは宣言的な「ロール内にある」タイプが使用される必要がある |
28438668 |
リスト・ビュー・リージョン: 「行数」属性が内部的に1増加する |
28439164 |
アクション・コードでAPEX_JSONが使用される場合、動的アクションでJSONエラーが発生する |
28497009 |
APEX_WORKSPACE_LOG_ARCHIVEビューで、部分ページ・ビューが誤って計算される |
28575023 |
HTTPステータス4XXおよび5XXの場合、WebソースのOUTパラメータが処理されない |
28576978 |
スワイプおよびパンのジェスチャがAndroidモバイルのChromeで動作しない |
28582552 |
ソーシャル・サインイン: アクセス・トークンが4000文字より大きい場合、ORA-06502が発生する |
9.1 オープン・バグおよび既知の問題
この項では、Oracle Application Expressリリース18.2のバグおよび既知の問題について説明します。
ヒント:
このセクションは、このドキュメントを作成していた時点での最新です。変更された動作の最新のリストについては、次の場所の「Known Issues」ページを参照してください。
http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex181-known-issues-4478237.html
9.1.1 イメージ・フォルダからのAnyChart Flashコンポーネントの削除
前のリリースで、AnyChartおよびAnyGantt Flash .swf
ファイルは/images
フォルダから削除されました。これにより、AnyChartマップ・チャートおよびガント・チャートはレンダリングされなくなりました。エラー・メッセージは表示されず、かわりにリージョンが空白になります。
9.1.2 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.3 RESTfulサービスおよびOracle REST Data Services (ORDS)の既知の問題
Oracle Application Express 18.1およびOracle REST Data Services 18.1を使用している場合、RESTfulサービスの開発およびデプロイ時に次の問題が発生する可能性があります。
9.1.3.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.3.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.3.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
の両方に同じ値が設定されます。
9.1.4.1 ページ・アイテムに対して出力される一貫性のない必須属性
問題
必須属性の構成によってはスクリーン・リーダーから一貫性のない出力が生成され、アシスティブ・テクノロジのユーザーに混乱をもたらすことがあります。
-
該当するラベル・テンプレート(「必須」など)を使用して、ラベルの隣に必要なアイコンを表示する必要があります。このラベル・テンプレートを選択するというのは、スクリーン・リーダーによって読み取られる非表示テキスト((「必須の値」)という内容)を追加するということでもあります。
-
入力を検証するには、主に次の2つの方法があります。
-
よく使用される方法は、「必須の値」アイテム属性を設定することです。これは、入力を検証し、さらにフォーム・アイテム属性に
aria-required="true" required=
を出力します。 -
あまり使用されない方法は、
NOT NULL
ページ検証を使用することです。この検証を行うのは、たとえば、他のコンテキストに基づいて条件付きでページを検証する必要がある場合です(TOTAL_SALES
情報を格納するページ・アイテムが必須になるのはJOB = SALES
の場合のみであるなど)。
-
このように個別に検証が使用される場合、アイテムには出力されるアイテムに対する必須属性が含まれません。
このため、出力内容に不整合が生じて、アシスティブ・テクノロジのユーザーに混乱をもたらすことがあります。
この問題は、Oracle Bug#23761182で追跡されます。
回避策
「必須の値」アイテム属性を使用するのではなく、アイテムに対する簡単なNOT NULL
スタイル検証を作成し、「必須の値」属性を「いいえ」
に設定します。これで、開発者が必須アイテムに適したラベル・テンプレートを定義すれば、必須アイテム全体にわたって一貫性のある体験を実現できます。必須情報は、アイテム属性ではなくラベルに通知されます。
9.1.4.2 リンクおよびボタンを配置した対話グリッドの単一行ビューのキーボード問題
問題
-
ユーザーは、タイプがリンクの列や、ナビゲーション・モードのキーボードで定義されたリンクがある列をアクティブ化できません。
-
編集モードまたはナビゲーション・モードのとき、ボタンまたはリンクが含まれている列に余分なタブ・ストップが存在します。
この問題は、Oracle Bug#25245829で追跡されます。
回避策
グリッド・ビューを使用します。ここでリンクおよびボタンをアクティブ化できます。
9.1.4.3 編集モードで対話グリッド・セルのボタンおよびリンクをアクティブ化できない
問題
対話グリッドのグリッド・ビューで、グリッドが編集モードのときに、ユーザーが[Space]キーまたは[Enter]キーを押してセルに含まれているボタンまたはリンクをアクティブ化できません。
この問題は、Oracle Bug#25245887で追跡されます。
回避策
[Esc]キーを押して編集モードを終了し、ナビゲーション・モードに戻ります。ここでボタンおよびリンクを通常どおりアクティブ化できます。
9.1.4.4 対話グリッドでグリッドの後に非表示の余分なタブ・ストップが含まれている
問題
対話グリッドで、ユーザーがグリッド・セクションを超えてタブ移動すると、グリッドの後に非表示の余分なタブ・ストップが存在します。
この問題は、Oracle Bug#25245934で追跡されます。
回避策
グリッド・セクションを超えてタブ移動したら、ページで次に視覚的にフォーカス可能な要素に達するまで、[Tab]キーを複数回押します。
9.1.4.5 ページ・デザイナ、プロパティ・エディタ、表示グループのヘッダーはボタンである必要がある
問題
現在、プロパティ・エディタでは、表示グループはキーボードでフォーカス可能な<div>
要素としてマークアップされています。フォーカスされると、ユーザーは、上矢印キーと下矢印キーを使用して表示グループ間をナビゲートでき、プロパティ・エディタのキーボート・サポートの補助となります。ただし、<div>
がフォーカスされている場合、JAWSは表示グループのタイトルを2回アナウンスします。また、表示グループが最初にフォーカスされたとき、初期状態ではARIA展開状態をアナウンスしません(展開または縮小時にアナウンスされます)。
この問題は、Oracle Bug#20693220で追跡されます。
回避策
ユーザーは、最初のフォーカス時に状態がアナウンスされないことを認識する必要があり、[Enter]を押してグループを展開または折りたたんでアナウンスを強制的に実行するか、[Tab]を押してフォーカス可能な次の要素(展開している場合はグループの最初のフィールド、折りたたまれている場合は次の表示グループ)に移動するかのいずれかを実行できます。
9.1.4.6 単一の値/アイテム・チェック・ボックスによる不要なfieldsetタグとlegendタグのレンダリング
問題
ネイティブ・チェック・ボックス・アイテムをレンダリングすると、チェック・ボックスのグループのコンテナとして機能するFIELDSET
タグ、FIELDSET
にアクセス可能なタイトルを提供するLEGEND
タグをレンダリングします。これは、グループ内に複数のチェック・ボックスがあるチェック・ボックスの場合は適切ですが、チェック・ボックスに1つのチェック・ボックスのみが含まれる場合、FIELDSET
とLEGEND
をレンダリングすることは不適切です。
この問題は、Oracle Bug#18188460で追跡されます。
9.1.4.7 2つ以上のリージョンに「最大化」ボタンが表示される場合、ラベルが重複する
問題
ネイティブ・リージョン・タイプに組み込まれた最大化機能は、ページが埋まるようにリージョン・コンテンツを最大化できるボタンをリージョン内に表示します。同じページに最大化機能が有効になっているリージョンが2つ以上表示される場合、ボタンのラベルが重複します。
この問題は、Oracle Bug#27685217で追跡されます。
サポートされている回避策はありません。
9.1.4.8 Windows高コントラスト・モードの実行時にアイコンが表示されない
問題
Windows高コントラスト・モードを実行する場合、多くのアイコンやアイコン・ボタンはWindows高コントラスト・モードの使用時に使用できません。
サポートされている回避策はありません。
この問題は、Oracle Bug#27781674で追跡されます。
9.1.4.9 カレンダ・リージョンのリスト・ビューのアクセシビリティを改善する必要がある
問題
このリリースでは、18.2のカレンダ・リージョン・タイプのリスト・ビューは、FullCalendarウィジェットのネイティブ・リスト・ビューを使用するようになりました。18.2より前およびこれをサポートするFullCalendarより前は、Application Expressにリスト・ビューのカスタム実装がありました。FullCalendarリスト・ビューはあまり構造化されていないHTMLを使用するため、アクセシビリティが悪影響を受けます。
サポートされている回避策はありません。
この問題は、Oracle Bug#27941145で追跡されます。
10.1.1 Oracle Application Express JavaScript APIリファレンス・プロトタイプ
前のリリースでは、Oracle Application Express JavaScript APIリファレンスのプロトタイプがOracle Help Centerに導入されました。このリリースでは新しいコンテンツで更新されましたが、このバージョンではいくつかのJavaScript APIが除外されている可能性があります。より最終的なバージョンは将来のリリースで提供されます。
今後、このリファレンスには、すべてのJavaScript APIが含まれる予定です。それまでは、Oracle Application Express APIリファレンスのJavaScript APIを参照してください。
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リリース・ノート, リリース18.2
F13455-02
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の登録商標です。
このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。