Oracle® Application Express
Release Notes
Release 19.2
F18078-03
1.1 About These Release Notes
These release notes contain important information not included in the Oracle Application Express documentation.
2.1 Before You Begin
Review the following to ensure your readiness for this version of Oracle Application Express.
2.1.1 Oracle Database Requirement
Oracle Application Express release 19.2 requires an Oracle Database release 11.2.0.4 or later, including Enterprise Edition and Express Edition (Oracle Database XE).
2.1.2 About Release Numbering Conventions
New releases of Oracle Application Express correlate to the calendar year.
In 2018 and starting with release 18.1 and 18.2, Oracle Application Express introduced correlating the release number to the calendar year.
In addition, Application Express now only offers full releases and no longer provides patch set releases (such as 5.1.1). Eliminating patch set releases reduces downtime when updating existing installations. Application Express architecture also enables developers to revert releases if necessary.
Patch set exceptions (PSEs) may still be delivered for major defects. To learn more about PSEs, visit the Oracle Application Express Known Issues page.
2.1.3 About Checking for the Most Current Release
Oracle Application Express is released more frequently than the Oracle Database. To view information about or download a more current release, see:
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
2.1.4 About Upgrading to the Latest Oracle Application Express Release
If you already have Oracle Application Express installed, Oracle strongly recommends that you regularly upgrade to the latest version available.
To learn more, see "Upgrading from a Previous Oracle Application Express Release" in the Oracle Application Express Installation Guide.
2.1.5 About Determining Your Release Version
To determine which release of Oracle Application Express you are currently running, do one of the following:
-
View the release number on the Workspace home page:
-
Sign in to Oracle Application Express.
The Workspace home page appears. The current release version displays in bottom right corner.
-
-
View the About Application Express page:
-
Sign in to Oracle Application Express.
The Workspace home page appears.
-
Click the Help menu at the top of the page and select About.
The About Application Express page appears.
-
See Also:
"About Accessing Your Development Environment" in Oracle Application Express App Builder User’s Guide
2.1.6 Important Information if Updating from a Release Prior to 19.1
If you are updating from previous release of Oracle Application Express, see the "Changed Behavior" sections in the following documents:
2.1.7 Important Information if Upgrading from Oracle Database Version 12c CDB
If you are upgrading an Oracle Database 12c Release 1 (12.1) multitenant container database (CDB), you must download the patch for Bug 20618595 from My Oracle Support and apply it to your database. To locate this patch, search for 20618595 on the Patches tab.
3.1 Configuration Requirements
When configuring the mod_plsql
Database Access Descriptor (DAD), you must set the value of the character set portion of PlsqlNLSLanguage to AL32UTF8
regardless of the underlying database character set.
The Database Access Descriptor now contains a parameter for PlsqlRequestValidationFunction. The purpose of this parameter is to limit the number of procedures which can be invoked through mod_plsql
. By default, the only procedures permitted are the public entry points of Oracle Application Express. This can be extended using the validation functions shipped with Oracle Application Express.
Enabling the PlsqlRequestValidationFunction for a Database Access Descriptor may cause existing applications which relied upon publicly executable procedures to fail. You may choose to either omit the PlsqlRequestValidationFunction from the Database Access Descriptor definition, or follow the recommended approach of extending the supplied validation function.
See Also:
"Restricting Access to Oracle Application Express by Database Access Descriptor (DAD)" in Oracle Application Express Administration Guide
4.1 New Features
Oracle Application Express release 19.2 includes a number of new features. These new features are not present in Oracle Application Express release 19.1 and earlier releases.
4.1.1 New JavaScript APIs
New keyboard key names:
Keypad =
Keypad Clear
- F13 - F15 added to
apex.actions
keyboard shortcut facility
New functions:
apex.actions.getKeyCaps
apex.actions.setKeyCaps
New parameter:
pWithMarkup
was added toactions.listShortcuts
andactions.shortcutDisplay
methods.
New widgets:
- Grid widget options:
allowSelectHidden
skipReadonlyCells
- Grid widget method:
finishEditing
iconList
widget options:noNavKeyContent
tabbableContent
- interactiveGridView properties:
cssClass
icon
singleRowMode
singleRowView$
- interactiveGridView method:
getContextRecord
- Menu widget option callout
recordView
widget methodfinishEditing
tableModelView
widget optionconstrainNavigation
tableModelView
widget methodfinishEditing
Additional APIs also supported in release 19.1:
- grid widget option
collapsibleControlBreaks
- interactiveGrid widget options:
saveLoadingIndicator
saveLoadingIndicatorPosition
trackParentSelection
interactiveGrid
widget methodsetMasterRecord
recordView
widget methodgetFields
4.1.2 Universal Theme
Universal Theme contains UI refinements, accessibility improvements, new template options, and Theme Roller enhancements to help your applications look better than ever.
- Dark Mode
- Universal Theme now has a brand new Theme Style that enables you to add Dark Mode to your applications. Simply select the "Vita - Dark" Theme Style and you're set to go!
- Fully Collapsible Navigation Menu
- The side Navigation Menu can now be fully collapsed via template options.
- New Login Page Styles
- You can now choose between new layouts and backgrounds for your app's login page.
- New Content Row Template
- There is a new Classic Report template that makes it easy to display formatted content with selection, actions, and more.
- Logo Editor in Theme Roller
- You can easily upload or define your app's logo using Theme Roller.
4.1.3 Faceted Search
The new faceted search page provides a powerful new way to filter and display your data. A faceted search page features a faceted region that enables users to narrow down the search results and displays the results in either a report or cards view.
4.1.4 New Team Development
The new Team Development provides a simple, conversational approach to team communication. Create an issue to track everything in a single place. Apply classifications using label groups and labels, create templates to provide users with starter text for issues and comments, and track progress by assigning milestones.
Individual users can register their interest in specific issues and define at a general level what attributes they are interested in watching. Users can also choose whether they wish to be notified in the application, by email, or both.
4.1.5 Interactive Grid Support of External Data Sources
Interactive grid now includes built-in support for the external data source you specify (Local Database, REST Enabled SQL Service, or Web Source Module).
4.1.6 Data Loading into Existing Tables
The data upload functionality has been extended to support uploading native Excel, CSV, XML, and JSON documents into existing tables.
4.1.7 Specify Default Debug Level from Runtime Developer Toolbar
Specify a Default Debug Level from Developer Toolbar Options on the Runtime Developer Toolbar. Default Debug Level options include: Info (default), App Trace, or Full Trace.
4.1.8 Report Supplemental Text Attribute
Interactive grids, interactive reports, and classic reports Attributes include a new Supplemental Text attribute. Use this attribute to include text at the top of download files (for example, for data classification or to include legal or warning messages about the data in the file).
4.1.9 Enhanced Application Logo
Add an application logo by specifying an image, text, image and text, or custom HTML.
4.1.10 Expanded Shared LOVs
Enhancements to Shared List of Values (LOV) include support for additional data sources, declarative column mappings, and multiple display column.
4.1.11 Enhanced Popup LOV
Popup LOV now supports multiple display columns, search-as-you-type, improved multiple value selection, and a simplified user interface.
4.1.12 Oracle JET and jQuery Library Updates
Updates to Oracle JET and jQuery library in this release include the following:
- JET 7.2.0
- jQuery 3.4.1
- jQuery UI 1.12.1
- FullCalendar 3.3.10
See Also:
4.1.13 Interactive Report supports Oracle Text indexes
Interactive Report row searches benefit from advanced searching capabilities like fuzzy or linguistic search when an Oracle Text Index Column is used.
4.1.14 Interactive Report, Interactive Grid and Popup LOV searches can be passed to a REST service
Enable the Use for Row Search
switch for a Web Source Module parameter to use this feature.
4.1.15 Clob Column support in SQL Workshop Data Loading and the APEX_DATA_PARSER package
SQL Workshop Data Loading and the APEX_DATA_PARSER package support up to 20 CLOB columns.
4.1.16 Debug Level in Runtime Developer Toolbar
The Runtime Developer Toolbar now retains a Default Debug Level. The Debug Level persists when run again from App Builder.
4.1.17 New Callout and Popup Template Option APIs
This release introduces two new template option APIs:
callout
template optionpopup
widget
5.1 Changed Behavior
This section is current as of the writing of this document. To view the most current listing of changed behavior, go to the Known Issues page: https://www.oracle.com/technetwork/developer-tools/apex/downloads/apex-192-known-issues-5811831.html
Changed behavior in this release includes:
- Removed Sample Files from Oracle Forms Migrations utility
- APEX_INSTANCE_ADMIN_USER is locked after a new installation
- Statistics Tab in Object Browser
- Popup LOV item getValue API returns array
- Internal Engine Changes for List of Values
- JET binding provider
- Edit multiple properties in Property Editor
- Switch item type changed
- FontAwesome migrated to Font APEX
5.1.1 Browser Requirements
Oracle Application Express requires a JavaScript-enabled browser and supports the current and prior major release of Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Internet Explorer, and Microsoft Edge.
Note:
Microsoft Internet Explorer 11 is the prior major release, with Microsoft Edge being the current Microsoft browser.
5.1.2 Compatibility Mode
The application attribute Compatibility Mode controls the compatibility mode of the Application Express runtime engine. Certain runtime behaviors change from release to release. You can use the Compatibility Mode attribute to obtain specific application behavior. This section lists Compatibility Mode changes by release. Note that all mode changes are inclusive in that all changes in older releases are included in newer releases.
Compatibility Mode Changes in Mode 4.1
In Oracle Application Express release 4.1, Automatic DML forms raised an error when rendering the page if the column name of the source of an item was invalid. Prior to Oracle Application Express release 4.1, an invalid column name of the source of an item would not raise an error when rendering the page but it would also not set session state of the item.
Also, in Oracle Application Express release 4.1, there are two new application Security Attributes to control Browser Security: Cache and Embed in Frames. Enabling the Cache attribute enables the browser to save the contents of your application's pages in its cache, both in memory and on disk. The Embed in Frames attribute controls if the browser displays your application's pages within a frame. Applications running in a Pre-4.1 Compatibility Mode function as if the Cache is enabled and as if Embed in Frames is set to allowed. Applications running in Compatibility Mode 4.1 or later respect the specific Browser Security attributes.
Also, in Oracle Application Express release 4.1, because of bug 12990445, the following changes were implemented for Automatic Row Processing (DML) process types. The code which performs the INSERT was changed to determine if the columns should be included in the INSERT statement. Note that these are the same checks which occur before an UPDATE. These new checks include:
-
Is the source type a DB Column?
-
Is the page item contained in the POST request? For example, if the page item is conditional it will not be contained in the POST request if the condition evaluates to FALSE during page rendering.
-
Is the page item not of type Display Only where Save State is set to No?
To enable these behaviors, set the Compatibility Mode to 4.1 or later. For behavior that matches earlier releases, set the Compatibility Mode to Pre-4.1.
Compatibility Mode Changes in Mode 4.2
In Oracle Application Express release 4.2 due to changes for the new grid layout, when a page is rendered, all regions in a certain display point are evaluated before rendering that display point, to find out if they should be displayed or not (so that the grid layout knows how many columns to render). The regions where the evaluation returned true will be executed and displayed. However, this will not work if a PL/SQL based region sets session state which is then used in a subsequent region condition to determine if the region should be displayed. In that scenario, the condition has already been checked before the display point is rendered. Use computations or PL/SQL processes to set session state before any region is displayed. In previous versions, the condition was evaluated right before each region was displayed.
In Oracle Application Express release 4.2, computations and processes with a processing point Before Region(s) do now fire before any region gets rendered. Computations and processes with a processing point After Region(s) fire after all regions have been rendered. In previous versions, the computations and processes fired just before and after the region display point Page Template Body (1-3).
Oracle Application Express Patch Set 4.2.2 added two new Compatibility Mode changes for Compatibility Mode 4.2:
-
Text areas were changed to always use the Maximum Width attribute to restrict text input.
-
Enhanced security for report column links, where the link contains both JavaScript and references to other report column substitutions, for example:
javascript:alert( 'Delete #NAME#' );
In the previous example,
NAME
is a column name in the report.
Prior to Oracle Application Express release 4.2.1, to protect against possible cross-site scripting vulnerabilities, you would have had to explicitly escape any column values in the report source, so that they could safely be used in JavaScript links. When running in Compatibility Mode 4.2, Oracle Application Express automatically JavaScript escapes column name substitutions referenced in JavaScript links if the column is defined to escape special characters.
To fix this, Oracle recommends that you remove the manual JavaScript escaping from your report source and use of the native escaping.
Compatibility Mode Changes in Mode 5.0
In Oracle Application
Express release 5.0, referencing a Static Application File with #WORKSPACE_IMAGES#
no longer returns the application file. Instead, use #APP_IMAGES#
.
Prior to release 5.0, developers using data upload did not have the option to choose a date format. Instead, a parser checked for the best format to match the user's entry or an end user could enter their own format. Oracle Application Express release 5.0 includes a new item that enables the user to choose an application date format or user entered format. Because applications created before release 5.0 do not have an item, a Compatibility Mode of 5.0 checks if the user has entered some data. If no data has been entered, it picks the application date format.
When a session timeout occurs and no timeout URL is specified, Oracle Application Express raises an error instead of redirecting to the application's home page. If the session setup for an Ajax requests fails, Oracle Application Express also raises an error. For Ajax requests that expect JSON, the response is a JSON string with members that describe the error. For other requests, the error appears on an error page.
Page items based on a database column where the attribute Source Used is set to Only when current value in session state is null will raise an error when the page item gets rendered. Using this setting for a database column is very dangerous and can result in accidentally overwriting data when viewing and saving multiple records. Always set the Source Used attribute to Always, replacing any existing value in session state.
Compatibility Mode Changes in Mode 5.1 / 18.1
In Oracle Application Express 18.1, buttons where the Execute Validations attribute is set to Yes also perform some client-side validations (such as item required checks) and will not submit the page until all issues are fixed. In previous versions this flag was just used to determine if server-side validations should be executed.
Tip:
Please pay attention when changing the Compatibility Mode to 5.1/18.1. Buttons, such as Cancel or Previous, where the Execute Validation flag has incorrectly been set to Yes and which use an After Submit branch, never execute validations when the user clicks the button. You can address this issue by using the new client-side validations, or by setting Execute Validations to No.
In release 5.1, any Ajax-based Dynamic Actions where the "Wait for Result" attribute is set to Yes
perform an asynchronous Ajax call. Prior to 5.1, such calls would be made synchronously.
Compatibility Mode Changes in Mode 19.1
In Oracle Application
Express 19.1, the Rich Text editor now enforces validation of the Max Length
item attribute. When the length of the HTML markup exceeds the Max Length
value, the system produces an error message.
Compatibility Mode Changes in Mode 19.2
In Oracle Application
Express 19.2, Classic Reports render empty column values as an empty cell instead of using a "non-breaking white-space" (
).
5.1.3 Enabling Network Services in Oracle Database 11g or Later
You must enable network services in Oracle Database 11g or later versions to send outbound mail, use Web services, or use PDF report printing in Oracle Application Express.
5.1.3.1 When and Why Network Services Must be Enabled
Enabling network services enables support for sending outbound mail in Oracle Application Express, use of Web services in Oracle Application Express, and PDF report printing.
By default, the ability to interact with network services is disabled in Oracle
Database 11g Release 2 or later. Therefore, if you are running Oracle Application
Express with Oracle Database 11g Release 2 or later, you must use the new
DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any
host for the APEX_190200
database user. Failing to grant these
privileges results in issues with:
-
Sending outbound mail in Oracle Application Express.
Users can call methods from the
APEX_MAIL
package, but issues arise when sending outbound email. -
Using Web services in Oracle Application Express.
-
PDF report printing.
Note:
When upgrading Application Express on a database 12c or newer,based on the configuration of the old Application Express version the upgrade automatically configures Network Services.Tip:
To run the examples described in this section, the compatible initialization parameter of the database must be set to at least 11.1.0.0.0. By default an 11g or 12c database will already have the parameter set properly, but a database upgraded to 11g or 12c from a prior version may not. For information about changing database initialization parameters, see "Creating and Configuring an Oracle Database" in Oracle Database Administrator’s Guide.
5.1.3.2 Granting Connect Privileges Prior to Oracle Database 12c
Demonstrates how to grant connect privileges to any host for the
APEX_190200
database user.
The following example demonstrates how to grant connect privileges to any host for
the APEX_190200
database user. This example assumes you connected to the
database where Oracle Application Express is installed as SYS
specifying
the SYSDBA
role.
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_190200
-- the "connect" privilege if APEX_190200 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_190200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_190200', 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_190200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers.
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to 'localhost' and give APEX_190200
-- the "connect" privilege if APEX_190200 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_190200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_190200', 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_190200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.3.3 Granting Connect Privileges in Oracle Database 12c or Later
Procedures CREATE_ACL
, ASSIGN_ACL
, ADD_PRIVILEGE
and CHECK_PRIVILEGE
in DBMS_NETWORK_ACL_ADMIN
are deprecated in Oracle Database 12c. Oracle recommends to use APPEND_HOST_ACE
.
The following example demonstrates how to grant connect privileges to any host for
the APEX_190200
database user. This example assumes you connected
to the database where Oracle Application Express is installed as
SYS
specifying the SYSDBA
role.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_190200',
principal_type => xs_acl.ptype_db));
END;
/
The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'localhost',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_190200',
principal_type => xs_acl.ptype_db));
END;
/
5.1.3.4 Troubleshooting an Invalid ACL Error
Learn how to identify any invalid ACL error by running the query.
If you receive an ORA-44416: Invalid ACL
error after running the previous script, use the following query to identify the invalid 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);
Next, run the following code to fix the 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;
Once the ACL has been fixed, you must run the first script in this section to apply
the ACL to the APEX_190200
user.
5.1.4 Removed Sample Files from Oracle Forms Migrations utility
Previous releases included Sample Files for developer use in the Oracle Forms Migrations utility (App 4400).
As of this release, the Sample Files have been removed from all instances. You can still download the removed Sample Files from the following location:
http://www-content.oracle.com/content/groups/public/@otn/documents/digitalasset/5654921.zip
5.1.5 APEX_INSTANCE_ADMIN_USER is locked after a new installation
If the REST Administration interface is not in use, APEX_INSTANCE_ADMIN_USER will be locked during an upgrade. To use the REST Administration interface, this user must be unlocked first.
See Also:
Using the REST Administration Interface to View Usage Statistics in the Oracle Application Express Administration Guide5.1.6 Statistics Tab in Object Browser
The new Statistics tab in Object Browser provides a modernized option for table statistics in addition to the conventional analysis algorithm.
5.1.7 Popup LOV item getValue API returns array
Prior to this release, the apex.item().getValue()
API would return a string for multi-valued items.
Starting with this release, getValue
returns an array for Popup LOV items with Multiple Values = Yes, which is consistent with other items that return multiple values.
5.1.8 Internal Engine Changes for List of Values
Changes to List of Values mean that the execution engine no longer accepts invalid SQL. In the past, the engine ignored invalid SQL. Now, invalid SQL raises a runtime error and developers must correct the application logic:
- References to invalid List of Values, for example where you have a report column referencing a List of Values that no longer exists. This will now raise a runtime error and you must remove the invalid reference.
-
If columns have duplicate names, a
Column ambiguously defined
error displays. Additionally, the column names must be valid SQL identifiers. On Oracle Database 12.2 and higher, column names can be up to 128 characters (for older versions, 30 characters).For example, consider the following LOV query:
select ename, ename from emp
This query would execute successfully in previous versions of Application Express, but now results in a runtime error. You also get the same error if you execute that query independently because it is invalid.
In this example, you would need to update your query to have unique column aliases:
select ename d, ename r from emp
To help you identify such cases, you can run the following script which outputs any possible problematic inline or shared List of Values:
apex/utilities/check_lovs_for_errors.sql
5.1.9 JET binding provider
The JET binging provider is set to none
on all Application Express generated pages to enable using JET elements without including knockout. Specifically, the attribute data-oj-binding-provider="none"
is added to the <form>
element.
If you are using JET components with knockout on an Application Express page or in a plug-in, you may need to turn on the knockout binding provider in the DOM sub tree where it is needed. Add the attribute data-oj-binding-provider="knockout"
. See the JET documentation for more information.
5.1.10 Edit multiple properties in Property Editor
Previously, the Template Options button did not appear in Property Editor when selecting multiple components.
Now, when you select multiple components in Page Designer, you can edit Template Options for them (when valid).
5.1.11 Switch item type changed
Previously, the Switch item displayed as a Yes/No pair of buttons.
As of this release, the Switch item now displays as a modern slider icon that displays as On/Off or Enabled/Disabled.
5.1.12 FontAwesome migrated to Font APEX
FontAwesome has been removed as of this release. Applications using FontAwesome will be migrated to Font APEX automatically.
6.1 Deprecated Features
Deprecated features are features which Oracle plans to desupport or remove in a future release of Oracle Application Express. If a feature is related to application metadata or an API, existing applications can still use the feature, but Oracle strongly recommends that developers start to modify their applications as described in this section. Use Oracle Application Express Advisor to scan existing applications for deprecated attributes.
-
Show / Hide All Page Items On Same Line attributes deprecated
-
apex.server Plug-in and Process Function Async Option Deprecated
See Also:
"Running Advisor to Check Application Integrity" in the Oracle Application Express App Builder User’s Guide6.1.1 Deprecated Productivity Apps
The following Productivity Apps are deprecated as of this release:
- Bug Tracking
- Checklist Manager
- Competitive Analysis
- Decision Manager
- Incident Tracking
- Live Poll
- Meeting Minutes
- Script Planner
These apps will be removed in a future release.
6.1.2 Deprecated Sample Apps
The following Sample Apps are deprecated as of this release:
- Brookstrut
- Sample Projects
- Sample Websheet AnyCo IT Department
- Sample Websheet Big Cats
These apps will be removed in a future release.
6.1.3 Post Calculation for Page Items Deprecated
The "Post Calculation" functionality of page items is deprecated.
This functionality remains for existing page items where it has been used, but you can no longer set it for new page items nor add it to existing page items where it has not been used in the past.
6.1.4 Show / Hide All Page Items On Same Line attributes deprecated
In Dynamic Actions, the Show and Hide actions have attributes "Show all page items on same line" and "Hide all page items on same line," respectively. These attributes were designed for forms with a table-based layout. Because Universal Theme no longer uses table-based layout, these attributes are deprecated.
This functionality remains for existing Dynamic Actions where it was set to Yes
, but developers cannot select it for new Dynamic Actions.
6.1.5 apexrefresh Event is Deprecated
Using the apexrefresh
event to refresh a region is deprecated.
Prior to this release, you could refresh a region with code such as this:
apex.event.trigger( "#myRegionStaticID", "apexrefresh" );
As of this release, use the apex.region().refresh()
method. For example, you can replace the above code with:
apex.region("myRegionStaticID").refresh();
6.1.6 Legacy Team Development Deprecated
The legacy version of Team Development is deprecated as of this release. It will be removed in a future release.
A new version of Team Development to track feedback, issues, and milestones has replaced it.
6.1.7 AnyChart, AnyMap, and AnyGantt charts Deprecated
The legacy AnyChart, AnyMap and AnyGantt charting components are deprecated as of this release, and will be removed in a future release. Use the JET charting solution instead.
See Also:
"Switching from AnyChart to JET Chart" in the Oracle Application Express App Builder User’s Guide6.1.8 Calendar PDF Printing Deprecated
The "Export to PDF" functionality of the CSS Calendar region is deprecated.
This option remains for existing calendar regions. You can no longer it add to new CSS calendar regions.
6.1.9 apex.server Plug-in and Process Function Async Option Deprecated
In a future release the async option will be ignored and all Ajax requests will be asynchronous.
6.1.10 apex.widget.initPageItem Function Deprecated
The function apex.widget.initPageItem
is deprecated. Item plug-in creators should use apex.item.create
instead.
6.1.11 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES Deprecated
APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES
is deprecated and will no longer be available in the next major release of Oracle Application
Express. Developers should replace this functionality with apex_plugin_util.get_element_attributes
, which provides better support with native functionality.
6.1.12 APEX_UTIL.STRING_TO_TABLE Function Deprecated
As of Oracle Application
Express 5.1, APEX_UTIL.STRING_TO_TABLE
is deprecated.
Use APEX_STRING.STRING_TO_TABLE
instead.
6.1.13 APEX_UTIL.TABLE_TO_STRING Function Deprecated
As of Oracle Application
Express 5.1, APEX_UTIL.TABLE_TO_STRING
is deprecated.
Use APEX_STRING.TABLE_TO_STRING
instead.
6.1.14 Deprecated JavaScript Functions
The following functions are deprecated as of this release:
Theme-specific global functions:
-
openModal
-
closeModal
apex.item
namespace:
-
afterModify
apex.page.confirm
parameter:
-
pMessage
default value
Other:
-
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.15 Popup LOV Template Deprecated
The Popup LOV template type is deprecated. A future release of Application Express will not use this template to render Popup LOV dialogs.
6.1.16 APEX_PAGE.IS_JQM_SMARTPHONE_UI is Deprecated
The PL/SQL function APEX_PAGE.IS_JQM_SMARTPHONE_UI is Deprecated
is deprecated and will be removed in a future release.
6.1.17 openModal and closeModal are Deprecated
The undocumented theme specific functions openModal
and closeModal
are deprecated.
Resolution
Use the apex.theme.openRegion
and apex.theme.closeRegion
functions or the corresponding dynamic actions "Open Region" and "Close Region."
6.1.18 afterModify is Deprecated
The apex.item
callback afterModify
is deprecated. It was used primarily for jQuery Mobile, which is no longer supported.
6.1.19 apex.page.confirm pMessage Parameter is Deprecated
The default value for the apex.page.confirm
parameter pMessage
is deprecated. In the future this parameter will be required.
6.1.20 apex.navigation.dialog.fireCloseHandler function is Deprecated
The apex.navigation.dialog.fireCloseHandler
function is deprecated. It will be removed in a future release.
7.1 Desupported Features
Desupported features are no longer available. If a desupported feature has to do with application metadata or APIs, then existing applications may not work as they did previously. Oracle recommends modifying the application to replace the feature.
7.1.1 jQuery Flot and Flot Plug-ins Desupported
The jQuery Flot versions 0.7, 0.8, 0.8.2, and 0.8.3 are no longer used in Oracle Application Express. Packaged Applications have also been updated to remove Flot Line, Flot Bar, and Flot Pie chart plug-ins. Remove any references in your application code and use our declarative chart solution, based on Oracle JET Data Visualizations.
7.1.2 External Processing in Classic Report Desupported
The External Processing functionality of Classic Report is no longer supported.
To use the External Processing function, your application must include the Deprecated or Desupported JavaScript file. To include this file, select the application and edit the User Interface Details. For Include Deprecated or Desupported JavaScript Functions, select Pre 18.x.
See Also:
-
"Editing User Interface Details" in the Oracle Application Express App Builder User’s Guide
-
"JavaScript" in the Oracle Application Express App Builder User’s Guide
7.1.3 Oracle REST Data Services (ORDS)-based Printing Desupported
Oracle REST Data Services (ORDS)-based Printing is desupported as of this release.
8.1 Fixed Bugs
The following section lists bugs fixed in this release.
Table - Fixed Bugs in 19.2 – Interactive Grid
Bug Number | Description |
---|---|
25245887 | INTERACTIVE GRID: CELLS CONTAINING BUTTONS CAN'T BE ACTIVATED WHEN IN EDIT MODE |
25675608 | INTERACTIVE GRID: HIGHLIGHTS NOT SHOWN AFTER SORT ON ANOTHER COLUMN |
25954729 | INTERACTIVE GRID CHECKBOX DOES NOT WORK WHEN IN EDIT MODE |
26963177 | SELECT LIST ON INTERACTIVE GRID COLUMN, VALUE NOT SAVED UNLESS YOU LOSE FOCUS |
27448471 | INTERACTIVE GRID POPUP LOV WILL SHOW RETURN VALUE INSTEAD OF DISPLAY VALUE |
28320226 | INTERACTIVE GRID FOCUS AND SELECTION WRONG AFTER REFRESH ROWS |
28320226 | INTERACTIVE GRID FOCUS AND SELECTION WRONG AFTER REFRESH ROWS |
28528879 | INTERACTIVE GRID UN SELECT ALL IS NOT WORKING WITH AGGREGATION |
28612385 | INTERACTIVE GRID RTL EDIT TEXT AREA POPUP SHOULD BE START ALIGNED |
28617699 | INTERACTIVE GRID: COPY TO CLIPBOARD ENABLED EVEN IF THERE IS NO SELECTION |
28625264 | INTERACTIVE GRID ROW ACTION MENU DELETE DOES NOT REFLECT ALLOWED OPERATION |
28780403 | INTERACTIVE GRID: HIGHLIGHTING INFO SHOULD USE COLORS |
29132960 | INTERACTIVE GRID INTERMITTENTLY DOES NOT SAVE DATA |
29416629 | INTERACTIVE GRID: COLUMNS DIALOG FLASHING CONTENT WHEN CHANGING BETWEEN ALL AND DISPLAYED |
29554336 | INTERACTIVE GRID KEYBOARD SHORTCUT FOR SAVE ACTION RESULTS IN EXCEPTION |
29612553 | FORM REGION DML PROCESS THROWS INTERNAL ERROR WHEN INTERACTIVE GRID DML PROCESS IS ON THE SAME PAGE |
29616169 | INTERACTIVE GRID: FILTERING A COLUMN NAME WITH "/" IN THE NAME RETURNS AN ERROR ONLY IE |
29682219 | INTERACTIVE GRID HTML DOWNLOAD SHOWS OVERALL SUM IN MULTIPLE LINES |
29748567 | INTERACTIVE GRID: CHANGING EXISTING PUBLIC REPORT DOESN'T ALWAYS WORK |
29877747 | CREATE APP FROM A FILE WITH INTERACTIVE GRID GIVES ORA-3279 WHEN ADDING NEW ROW |
29971373 | INTERACTIVE GRID CSV DOWNLOAD DOES NOT INCLUDE CONTROL BREAK COLUMNS |
30031698 | INTERACTIVE GRID: CASCADING LOV COLUMN SHOULD NOT ALLOW TO SORT, AGGREGATE, CONTROL BREAK |
30145966 | SET VALUE DYNAMIC ACTION DOESN'T CONSISTENTLY WORK IF MULTIPLE INTERACTIVE GRID COLUMNS ARE SPECIFIED |
Table - Fixed Bugs in 19.2 – Productivity and Sample Apps
Bug Number | Description |
---|---|
29602269 | SAMPLE DATA LOADING PACKAGED APP INVOKES APEX_DATA_PARSER.PARSE WITHOUT TABLE() EXPRESSION |
29614358 | ERRORS ON SAMPLE DATABASE APP PAGE 29 ("ORDER DETAILS") |
30315285 | SAMPLE GEOLOCATION SHOWCASE DOES NOT WORK ON ATP/ADW |
Table - Fixed Bugs in 19.2 — Other
Bug Number | Description |
---|---|
25064831 | BUTTONS ON DISABLED ITEMS ENABLED FOR COLOR PICKER, LIST MANAGER, POPUP LOV |
27578212 | WARN ON UNSAVED CHANGES IGNORE BROKEN FOR POPUP LOV |
28329516 | DISABLING POPUP LOV DOES NOT DISABLE ASSOCIATED BUTTON |
29390638 | APEX SHOULD AVOID RE-PARSING AND REUSE CURSORS FOR CUSTOM PLUGIN CODE |
29427751 | RICH TEXT EDITOR "CONTENT RULES" ARE NOT APPLIED WHEN SWITCHING TO "HTML SOURCE" AND IMMEDIATELY SUBMITTING PAGE |
29439454 | UPLOADING AN INVALID XLSX FILE NEEDS BETTER ERROR HANDLING |
29459820 | ORA-01031 WHILE TRYING TO UPDATE AN VIEW CREATED ON APEX_COLLECTIONS |
29460678 | SOCIAL SIGN-IN: DEADLOCK WHEN STORING CREDENTIALS |
29493545 | APEX_LDAP.AUTHENTICATE ALWAYS FAILS WITH LDAP USERNAMES NOT PREFIXED WITH CN= OR UID= |
29515220 | REPORT ON TABLE WITH MULTIPLE OBJECT TYPE COLUMNS CAN LEAD TO ORA-06553: PLS-306: WRONG NUMBER OR TYPES OF ARGUMENTS IN CALL TO 'CONVERTOBJECT |
29522426 | DATA LOAD WITH MULTIBYTE HEADER CREATES COLUMNS WITH "C" PREFIX |
29534207 | APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION: ONLY TRUNCATE IF COLLECTION EXISTS |
29552099 | APEX_STRING.SPLIT(CLOB): EMPTY ELEMENT AT END GETS IGNORED |
29557175 | JET CHART: ITEM-LEVEL HELP FOR 'CONNECT NULL DATA POINTS' NOT DISPLAYED IN PAGE DESIGNER |
29619958 | 18.2 : CHINESE CONTENT NOT CORRECT IN IE, CORRECT IN CHROME AND FIREFOX |
29633683 | APEX_EXPORT: IN SPLIT MODE, MULTIPLE APPLICATION_PROCESSES.SQL FILES |
29645898 | FORM REGION WITH CONDITIONAL ITEMS CAN THROW CHECKSUM ERROR ON DML UPDATE OR DELETE ACTION |
29645950 | WEB SRC MODULE DML DOES NOT TAKE MODULE OR OPERATION PARAMETERS INTO ACCOUNT |
29645964 | FORM REGION DML PROCESS SHOULD SUPPRESS SQL UPDATE WHEN NO CHANGES HAVE BEEN MADE IN THE FORM |
29655510 | APEX_INSTANCE_ADMIN.SET_PARAMETER: HTTP_RESPONSE_HEADERS CAN NOT BE SET |
29675449 | APEX_INSTANCE_ADMIN_USER SHOULD BE EXPIRED & LOCKED |
29678171 | INTERACTIVE REPORT: IF SESSION REPORT COLUMN MAXED OUT OR ALMOST MAX OUT FROM ALLOWED 4000 IN LENGTH, ADDING NEW COLUMN IN REPORT QUERY RAISES ERROR |
29687766 | APEX_ERROR: ORA_SQLCODE, ORA_SQLERRM NOT SET WHEN ERROR OCCURS IN FORMS REGION |
29705177 | WIZARDS DO NOT CREATE FORM REGION CORRECTLY IF "TABLE" IS SPECIFIED AND UI DEFAULTS EXIST |
29708546 | APEX_AUTHENTICATION.LOGOUT: WHEN CALLED IN BEFORE HEADER, DOES NOT STOP ENGINE |
29738514 | SQL WORKSHOP XML DATA LOADING AND APEX_DATA_PARSER API DO NOT DETECT XML TAGS WITH MORE THAN 15 CHARS |
29748577 | FOCUS ON ERROR DIALOG IS NOT KEPT WHEN USING THE MOUSE |
29765107 | APEX_JSON.WRITE(XMLTYPE): ENQUOTE IF NUMERIC VALUE ENDS WITH NEWLINE |
29773277 | INCORRECT HELP FOR EDIT ENABLED IN FORM REGION |
29802395 | APEX UPGRADE: ERROR WHEN UPGRADING BROKEN ACL |
29835807 | JET CHART: EXTEND 'DISPLAY AS' LABEL SUPPORT FOR PIE / DONUT CHART |
29836728 | SQL WORKSHOP ALLOWS TO SPAWN A DATA LOADING JOB ALTHOUGH THE FILE CONTAINS NO COLS TO LOAD |
29850482 | IR PDF EXPORT COMPUTES INCORRECT NUMBER OF COLUMNS WHEN FORMAT MASKS USED |
29858797 | IR COLUMN CAN BE HIDDEN IN ACTIONS MENU > COLUMNS, EVEN WHEN "ALLOW HIDE" IS SET TO "NO" |
29861534 | APEX_MAIL.SEND: ORA-22921 WHEN P_BODY CONTAINS EMOJIS |
29878493 | APEX_DEBUG_MESSAGES VIEW IS MISSING FROM APPLICATION EXPRESS VIEWS PAGE |
29883102 | RENAMING LIST USED FOR NAVIGATION MENU OR NAVIGATION BAR RESULTS IN INCORRECT ERROR |
29906019 | APEX_AUTHENTICATION.SEND_LOGIN_USERNAME_COOKIE: COOKIE IS NOT PERSISTENT |
29912558 | APP IMPORT WITH SAME APP ID AND SOCIAL AUTH SCHEME: ERROR WITH WWV_FLOW_AUTHN_FK_CRED |
29919685 | CLASSIC RPT DOWNLOAD ON CHROME 75 LEADS TO DOWNLOAD OK, BUT DOWNLOAD URL PRINTED ON BLANK WINDOW |
29921635 | ACCESS TO RESTFUL SERVICES REQUIRES ACCESS TO APP BUILDER |
29930290 | LEGACY TABULAR FORM CAN THROW "DATA TOO OLD" ON VALIDATION ERROR WHEN COLUMN SORT IS ACTIVE |
29932313 | JET CHART: AXES-LEVEL MINIMUM AND MAXIMUM ATTRIBUTES IN PAGE DESIGNER SHOULD SUPPORT NUMBER INSTEAD OF INTEGER |
29937651 | APEX DOES NOT INSTALL IF SDO_GEOMETRY EXISTS MULTIPLE TIMES IN DBA_OBJECTS (AFTER DB UPGRADE) |
29954525 | UI IMPORT THROWS PARSE ERROR "EXPECTED WHITELISTED_EXECUTE_IMMEDIATE_EXPRESSION" |
29956504 | APEX_MAIL: DUPLICATE CHARACTERS IN OUTPUT AFTER EVERY APPROX. 900TH CHAR |
29961980 | FORM REGION SHOULD NOT RETURN PRIMARY KEY VALUE INTO ITEM AFTER UPDATE |
29994776 | ON AJAX CALLS, HEADER APEX-DEBUG-ID NOT SET ON SOME DB VERSIONS |
29999272 | "INVALID REPRESENTATION" WHEN TRYING TO CONVERT DB CHARACTER SET FROM WE8ISO8859P1 TO AL32UTF8 USING DMU |
30000866 | JET CHARTS: MULTISERIES STACKED BAR CHART SHOWS TOTAL FOR ONLY ONE STACK |
30008282 | UPGRADE APPLICATION UTILITY SHOULD NOT UPGRADE FORM PAGE WHEN APP ITEM IS USED AS PK ITEM |
30015164 | APEX_DATA_PARSER AND SQL WORKSHOP DATA LOADING DO NOT SUPPORT XLSX FILES WITH "INLINE STRINGS" |
30021285 | FORM REGION DML PROCESSES DO NOT RETRIEVE VALUES FOR OUT PARAMETERS BACK |
30022034 | FORM REGION DOES NOT APPLY SUBSTITUTIONS FOR ITEM FORMAT MASKS |
30022610 | WEB SRC DISCOVERY CAN THROW ORA-40499 ON 12.1.0.2 DATABASES |
30025405 | IR ROW FILTER THROWS ORA-920 (INVALID RELATIONAL OPERATOR) FOR REPORTS WITH LARGE AMOUNT OF COLUMNS |
30031425 | SOCIAL SIGN-IN: ERRORS ON AZURE AD B2C, BECAUSE IT NEEDS A PARAMETER IN THE DISCOVERY URL |
30037404 | SOCIAL SIGN-IN: WRONG PORT IN CALLBACK URL |
30052988 | UNABLE TO SET SWAGGER_UI_URL USING APEX_INSTANCE_ADMIN |
30056871 | WEB SOURCE DISCOVERY AND JSON DATA LOADING CAN FAIL WITH ORA-40597: JSON PATH EXPRESSION SYNTAX ERROR |
30070194 | APEX_DATA_PARSER ERRORS OUT WHEN PARSING ENQUOTED MULTI-BYTE-DATA WITH A LEADING COMMA |
30071351 | APEX_MAIL: ORA-29279: SMTP PERMANENT ERROR: 504 5.5.4 UNRECOGNIZED AUTHENTICATION TYPE CRAM-MD5 (MECHANISM NOT AVAILABLE) |
30121397 | SOCIAL SIGN-IN: IF OPENID, POST-LOGOUT REDIRECT IS WRONG IF NO END_SESSION ENDPOINT |
30141154 | APEX_MAIL: ON OCI, ENVELOPE "MAIL FROM" SHOULD BE DIFFERENT THAN "FROM:" ADDRESS |
30148420 | KEYBOARD SHORTCUT CTRL+/ DOESN'T WORK ON SPANISH AND DANISH KEYBOARDS |
30149096 | RETURN MORE APPROPRIATE HTTP STATUS CODE IN CASE OF INTERNAL ERRORS |
30159004 | SYNONYM APEX_SPATIAL REMAINS AFTER REMOVING APEX FROM A DATABASE |
30183085 | JET CHART: BOX PLOT SERIES NAME SETTING RESULTS IN ORA-00904: INVALID IDENTIFIER AJAX ERROR |
30191816 | COMPONENT IMPORT FAILS WHEN DEV/PROD HAVE DIFFERENT OFFSETS |
30201311 | ORA-29270: TOO MANY OPEN HTTP REQUESTS WHEN INVOKING APEX_WEB_SERVICE |
30212425 | CLASSIC REPORT: NEED TO BE ABLE TO SPECIFY SORT SEQUENCE ATTRIBUTE FOR HIDDEN COLUMNS |
30233361 | ADMIN NOT ABLE TO LOCK/EXPORT WORKSPACE |
30246023 | JET CHART: SUPPORT HIDING OF MAJOR AXIS ON GANTT CHART |
30249205 | APEX_JSON.WRITE(XML): NEGATIVE NUMBER WITH WHITE SPACE IS INVALID JSON |
30250398 | APEX_UTIL.GET_BUILD_OPTION_STATUS SHOULD NOT TRIGGER RUNTIME API SECURITY SETTINGS |
30254864 | APEX_WEB_SERVICE: INCREASE SIZE OF HEADER.VALUE ATTRIBUT |
30302268 | "ORACLE CLOUD APPLICATIONS (SAAS)" WEB SOURCE MODULE DOES NOT SHOW DATA PREVIEW AFTER DISCOVERY |
30332804 | IMG SRC URL INCORRECT IN HTML5 BAR CHART PLUGIN |
30335321 | COMPONENT EXPORT EXPORTS WEB SOURCE MODULE W/O DATA PROFILE AND DOES NOT ALLOW TO EXPORT DATA PROFILE |
30350991 | PL/SQL CHARACTER STRING BUFFER TOO SMALL RAISED WHEN MANY TEMPLATE OPTIONS ARE ENABLED FOR A BUTTON |
30357188 | APEX VIEWS MISSING FOR REPORT QUERIES AND REPORT LAYOUTS |
30369983 | #CUSTOMIZE# SUBSTITUTION DOES NOT WORK IN TRANSLATED APPLICATIONS |
30374270 | QUICK SQL WITH VC SHORT FOR VARCHAR2 WITHOUT A SIZE GENERATES CHECK CONSTRAINT WITH INVALID COLUMN NAME |
30375663 | CREATE DATA LOADING PAGE WIZARD DOES NOT ESCAPE QUOTES IN DEFINITION NAME FOR GENERATED BRANCHES |
30386750 | WEB SRC MODULE WITH OAUTH ACCESS TOKEN LONGER THAN 4000 BYTE THROWS "CHARACTER STRING BUFFER TOO SMALL" ON USE |
30389001 | JET CHART WITH MULTIPLE SERIES AND QUERY DEFINED AT REGION LEVEL EXECUTES QUERY FOR EACH SERIES |
30389001 | JET CHART WITH MULTIPLE SERIES AND QUERY DEFINED AT REGION LEVEL EXECUTES QUERY FOR EACH SERIES |
30403473 | DATA LOAD DOESN'T CORRECTLY PROCESS MM/DD/YY DATA FORMATS |
30406428 | SQL WORKSHOP DATA LOADING AND APEX_DATA_PARSER IGNORE LEADING AND ESCAPED "ENCLOSED BY" CHARACTERS |
30429735 | WWV_FLOW_CREDENTIAL.GET_CREDENTIAL: ERROR DECRYPTING CLIENT SECRET THAT WAS STORED AT SESSION LEVEL |
9.1 Open Bugs and Known Issues
This section describes bugs and known issues for Oracle Application Express release 19.2.
Tip:
This section is current as of the writing of this document. To view the most current listing of changed behavior, go to the Known Issues page:
https://www.oracle.com/technetwork/developer-tools/apex/downloads/apex-192-known-issues-5811831.html
9.1.1 Removal of AnyChart Flash Components from Images Folder
In a previous release, the AnyChart and AnyGantt flash .swf
files were removed from the /images
folder. This results in AnyChart map chart and gantt charts no longer rendering. No error message displays, instead the region will be blank.
See Also:
"Switching from AnyChart to JET Chart" in the Oracle Application Express App Builder User’s Guide9.1.2 Width issue for item type Text with Autocomplete in IE11
Issue
The item type Text with Autocomplete does not render with the correct width using Oracle JET in IE11. This is due to the use of the flex
property in the JET CSS class .oj-inputsearch-choice
.
Solution
Add the following code to your application page inline
CSS attribute:
.oj-inputsearch-input { flex: 1 1 auto; }
9.1.3 Known Issues for jQuery UI and jQuery Upgrade
jQuery 3.1.1 breaks compatibility with earlier 2.x versions. For applications that still rely on removed 2.x functionality, you can use the jQuery Migrate plug-in (to include this plug-in, set the Desktop User Interface Details attribute Include jQuery Migrate to Yes).
If your application relies on removed 1.x jQuery APIs, that functionality no longer works as of Oracle Application Express release 18.1. You must update the JavaScript to only use jQuery 3.1 APIs. See the jQuery migration guides to learn more:
-
To migrate from 1.x to 2.x see http://jquery.com/upgrade-guide/1.9/
-
To migrate from 2.x to 3.x see https://jquery.com/upgrade-guide/3.0/
jQuery UI 1.12.x has changed the folder structure and files that make up the library compared to version 1.10.4. If you have direct references to any of the old file filenames, you must update them to the new name. For example, if you previously referenced the tabs widget with #JQUERYUI_DIRECTORY#ui/#MIN_DIRECTORY#jquery.ui.tabs#MIN#.js
, you must change it to #JQUERYUI_DIRECTORY#ui/widgets/#MIN_DIRECTORY#tabs#MIN#.js
.
The Oracle Application
Express specific bundle jquery-ui-apex[.min].js
that loads by default for Application Express desktop UI pages (either as jquery-ui-apex.js
or as part of desktop[_all].min.js
) includes all the core files, the drop effect, and the following widgets:
-
button
-
checkboxradio
-
controlgroup
-
datepicker
-
dialog
-
draggable
-
droppable
-
resizable
-
selectable
-
sortable
-
tooltip
This is essentially the same set as in 1.10.4 with the addition of sortable. If you have a separate reference to sortable, you can remove it.
The jquery-ui-apex[.min].css
file loads by default and includes all the jQuery UI CSS files. If you had references to individual jQuery UI css files, you can remove them.
See Also:
JET v4.2.0 Release Notes9.1.4 Known Issues for RESTful Services and Oracle REST Data Services (ORDS)
Customers using Oracle Application Express 18.1 and Oracle REST Data Services 18.1 may encounter the following issues when developing and deploying RESTful Services.
9.1.4.1 Issue when Workspace Name Differs From First Provisioned Schema Name
Issue
This issue affects all releases of Oracle REST Data Services except 17.4.1 and 18.2 or later and all releases of Application Express (ORDS services can be created by SQL Developer or an API). This issue exists for services created in the First Apportioned Schema of a workspace when the workspace name and schema name are different.
Due to an error in the way older releases of Oracle REST Data Services retrieve information about the Application Express environment, Oracle REST Data Services cannot serve ORDS Based RESTful Services if a given workspace name does not match the first provisioned schema name. This error was corrected in Oracle REST Data Services 17.4.1 but regressed in Oracle REST Data Services 18.1.
The following examples describe the issue:
-
A user has existing APEX Based RESTful Services and migrates them to Oracle REST Data Services, then modifies the ORDS Based RESTful Services definition. If the user calls the services and expects the new logic to perform, instead the older APEX Based RESTful Services are still called. If the user then goes to the APEX Based RESTful Services page, deletes the original service, and runs the service expecting to call the ORDS service, the user instead gets a 404 error.
-
If a user creates new ORDS Based RESTful Services in the first provisioned schema but does not have corresponding APEX Based RESTful Services, a 404 error results when the user calls the services.
There is no supported resolution at this time.
9.1.4.2 Issue when Migrating Application Express RESTful Services with a Null URI to ORDS
Issue
Prior to 5.1, the Application Express RESTful Services interface enabled users to create RESTful service modules with a null URI Prefix (users could also create multiple modules with null URI Prefixes). The URI templates in all modules had to be unique in order to share the null URI Prefix across the services.
Example - Module Definitions with Null URI Prefixes
Consider the following definitions:
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
Where:
http://server.com
- the server URL.ords
- the ORDS alias.mySchema
- the Path Prefix.- null - the null Module URI Prefix. Does not appear in the call, but is processed by the services.
- Template1 - the URI Template.
While the ability to create null URI Prefixes was disabled in Application Express 5.1, legacy services that were defined in prior releases were migrated and functioned as long as they were not deleted. However, when migrating these services to Oracle REST Data Services, the ORDS Based data model does not accept multiple modules with duplicate URI Prefixes (including null prefixes).
The logic to migrate APEX Based RESTful Services to Oracle REST Data Services in Application Express 18.1 is a simple pass-through to an Oracle REST Data Services procedure (introduced in Oracle REST Data Services 17.4.1). However, the logic of that procedure fails to process multiple modules with a null base path. Users in this situation who try to migrate to Oracle REST Data Services encounter a "Duplicate Value" and throw an ORA-0001
error (Oracle bug 27916570).
Resolution
Logic added to the migration procedure merges all modules that have null URI Prefixes. The rules are as follows:
- Oracle REST Data Services 18.2
-
All affected modules collapse into a single ORDS Based module named
merged.apex.rest.services
If any of the APEX Based modules being merged are published, the new merged module publishes.
If none of the APEX Based modules being merged are published, the new merged module does not publish.
All roles associated with APEX Based modules being merged are assigned to the new merged module.
The pagination size of the merged module is set to the largest pagination size in the modules being merged.
For APEX Based modules with null URI Prefixes that also have duplicate URI templates, the following occurs:- The most recently updated template maintains the duplicate URI.
- All other templates are given the prefix
dup001_*
- The comment for the template contains: 1) the original module name that it migrated from, and 2) the original Template URI.
- Oracle Application Express 18.1
-
If you have one module or none with a null URI Prefix, the services migrate successfully regardless of your release of Oracle REST Data Services (the migration is only available in Oracle REST Data Services 17.4.1 or later).
If you have two or more modules with a null URI Prefix, one of the following occurs:-
If you have Oracle REST Data Services 18.2 or later, the modules migrate using the rules above.
-
If your Oracle REST Data Services release is older than 18.2, a warning message displays and you cannot migrate your services to Oracle REST Data Services until you upgrade to 18.2 or later.
-
9.1.4.3 Issue when Using SQL Developer or SQL Scripts to Enable ORDS on an Application Express 18.1 or later Schema
Issue
This issue affects systems running ORDS 17.4 or prior and Oracle Application Express 18.1 or later.
This issue only affects schemas that are assigned to an Application Express workspace.
The issue occurs when you use SQL Developer or SQL Scripts (however, not RESTful Services in SQL Workshop) to enable ORDS for a schema, when that schema is also assigned to an Application Express Workspace.
RESTful Services ensures that the ORDS SCHEMA ALIAS
and the APEX PATH PREFIX
synchronize. However, when ORDS enables a schema using another method, the APEX PATH PREFIX
does not sync. When these two items are out of sync, ORDS returns a 404 error when attempting to access ORDS services defined within the schema.
Resolution
To sync the APEX PATH PREFIX
with the ORDS URI PREFIX
:
-
In Application Express, click SQL Workshop then RESTful Services.
-
Click the Configure button to launch the ORDS Schema Attributes modal dialog.
-
For Schema Alias, select the alias.
-
Click the Save Schema Attributes button.
This sets the same value for both the ORDS SCHEMA ALIAS
and the APEX PATH PREFIX
.
9.1.5 Interactive Grid support for REST Enabled SQL
Issue
Oracle REST Data Services (ORDS) REST Enabled SQL has a limit of 1000 bind variables in a REST Enabled SQL request. As a result, when Interactive Grid DML sends more than 1000 column values, the following error displays: "Internal ORDS OUT Bind limits exceeded."
Solution
Reduce the amount of DML rows.
9.1.6 Omitted JavaScript APIs
The following APIs were omitted from the current Oracle Application Express JavaScript API Reference, but are still supported:
- The
refresh
method for thegrid
widget. - The
moveRecords
andtransform
methods for themodel
interface.
These APIs will be included again in the future.
See Also:
Oracle Application Express JavaScript API Reference for release 19.19.1.7 Legacy Team Development Workspace Attribute Issue
When a workspace administrator sets the Workspace level attribute Enable Team Development
under the Legacy Team Development section to NO
, the new Team Development application is also disabled.
10.1 Documentation Additions
This section lists additions to Oracle Application Express documentation.
10.1.1 Oracle Application Express JavaScript API Reference
The content of the JavaScript APIs chapter has been moved to the Oracle Application Express JavaScript API Reference.
10.1.2 Oracle Application Express JavaScript API
This reference describes the JavaScript APIs available to Oracle Application
Express applications. You can use these functions to provide client-side functionality, such as showing and hiding page elements, or making AJAX (Asynchronous JavaScript and XML) requests. Note that the interactiveGrid
widget and interactiveGridView
are not entirely complete and will be enhanced in a future documentation refresh.
11.1 Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
12.1 Privacy Notice
This privacy notice describes what to expect when Oracle Application Express directly collects information about users of applications that you create or install. Note that all Application Express internal applications (such as Application Builder) are written in Application Express, so the same facts apply to developers and administrators who are using these applications. Oracle is not responsible for information collection of applications that were developed by customers.
Event Logging
Application Express provides extensive logging of user triggered events. For example, developers and administrators can use this data to find security and performance issues. The log data includes the user’s IP address and application username plus event specific information. Below is a brief list of event log types.
-
Activity Log - Page views and Ajax requests. Can be disabled by developers and instance administrators.
-
Login Access Log - Successful and failed login attempts.
-
Debug Log - Application-specific instrumentation, such as internal variable values. Disabled by default, the debug log can be enabled by end users and developers.
-
Click Count Log - Clicks on external links within applications.
-
Web Service Activity Log - Requests to external web services from inside the database.
-
Developer Activity Log - Changes to application components.
-
SQL Workshop Log - History of SQL statements in the development environment's SQL Workshop.
Cookies and Related Technologies
Application Express does not use any third-party cookies, but it does use functional cookies (no tracking) and the browser’s SessionStorage and LocalStorage for maintaining the login session and for personalization. This is essential for application security, performance, and ease of use. Below are details about the cookie and storage names that Application Express uses and their intended use.
- Session Cookies
-
-
ORA_WWV_USER_instance id
- Security cookie for internal applications, like Application Builder. -
ORA_WWV_APP_application id, ORA_WWV_APP_workspace cookie id, custom name
- Security cookie for applications. Developers can choose custom cookie names in an application's authentication scheme. -
ORA_WWV_RAC_INSTANCE
- Session cookie for the Real Application Cluster (RAC) node instance number, for node pinning on the web server. Only sent when multiple RAC nodes are detected.
-
- Persistent Cookies
-
-
ORA_WWV_REMEMBER_LANG
- The user’s selected application language. -
ORA_WWV_REMEMBER_UN
- (Optional) Workspace and username of the previous login to the development environment login page. See check box "Remember workspace and username" on the development environment login page for details. -
LOGIN_USERNAME_COOKIE
- (Optional) Username of the previous login to developed applications. See check box "Remember username" on login pages of new applications for details. To make this cookie optional on login pages of existing applications, add a "Remember username" checkbox to the page. The API documentation forAPEX_AUTHENTICATION.GET_LOGIN_USERNAME_COOKIE
andAPEX_AUTHENTICATION.SEND_LOGIN_USERNAME_COOKIE
has examples for the PL/SQL process code to set the check box value and to only send the cookie when the check box is checked.
-
- Session Storage
-
-
ORA_WWV_apex.builder.devToolbar.grid
- This stores the current setting of the Development Toolbar’s Show Layout Columns option. -
ORA_WWV_apex.builder.themeRoller.application id.*
- This stores settings of the Development Toolbar’s Theme Roller popup. -
.4000.4500.*
- This stores the current tab in each of the tab sets of Page Designer. -
APEX.userHasTouched
- This is used to remember if the user has interacted with the application using touch (a touchstart event has been seen). It is used by some components to customize the user experience when using touch devices. -
.application id.page.*.activeTab
- This remembers the last tab selected for Region Display Selector regions or regions using the Tabs Container template that have enabled the option to save the current tab -
ORA_WWV_apex.Calendar.application id.page.region id.lastview
- This remembers the last viewed calendar period. -
.application id.page.*.preferenceForExpanded
- This remembers the expanded state for collapsible regions. -
ORA_WWV_apex.MED_*.splitterPosition
- This stores the splitter bar position for various Interactive Grid settings dialogs.
-
- Local Storage
-
-
ORA_WWV_apex.builder.devToolbar.options
- This stores the Developer Toolbar user preference settings: Auto Hide, Show Icons Only, and Display Position. -
ORA_WWV_apex.builder.pageDesigner.useComponentView
- This stores the users preference for the Page Designer’s Component View tab. -
ORA_WWV_apex.builder.pageDesigner.model.componentIds
- This stores a pool of not yet used IDs for new components in Page Designer.
-
Check for Updates
When developers log in to the Application Express development environment, they get a notification when a new version is available. To get this version information, Application Express sends a request to an oracle.com server on a bi-weekly basis. It passes anonymized, statistical information about the development server (such as database version and Application Express component usage) that the Application Express product development team uses to make decisions about the products’ future. This check is enabled by default, but can be disabled by instance administrators. To learn more, review the CHECK_FOR_UPDATES
parameter in "APEX_INSTANCE_ADMIN" in the Oracle Application Express API Reference.
Oracle Application Express Release Notes, Release 19.2
F18078-03
Copyright © 2003, 2019, Oracle and/or its affiliates. All rights reserved.
Primary Authors: Terri Jennings, John Godfrey, Christian Neumueller, Anthony Rayner, Patrick Wolf
Contributing Authors: Christina Cho, Jason Straub
Contributors: Hilary Farrell, Marc Sewtz
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
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.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.