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 20.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 20.2
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 New Features
Oracle Application Express release 20.2 includes a number of new features. These new features are not present in Application Express release 20.1 and earlier releases.
3.1.1 Cards Region
The new Cards Region is a lightweight report region, declaratively supporting customizations of layout, appearance, icon, badge, media, and actions. Use cards to embed and share media sourced from BLOB column, URL, or video in iFrame. Cards are useful for presenting a variety of information in small blocks. As Cards usually provide entry to more detailed information, you can include a number of actions as button or links declaratively.
3.1.2 Automations
Automations are a sequential set of PL/SQL actions, triggered by query results. They are used to monitor data and then perform the appropriate action (such as auto-approving specific requests and sending email alerts).
An automation can be triggered on Schedule or on Demand, by invoking the APEX_AUTOMATION package.
Query results can be derived from:
- Table or View, SQL Query, or a PL/SQL function returning a SQL Query
- Local Database or REST Enabled SQL
- REST Data Source (formerly known as Web Source Modules)
3.1.3 Faceted Search Enhancements
- Bar or pie charts of facet value counts. Quickly display a chart of facet value counts in a dialog or "dashboard" area.
- Groups of checkbox facets for Boolean columns. Checking the facet will find records that match the
YES
orTRUE
value of the column. - Input Field facet type supports comparing a user-entered value with the facet column. This enables faceted searches such as finding stores within a user-entered number of miles or records where a column contains the user-entered text.
- Performance optimization for distinct value facets.
3.1.4 Report Printing
- Built-in PDF printing and Excel download for Interactive Reports, Interactive Grids and Classic Reports. Ensure to enable PDF and Excel as additional download formats in your region attributes. Users can change the page orientation and size in the download dialog.
- Interactive Report - Send E-Mail: All download formats can now be attached.
- Enhanced integration with BI Publisher.
- New
APEX_REGION.EXPORT_DATA
andAPEX_DATA_EXPORT
APIs to programmatically generate PDF, CSV, Excel, HTML, JSON and XML files. - Built-in PDF now supports Chinese, Japanese and Korean languages.
3.1.5 REST Data Source Synchronization
Application Express supports data synchronization from a REST Data Source (formerly known as Web Source Modules) to a local table. Synchronization can run either on Schedule or on Demand by calling the APEX_REST_SOURCE_SYNC package. Developers don't need to build custom PL/SQL code in order to copy data from REST services to local tables; Application Express provides this as a declarative option.
- Application Express can generate the local target table automatically, based on the attributes of the REST Data Source.
- REST Source Data can be appended or merged to the local table. Replacing all local data is also supported.
- Application Express components using the REST Data Source can be configured to use the local table instead.
- Technical details like HTTP request limits, commit intervals, or delete methods for the Replace mode are configurable.
3.1.6 REST Data Source Connector Plug-Ins
The Application Express Plug-In infrastructure has been extended to support Connector Plug-Ins for external REST APIs. This enables Application Express to fully leverage REST API features like result pagination or server-side filtering, also for third-party REST Services which are not Oracle Rest Data Services (ORDS) or Oracle Fusion SaaS Services.
- The developer creates a Plug-In of the REST Data Source type.
- The Plug-In code handles REST service-specific implementation details like the pagination style or how filters are passed to the REST API.
- When Application Express invokes a REST Data Source (such as to render a report), the engine invokes the Plug-In code and passes all relevant context information.
- The Plug-In code executes one or multiple HTTP requests and passes results back to the Application Express engine.
- Application Express processes the REST response received from the Plug-In.
3.1.7 New Web Credential Types
Application Express 20.2 introduces new URL Query String and HTTP Header types for Web Credentials. This enables developers to also use the secure and encrypted credential storage for REST Services, for example, which expect an API key as part of the URL. Application Express makes sure that such sensitive parts are not written to debug or execution logs.
A Web Credential can now be protected by providing a URL pattern. Application Express only uses the Web Credential for URLs starting with the given pattern; otherwise an error message displays. To change the URL pattern, the secret part of the Web Credential needs to be entered again.
3.1.8 Redwood UI
Universal Theme now supports a new Redwood Light theme style, available via Theme Roller. Refresh your existing apps to uptake the latest version of Universal Theme and this new theme style.
3.1.9 Developer Experience Enhancements
- Page Designer enhancements support multiple tabs in the Property Editor pane, making it more efficient to access the attributes of a region.
- A new code editor throughout the development environment, resulting in a greatly improved code editing experience. The improved editor includes enhanced code completion, syntax highlighting and vastly improved accessibility.
- The Embedded Code utility enables developers to inspect the SQL, PL/SQL, and JavaScript contained within an Application Express application. Having the ability to view the embedded code makes conducting tasks such as code reviews, security evaluations, or application tuning more convenient. Code can be saved to the file system from the App Builder, or using the APEXExport utility.
- Quick SQL enhancements support the saving of a model, and the automatic population of a Primary Key using column default.
3.1.10 Item Enhancements
- New Checkbox item type. This single checkbox offers an alternative to the Switch item type for Boolean columns. Also works in Interactive Grid, including outside of edit mode. The previous Checkbox type is renamed Checkbox Group.
- File Browse item type enhancement supports rendering as a drop zone, supporting the drag and drop of a file to be uploaded.
- Rich Text Editor item type has been upgraded to use CKEditor 5 and now supports markdown output.
- Text Field item type has a new Text Case setting to optionally transform the user-entered text to upper or lower case.
- The Text Field Trim Spaces and Text Case settings and Textarea Trim Spaces settings are now applied on the client in addition to the server.
3.1.11 Tree Region Enhancements
Tree region type now supports lazy loading and refresh without reloading the full page.
3.1.12 Interactive Grid Enhancements
New Interactive Grid Saved Report Static ID Support:
- Linking to Interactive Grid saved reports uses the saved report static ID instead of the report name.
- As of this release, the
APEX_IG
API now requires using the saved report static ID (instead of the report name) when linking to Interactive Grids.
3.1.15 New JavaScript APIs
New functions:
apex.item.addAttachHandler
- Adds a new way for item plug-in developers to initialize their items.apex.lang.loadMessages
apex.lang.loadMessagesIfneeded
New properties added to model FieldMeta
:
dataType
calcValue
aggregates
dependsOn
The existing defaultValue
property can also now be a function.
New property added to model RecordFieldMetadata
:
stale
New Options for TableModelView
and Grid widgets:
hideEmptyFooter
noDataIcon
pagination.hideSinglePage
3.1.16 Template Directives
Specific attributes identified in Page Designer help as "Supports Template Directives" support conditions and iteration based on items or columns along with symbol substitution. This applies to some attributes of the new Cards region and Interactive Grid (such as HTML Expressions). Client-side symbol substitutions also support column and item property references such as label and display.
See Also:
- Using Template Directives in the Oracle Application Express App Builder User’s Guide
apex.util.applyTemplate
in the Oracle Application Express JavaScript API Reference
4.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/tools/downloads/apex-downloads/apex-202-known-issues.html
Changed behavior in this release includes:
-
Client-side symbol substitution no longer returns display value
-
Default Encoding for CSV Files in Data Loading Changed to ISO-8859-1
-
Changes to the CSV export of a Classic Report or Interactive Report
-
Region Attributes and Printing Properties Relocated in Page Designer
-
Shortcuts and Target Attributes for Side and Mega Menu Navigation
4.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, and Microsoft Edge.
4.1.2 apex_rest.getreport API Removed
The previously deprecated API apex_rest.getreport
was removed from aApplication Express as of this release.
4.1.3 apex_rest.getservicedescription API Removed
The previously deprecated API apex_rest.getservicedescription
was removed from aApplication Express as of this release.
4.1.4 Runtime Error in Common Schemas
Application Express by default prohibits running user code as a CDB common schema. When such a schema is used as an application schema or to run code in SQL Workshop, a runtime error occurs. Customers who need to use common schemas must recompile a SYS owned package using the following conditional compilation:
SQL> alter session set plsql_ccflags='apex_enable_common_user:true';
SQL> alter package sys.wwv_dbms_sql_apex_200200 compile body;
4.1.5 Render File Browse item as a Drop Zone
The File Browse item type contains new attributes such as Display As
which does enables File Browse to render as Dropzone.
4.1.6 Client-side symbol substitution no longer returns display value
Previously when using applyTemplate
(such as in interactive grid), when you reference a page item or column item that has a display value, the display value was substituted in the template output. For example: a select list P1_SEL_MOOD
with option value='H'
and display label='Happy'
when used in template I am &P1_SEL..
would output I am Happy.
whereas the server would output I am H.
The client now behaves the same as the server. Use %display
to show the display value. For example:I am &P1_SEL%display..
4.1.7 Default Encoding for CSV Files in Data Loading Changed to ISO-8859-1
Prior to this release, CSV files uploaded to Data Loading in SQL Workshop were encoded in Unicode by default.
Now, when uploading CSV files to Data Loading in SQL Workshop, the default encoding is ISO-8859-1.
You can change the encoding using the File Encoding select list on the preview screen.
4.1.8 Create Websheet Disabled by Default
By default, the ability to create Websheet applications is disabled in this release.
To enable the creation of Websheet applications, set the WEBSHEET_CREATE_ENABLED
instance parameter to Y
using the APEX_INSTANCE_ADMIN
package.
4.1.9 Checkbox renamed to Checkbox Group
The Checkbox item is renamed to Checkbox Group. There are no changes in functionality.
This name change creates consistency with "Radio Group" and enables the new single checkbox to use the more appropriate name Checkbox.
4.1.10 Changes to the CSV export of a Classic Report or Interactive Report
The CSV output of a Classic Report or Interactive Report no longer encloses each value with the enclose character.
The CSV output of an Interactive Report no longer substitutes NULL
values with the "Show Null Values as" message.
For backward compatibility, specify CSV_LEGACY
as Optimizer Hint in Region Source Attributes.
4.1.11 Changes to the JavaScript item interface
Any code that relies on undocumented, unsupported internal details of the JavaScript item interface API may require updates, including the item callbacks property and the apex.page.itemCallbacks
property.
The pItemImpl
object passed to apex.item.create
now becomes the item instance and the default item behavior is the prototype. This change enables item plug-in developers to give their item new methods or properties more easily.
4.1.12 Region Attributes and Printing Properties Relocated in Page Designer
Prior to this release, these properties were available to edit by selecting the relevant region's sub-node in the Rendering Tree on the left of the page, then the Property Editor would display the properties for the current selection.
As of this release, to simplify the editing experience, you no longer see the Attributes and Printing sub-nodes in the tree. Now, you select the region and the Attributes and Printing (if available) tabs display in the Property Editor next to the region's other main properties.
4.1.13 Shortcuts and Target Attributes for Side and Mega Menu Navigation
Link target and keyboard shortcut attributes work for Side Navigation Menu and Top Navigation Mega Menu lists.
Prior to this release, they only worked for Top Navigation Menu.
To use shortcuts: open Navigation Menu Template Option in Shared Components, and click Add Actions. Give the navigation list entries values for ID Attribute and Shortcut Key. Setting the link target value to _blank
opens the link in a new tab.
See Also:
Viewing Templates on the Templates Page in the Oracle Application Express App Builder User’s Guide4.1.14 Database Object Dependencies Utility Removed
The app-level utility "Database Object Dependecies" is removed from this release because the dependency report omitted many of the new attributes for functionality in recent releases and gave an incomplete assessment of the objects used in your app.
Oracle may update this functionality in a future release.
4.1.15 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" (
).
4.1.16 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.
4.1.16.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 Application Express, and PDF report printing with BI Publisher.
By default, the ability to interact with network services is disabled in Oracle Database 11g Release 2 or later. Therefore, if you are running 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_200200
database user. Failing to grant these privileges results in issues with:
-
Sending outbound mail in Application Express.
Users can call methods from the
APEX_MAIL
package, but issues arise when sending outbound email. -
Consuming web services from Application Express.
-
Making outbound LDAP calls from Application Express.
-
PDF report printing with BI Publisher.
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.
4.1.16.2 Granting Connect Privileges Prior to Oracle Database 12c
Demonstrates how to grant connect privileges to any host for the
APEX_200200
database user.
The following example demonstrates how to grant connect privileges to any host for
the APEX_200200
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_200200
-- the "connect" privilege if APEX_200200 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_200200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_200200', 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_200200', 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_200200
-- the "connect" privilege if APEX_200200 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_200200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_200200', 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_200200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
4.1.16.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_200200
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_200200',
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_200200',
principal_type => xs_acl.ptype_db));
END;
/
4.1.16.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_200200
user.
5.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 Application Express Advisor to scan existing applications for deprecated attributes.
See Also:
Running Advisor to Check Application Integrity in the Oracle Application Express App Builder User’s Guide5.1.1 Deprecated Productivity and Sample Applications
Starting with Application Express release 21.1, Application Express will no longer distribute Productivity and Sample Applications with the product. Instead, Oracle will make a collection of Starter Applications, Sample Applications, and Sample Plug-Ins available for download online.
The following Productivity Applications have been deprecated and will be removed in Application Express release 21.1:
- APEX Application Archive
- Application Standards Tracker
- Customer Tracker
- Data Reporter
- Group Calendar
- Incident Tracking
- Opportunity Tracker
- P-Track
- Quick Poll
- Survey Builder
The following list of views are deprecated in this release and will be removed in 21.1:
APEX_PKG_APP_ACTIVITY
APEX_PKG_APP_AUTHENTICATIONS
APEX_PKG_APP_AVAILABLE
APEX_PKG_APP_INSTALL
APEX_PKG_APP_INSTALL_LOG
APEX_PKG_APP_INSTALLED
APEX_PKG_APPS
The upload of custom applications to the Productivity and Sample Applications repository is also deprecated, and support will be removed in 21.1.
5.1.2 Websheets Deprecated
Websheets are deprecated as of this release.
Websheets are currently supported in this release, however they will be removed in a future release.
5.1.3 Migration Workbench Deprecated
The Migration Workbench (Application Migration / App 4400) is deprecated as of this release and will be removed in a future release.
5.1.4 WWV_FLOW_EPG_INCLUDE_LOCAL for Web Entry Points Deprecated
Changing the supported web entry points by compiling WWV_FLOW_EPG_INCLUDE_LOCAL
is deprecated as of this release. Use APEX_INSTANCE_ADMIN.ADD_WEB_ENTRY_POINT
and APEX_INSTANCE_ADMIN.REMOVE_WEB_ENTRY_POINT
to manage the list of supported entry points instead.
The default list in releases earlier than 20.2 contains several legacy entry points. These are now disabled by default. To enable these legacy entry points, you can set instance parameter ENABLE_LEGACY_WEB_ENTRY_POINTS
to Y
.
5.1.5 Download Interactive Report as RTF is Deprecated
Downloading an interactive report in Rich Text Format (RTF) is deprecated as of this release. It will be removed in a future release.
5.1.6 Productivity and Sample Apps Only Workspace Deprecated
Productivity and Sample Apps Only Workspaces are deprecated as of this release.
Starting with Application Express release 21.1, Application Express will no longer support Productivity and Sample Apps Only Workspaces. Any existing workspaces of this type will automatically switch to a Full Workspace in release 21.1.
6.1 Deprecated in Previous Releases
The following section lists features which were deprecated in a previous release but have not been fully removed or desupported from Oracle Application Express.
Oracle strongly recommends that developers start to modify their applications as described in this section. Use Application Express Advisor to scan existing applications for deprecated attributes.
6.1.1 Deprecated JavaScript Functions
The following functions are deprecated as of this release:
Universal Theme JavaScript API function:
apex.theme42.util.mq
(useapex.theme.mq
instead)
6.1.2 jQuery UI Deprecated
As of this release, jQuery UI is deprecated. Oracle recommends that customers update third-party Application Express plug-ins and custom JavaScript code to remove any jQuery UI references.
Native Application Express components that use jQuery UI will continue to function, but support will be removed in a future release.
6.1.3 REST Administration Interface Deprecated
As of this release, the REST Administration Interface is deprecated. This feature will be removed in a future release.
See Also:
- Using the REST Administration Interface in the Oracle Application Express Administration Guide
- Using the REST Administration Interface in the Oracle Application Express API Reference
6.1.4 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.5 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.6 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 the next 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.7 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.8 apex.widget.initPageItem Function Deprecated
The function apex.widget.initPageItem
is deprecated. Item plug-in creators should use apex.item.create
instead.
6.1.9 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.10 afterModify is Deprecated
The apex.item
callback afterModify
is deprecated. It was used primarily for jQuery Mobile, which is no longer supported.
6.1.11 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.12 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 Theme Style "Vista" Desupported in Universal Theme
As of this release, users can no longer select the Vista Theme style from the Create Application wizard. The Vista theme style is desupported.
Oracle recommends that customers use the Vita theme style instead, then use Theme Roller to achieve a similar look and feel to Vista.
7.1.2 apexrefresh Event is Desupported
Using the apexrefresh
event to refresh a region is desupported.
Previously, you could refresh a region with code such as this:
apex.event.trigger( "#myRegionStaticID", "apexrefresh" );
Instead, use the apex.region().refresh()
method. For example, you can replace the above code with:
apex.region("myRegionStaticID").refresh();
7.1.3 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES Desupported
APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES
is desupported.
Developers can replace this functionality with apex_plugin_util.get_element_attributes
, which provides better support with native functionality.
7.1.4 APEX_UTIL.STRING_TO_TABLE Function Desupported
APEX_UTIL.STRING_TO_TABLE
is desupported.
Use APEX_STRING.STRING_TO_TABLE
instead.
7.1.5 APEX_UTIL.TABLE_TO_STRING Function Desupported
APEX_UTIL.TABLE_TO_STRING
is desupported.
Use APEX_STRING.TABLE_TO_STRING
instead.
7.1.6 APEX_PAGE.IS_JQM_SMARTPHONE_UI is Desupported
The PL/SQL function APEX_PAGE.IS_JQM_SMARTPHONE_UI is Deprecated
is no longer supported.
7.1.7 openModal and closeModal are Desupported
The undocumented theme specific functions openModal
and closeModal
are desupported.
Resolution
Use the apex.theme.openRegion
and apex.theme.closeRegion
functions or the corresponding dynamic actions "Open Region" and "Close Region."
7.1.8 Tabular Forms Desupported
Creation of new legacy tabular forms is no longer supported as of this release.
The APEX_ITEM
API is considered legacy code and should not be used for new development.
Existing tabular forms continue to function.
Use interactive grids instead of tabular forms.
7.1.9 Desupported Web Listeners
As of this release, support for the following web listeners is desupported:
- Oracle HTTP Server (mod_plsql)
- Embedded PL/SQL Gateway
In the future, Application Express will only support Oracle REST Data Services.
7.1.10 Internet Explorer 11 Desupported
As of this release, support for Internet Explorer (IE) 11 is no longer supported.
Only the current and prior major release of Microsoft Edge (and Google Chrome, Mozilla Firefox, Apple Safari) are supported.
7.1.11 Calendar PDF Printing Desupported
The "Export to PDF" functionality of the CSS Calendar region is now desupported.
7.1.12 Desupported Productivity Apps
The following Productivity Apps are desupported as of this release:
- Bug Tracking
- Checklist Manager
- Competitive Analysis
- Decision Manager
- Live Poll
- Meeting Minutes
- Script Planner
7.1.13 Desupported JavaScript Functions
As of this release, the following functions are desupported.
Theme-specific global functions:
-
openModal
-
closeModal
apex.item
namespace:
-
afterModify
apex.page.confirm
parameter:
-
pMessage
default value
Other:
-
$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
-
apex.navigation.dialog.fireCloseHandler
-
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
8.1 Fixed Bugs
The following section lists bugs fixed in this release.
Table - Fixed Bugs in Oracle Application Express 20.2
Bug Number | Description |
---|---|
11714463 | PAGE LOAD DYNAMIC ACTION FAILS TO AFFECT RICH TEXT EDITOR ITEM TYPES |
18188460 | UI: SINGLE VALUE / ITEM CHECKBOXES RENDER UNNECESSARY GROUP TAG |
20696803 | CODE EDITOR CODE COMPLETION INACCESSIBLE WITH JAWS |
25245829 | INTERACTIVE GRID: SINGLE ROW VIEW: KEYBOARD ISSUES WITH SOME LINKS AND BUTTONS |
25565254 | INTERACTIVE GRID FILTER DOESN'T WORK ON MULTI VALUE COLUMNS SHUTTLE, CHECKBOXES |
25652098 | ITEM MAXIMUM LENGTH ATTRIBUTE NOT CORRECT FOR VARCHAR COLUMN W/ CHAR SEMANTICS |
28069813 | INTERACTIVE GRID SCROLL, AGGREGATE, CONTROL BREAK DOESN'T OBEY COLLAPSED STATE |
28626128 | INTERACTIVE GRID ROW CAN BE DELETED AFTER DUPLICATE AND SAVE |
29416983 | INTERACTIVE GRID MASTER DETAIL ISSUES WHEN DETAIL INSTANCES HAVE MANY ROWS |
29754010 | ERROR WHEN USING MAP-VIEWER V2 API WITH THEME ROLLER IN APEX |
30360211 | UNIQUENESS OF PAGE ALIAS ACROSS THE APPLICATION IS NOT ENFORCED |
30473457 | INTERACTIVE GRID: TEXT AREA MARKED CHANGED WHEN NOT CHANGED |
30618169 | UNCAUGHT TYPEERROR WITH APEX PAGE WITH BOTH BOTH A POPUP LOV AND A URL REGION |
30728792 | CLASSIC REPORT CSV DOWNLOAD FAILS AFTER APEX APPLICATION MIGRATED TO 19.1 |
30733498 | QUICK EDIT OPENS GLOBAL PAGE IF GLOBAL PAGE HAS INLINE DIALOGS |
30770173 | INTERACTIVE GRID: AFTER ADDING A ROW WITH DATEPICKER ITEM, SAVE HANGS IN FIREFOX |
30801170 | USING A DYNAMIC ACTION TO ENABLE/DISABLE A FIELD IN AN INTERACTIVE GRID FAILS AFTER THE FIRST CHANGE |
30902888 | HTML 5 BAR CHART PLUGIN HAS CONFUSING LINKS FOR SCREEN READERS |
30944688 | APEX_THEME.SET_USER_STYLE CAUSES ISSUES IF MULTIPLE APPS SHARE SAME SESSION |
30965541 | WHEN USING COLOR PICKER AND PRESSING 'ESC', CLOSES THEME ROLLER AND ERROR IS PRODUCED |
30969083 | AUTHENTICATION SWITCH IN SESSION DOES NOT WORK ON INITIAL REQUEST |
30975988 | APEX_DATA_PARSER / SQL WORKSHOP DATA LOADING SHOULD PROVIDE A "FORCE TRIM WHITESPACE" OPTION |
30982076 | TEXTAREA ALLOWS TO ENTER MORE CHARACTERS THAN SPECIFIED IN MAXIMUM LENGTH ATTRIBUTE |
30985042 | STAR RATING ITEM INCORRECTLY SETS VALUE ON CLICK EVENT |
30997511 | INTERACTIVE GRID MASTER DETAIL ADD ROW ON DETAIL GIVES JAVASCRIPT ERROR IF 1 MASTER RECORD NOT SELECTED |
31008753 | "IS HIDDEN" SWITCH IN WEB SOURCE MODULE > DATA PROFILE > COLUMNS DIALOG MIXES UP YES AND NO |
31011905 | INTERACTIVE GRID RAISES "INTERNAL ERROR" ON SAVE WHEN PK COLUMN HAS "SEQUENCE" DEFAULT AND SEQUENCE NAME SPECIFIED IN LOWER CASE |
31013186 | SETTING DEBUG IN DEV TOOLBAR FAILS WITH FRIENDLY URLS |
31067197 | INTERACTIVE GRID: AGGREGATION LINE DUPLICATED FOR MORE THAN 50 ROWS |
31074354 | FORM REGION COLUMN IS NOT UPDATED WHEN ANOTHER FORM ITEM ON THE SAME COLUMN EXISTS, WHICH IS "CONDITIONED OUT" |
31121847 | PREPARE_URL: LINKS WITH APP/USER CHECKSUM GENERATED IN JOBS ARE INVALID |
31136919 | "COPY TO OTHER PAGE" DOES NOT WORK FOR INTERACTIVE GRID COLUMN VALIDATIONS |
31145675 | CREATE FACETED SEARCH PAGE ERRORS OUT IF TABLE DOES NOT BELONG IN WORKSPACE SCHEMA |
31175085 | INTERACTIVE GRID COLUMN WITH LARGE "SQL EXPRESSION" THROWS ORA-06502 (ASSOCIATIVE ARRAY KEY VIOLATES ITS TYPE CONSTRAINTS) WHEN DML IS EXEUTED |
31178904 | INTERACTIVE GRID WITH MARKDOWN EDITOR : SEARCH DOESN'T HAPPEN FOR MARKDOWN COLUMN |
31180890 | INTERACTIVE GRID: ERROR - LOV COLUMN WITH CASCADING PARENT ITEMS BASED ON WEB SOURCE |
31198904 | FRIENDLY URL: GETTING 404 ERROR FOR FIRST TIME PASSWORD CHANGE FOR END USER |
31200582 | TEXT AREAS ANNOUNCE DUPLICATE LABELS TO SCREEN READERS |
31219482 | INTERACTIVE GRID CHART VIEWS THROWS ORA-904 (INVALID IDENTIFIER) WHEN AGGREGATION AND SORT BY VALUE IS ENABLED |
31245629 | FACETED SEARCH HIDE RADIO BUTTONS ATTRIBUTE DOES NOT WORK |
31247345 | REMOVE LEGACY ACL WIZARD AND DDL |
31309191 | ADDING NEW WEB SOURCE OPERATION PARAMETER THROWS ORA-2291 IF A SHARED LOV USES THIS WEB SOURCE MODULE |
31330739 | INTERACTIVE GRID HIGHLIGHT OPTION - ENTERING COLORS BY HAND THROWS ERROR ORA-06502 |
31330965 | WHEN USING THE POPUP LOV FROM APEX WITH GOOGLE RECAPTCHA SHOWS JAVASCRIPT ERROR |
31344315 | INTERACTIVE REPORT ERRORS OUT WITH ORA-6502 WHEN TOO MANY FILTERS (ABOUT 30+) ARE ADDED |
31352694 | REPLACE TIMESTAMP WITH LOCAL TIME ZONE COLUMNS |
31357942 | SAMPLE DATA SET ISSUE USING OTHER LANGUAGES THAN ENGLISH |
31364757 | APEX_DATA_PARSER IS VERY SLOW IF PARSED DATA CONTAINS A LOT OF ENQUOTED LINE FEEDS |
31366060 | COPY DOWN THROWING ERROR "UNCAUGHT TYPEERROR: CANNOT READ PROPERTY 'TRIGGER' |
31450791 | APEX_REGION.OPEN_QUERY_CONTEXT FAILS WITH ORA-904 FOR INTERACTIVE REPORT GROUP BY VIEW WHEN GROUP BY COLUMN IS HIDDEN |
31454691 | ACCESSIBILITY ISSUES WITH REST WORKSHOP |
31472808 | MASTER DETAIL: GETTING ORA-20999 UPON CLICKING ON EDIT FOR DETAIL ROW |
31498325 | INTERACTIVE REPORT > PAGINATION ROW COUNT INCORRECT WHEN MAX ROWS TO PROCESS IS SET |
31511086 | PAGE CANNOT BE SUBMITTED WHEN AN INTERACTIVE GRID COLUMNS USES STAR RATING |
31512450 | DEVELOPER TOOLBAR: MISSING MESSAGE FOR PAGE ITEMS WITH NO TEMPLATE |
31516909 | GANTT CHART DOESN'T REFRESH DATA WHEN NO DATA FOUND |
31520637 | PUBLIC CHECKBOX NOT CHECKED WHEN SAVING EXISTING CUSTOM INTERACTIVE REPORT WHICH IS PUBLIC |
31523316 | LIST DETAILS PAGE 4000:4050 HAS INACCESSIBLE ICONS FOR CONDITIONAL AND COPY COLUMNS |
31524482 | THEME PAGE > IS UNIVERSAL THEME COLUMN CONTAINS INCORRECT VALUE / ACCESSIBLE LABEL |
31534646 | FRIENDLY URL: ISSUES WITH USER AND APPLICATION LEVEL CHECKSUMS |
31551131 | APEX ADMINISTRATION SERVICES DOESN'T PRESERVE DARK/LIGHT MODE |
31572273 | SQL WORKSHOP DATA LOADING DOES NOT RAISE ERROR FOR MORE THAN 20 CLOB COLUMNS |
31573215 | "FIRE ON INITIALIZATION" PROPERTY FOR DYNAMIC ACTIONS IS NOT SET CORRECTLY |
31582789 | APEX_DATA_PARSER THROWS ORA-1426 (NUMERIC OVERFLOW) FOR CSV FILES LARGER THAN 2G |
31605614 | ITEM SUBSTITUTION FINDER MODAL DIALOG LAYOUT ISSUES |
31606071 | INTERACTIVE GRID CANNOT ADD A ROW IF READ ONLY COLUMN IS PART OF A CONTROL BREAK |
31611613 | APEX_EXEC.EXECUTE_PLSQL TREATS NON-VARCHAR2 IN PARAMETERS (BINDS) AS NULL |
31612299 | PAGE DESIGNER: CLASSIC REPORT COLUMNS CANNOT BE REORDERED WITH A SCREEN READER |
31624522 | ACCESSIBILITY ISSUES WITH OUR MENU IMPLEMENTATION |
31629892 | COPY APPLICATION: 'COPY TO' REVERTS BACK TO 'COPY FROM' APP NAME AFTER ENABLING COPY SUPPORTING OBJECT DEFINITIONS |
31643831 | CREATE APP WIZARD > CHOOSE ICON DIALOG > ICON COLOUR RADIOS MISSING ACCESSIBLE LABELS |
31662176 | SUCCESS_MSG.SINGLE_ROW_UPDATED NOT DOCUMENTED AS TRANSLATABLE MESSAGE |
31665929 | SESSION TIME ALERTS SHOULD USE THE WORD 'ENDED' INSTEAD OF 'EXPIRED' |
31666231 | FORM REGION DOES NOT EXECUTE DELETE ACTION, IF NO PAGE ITEMS EXIST, EXCEPT PRIMARY KEY |
31667669 | FLOATING LABEL DOESN'T BEHAVE CORRECTLY FOR DATE PICKER AND POPUP LOV ITEM TYPES |
31673040 | JET CHART: DONUT CHART NOT RESPECTING PIE SELECTION EFFECT SETTING |
31694881 | MARKDOWN TYPE COLUMN IS NOT RENDERED IN CLASSIC REPORTS WITH NON-STANDARD TEMPLATE |
31726393 | CREATE SUPPORTING OBJECT FROM DATABASE OBJECT INCORRECTLY FILTERS ANY OBJECT WITH NAME STARTING WITH SYS |
31755999 | HTML 5 BAR CHART PLUG-IN NOT RENDERING VALUE WITH FORMAT MASK |
31768792 | COPY PAGE FROM OTHER APP DOES NOT COPY WEB SOURCE PARAMETERS FOR REGIONS CORRECTLY |
31769340 | JET CHART: TICK LABEL FONT ATTRIBUTES SHOULD BE HIDDEN WHEN NO TICK LABEL SHOWN |
31769724 | REPORT USING A SQL QUERY WITH WHERE CLAUSE AND ORACLE TEXT INDEX COLUMN FAIL WITH ORA-907 |
31775348 | REST ENABLED SQL > UTILIZATION REPORT OMITS SHARED LIST OF VALUES USE |
31784358 | "PAGE ITEMS TO SUBMIT" ATTRIBUTE IN PAGE DESIGNER IS LIMITED TO 255 CHARACTERS |
31791970 | SQL WORKSHOP DATA LOADING CAN FAIL WITH HTTP-500 WHEN CSV FILE WITH INVALID |
31809249 | APEX INSTALLATION CAN FAIL IN SOME ENVIRONMENTS DUE TO MISSING SEMICOLON IN APEX_VIEWS.SQL |
31812780 | APEX_JSON.PARSE: VALUE_ERROR WHEN A JSON VALUE CONTAINS LARGE CSV DATA |
31813930 | "ROW RANGES X TO Y" PAGINATION SCHEME DOES NOT WORK FOR LEGACY TABULAR FORMS |
31820226 | JET CHART: LABEL FONT ATTRIBUTES NOT APPLIED TO GANTT OR STATUS METER GAUGE CHARTS |
31831814 | LIGHT MODE: SQL WORKSHOP QUERY BUILDER COLOUR CONSTRAST ISSUES |
31866911 | LINKING TO INTERACTIVE GRID REPORTS "IN" OPERATOR NOT PARSING VALUES |
31891890 | INTERACTIVE GRID ALWAYS SHOWS HORIZONTAL SCROLLBAR WHEN HEADINGS FIXED TO REGION |
31962055 | FACETED SEARCH SELECT LIST FACET SHOWS OPTIONS WITH ZERO COUNT |
31962253 | ORACLE_APEX_DICTIONARY_CACHE FAIL WITH ORA-06502 CHARACTER TO NUMBER CONVERSION ERROR |
31972864 | POPUP LOV WITH A NULL DISPLAY VALUE DEFINED IS INACCESSIBLE TO SCREEN READERS |
31989560 | APEX_SESSION.CREATE_SESSION DURING POST-AUTH CAUSES ERROR WHEN ACCESSING COOKIE NAME |
32016471 | APEX_LANG.EMIT_LANGUAGE_SELECTOR_LIST ONLY SHOWS LANGUAGES APEX IS TRANSLATED INTO |
Table - Fixed Bugs in 20.2 – Productivity and Sample Apps
Bug Number | Description |
---|---|
23604456 | APPLICATION STANDARDS TRACKER: CANNOT DELETE AUTOMATED TESTING JOB |
30228768 | CUSTOMER TRACKER: ACCESS CONTROL CONFIGURATION EITHER INCORRECT OR MISLEADING |
30902911 | QUICK POLL: POLLS REGION ON PAGE 1 IS DIFFICULT TO UNDERSTAND WITH A SCREEN READER |
30973070 | P-TRACK: ON LEAP YEAR DATE NOT VALID FOR MONTH SPECIFIED ORA-06512 |
30988789 | GROUP CALENDAR SAMPLE: CHECKSUM ERROR FOR LAST_VIEW APP ITEM ON PAGE 12 |
31316744 | GROUP CALENDAR - MAIN CALENDAR DISPLAY OF TIME ISSUE |
31352674 | REPLACE TIMESTAMP WITH LOCAL TIME ZONE COLUMNS IN PACKAGED APPS |
31662877 | PACKAGED APPS: ISSUE SHOWING CORRECT TIMESTAMP FORMAT IN DATA REPORTER FILTER REPORTS |
9.1 Open Bugs and Known Issues
This section describes bugs and known issues for Oracle Application Express release 20.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/tools/downloads/apex-downloads/apex-202-known-issues.html
- Interactive Grid Cell Shows LOV Return Value Rather Than Display Value
- Survey Builder Incompatible with Friendly URLs
- Known Issue with Interactive Reports After Data Reporter Upgrade
- Known Issue Using Component View in Firefox
- Removal of AnyChart Flash Components from Images Folder
- Known Issues for jQuery UI and jQuery Upgrade
- Known Issues for RESTful Services and Oracle REST Data Services (ORDS)
- Interactive Grid support for REST Enabled SQL
- Legacy Team Development Workspace Attribute Issue
- Group By Component Type mode prevents Default View
- Language Support for Native PDF Printing in Interactive Grid
9.1.1 Interactive Grid Cell Shows LOV Return Value Rather Than Display Value
Prior to this release, when you used a column symbol substitution for a LOV column, it would substitute the LOV display value.
Now, the column symbol substitution return value is consistent with the way the server handles symbol substitution.
Update column substitutions attributes (such as HTML Expression and Link Text) by adding %display
to the syntax. For example: change &COLUMN_NAME.
to &COLUMN_NAME%display.
9.1.2 Survey Builder Incompatible with Friendly URLs
Issue
Survey Builder cannot submit surveys when friendly URLs option are enabled.
There is no resolution at this time.
Bug #32020793.
9.1.3 Known Issue with Interactive Reports After Data Reporter Upgrade
Do not upgrade Data Reporter if you created an interactive report in the previous version. If Data Reporter contains an interactive report, upgrading the app to the newer version breaks editing of interactive report columns.
If you encounter this issue, please follow the workaround documented in Bug 31041739.
9.1.4 Known Issue Using Component View in Firefox
Issue
In Firefox, Component View may not appear after navigating away from it in the browser.
Resolution
In Page Designer, click Utilities (wrench), select Show, and select Component View. Reload the page if prompted. The tab appears before the page reloads, but disappears after reloading.
9.1.5 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.6 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.7 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.7.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.7.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.7.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.8 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.9 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.
9.1.10 Group By Component Type mode prevents Default View
Issue
Due to the removal of "Sort by Processing Order" and "Group by Component Type" from Page Designer, developers may be stuck in "Group by Component Type" mode without a way to switch back to the default view ("Sort by Processing Order").
Resolution
-
In Page Designer, open Developer Console in the browser, and run the following command:
JavaScript:pageDesigner.saveBoolPref( "GROUP_BY_COMPONENT_TYPE", true );
- Refresh the page.
9.1.11 Language Support for Native PDF Printing in Interactive Grid
When you print unicode characters from scripts which require Complex Text (CTL) (such as Arabic, Devanagari, Hebrew, Tamil and Thai), those characters are substituted with a missing character (□) in the PDF document.
There is no resolution at this time.
Supported Languages
All Latin European Language Coverage: Albanian, Asturian, Basque, Bosnian Latin, Catalan, Croatian, Czech, Danish, Dutch, English,Estonian, Faroese, Finnish, French, Galician, German, Hungarian, Icelandic, Irish, Italian,Kalaallisut, Kashubian, Latin, Latvian, Lithuanian, Luxembourgish, Maltese, Manx, NorthernSami, Norwegian (Bokmål+Nynorsk), Polish, Portuguese, Romanian, Scottish Gaelic, SerbianLatin, Slovak, Slovenian, Spanish, Swedish, Swiss German, Turkish, Welsh, Western Frisian.
Additional Supported Latin-based Languages: Afrikaans, Fijian, Filipino, Inuktitut Latin, Kinyarwanda, Luba-Lulua, Malagasy, Malay, Nauru,North Ndebele, Northern Sotho, Nyanja, Palauan, Rundi, Sango, Shona, South Ndebele,Southern Sotho, Swahili, Swati, Tokelau, Tsonga, Tswana, Turkmen, Tuvalu, Xhosa, Zulu.
Cyrillic Language Coverage: Russian, Belarusian, Bosnian, Bulgarian, Macedonian, Serbian, and Ukrainian.
CJK Language Coverage: Simplified Chinese, Traditional Chinese, Japanese, and Korean.
10.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.
11.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 20.2
F30908-04
February 2021
Copyright © 2003, 2021, Oracle and/or its affiliates.
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 embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services. 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 Inside 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, Epyc, and the AMD 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.