Oracle® Application Express

Release Notes

Release 20.1

F24726-02

May 2020

1.1 About These Release Notes

These release notes contain important information not included in the Oracle Application Express documentation.

2.1.1 Oracle Database Requirement

Oracle Application Express release 20.1 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:

    1. Sign in to Oracle Application Express.

      The Workspace home page appears.

    2. 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.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.1 Redwood UI

The Oracle Application Express user interface has been refreshed to align better with Redwood, Oracle's new user experience design language.

4.1.2 Faceted Search

Faceted Search has been enhanced to enable cascading list of values, conditional facets, and compact count display, among other enhancements.

Cascading List of Values

A facet can have a Cascading List of Values allowing data dependency on another parent facet.

Conditional Facets

Hide unwanted facets based on the value of another facet.

Compact count display

Show compact count such as 1K instead of 1,000 to simplify the display of total count.

Total row count display

Automatically include a separate row for total row count.

Sort by top counts of the facets

Sort facets based on the total count of entries in each facet, in descending order.

4.1.3 Oracle JET and Third Party Library Updates

Updates to Oracle JET and jQuery library in this release include the following:

  • JET 8.0.0
  • jQuery 3.4.1
  • jQuery UI 1.12.1
  • FullCalendar 3.10.0

4.1.4 New JavaScript APIs

New namespace:

  • apex.locale

New functions:

  • apex.da.cancel
  • apex.theme.mq
  • New function option:
    • requestOptions added to model.create function.
  • New function properties:

    • target added to apex.actions and menu widget item. This is used with the href property to open the href URL in a new window.
    • linkTarget added to treeView widget treeNodeAdapter default node. This is used with the href property to open the href URL in a new window.

Other changes:

  • Custom content menus are no longer described as experimental.

4.1.5 Universal Theme

Universal Theme contains UI refinements, accessibility improvements, new template options, and Theme Roller enhancements to help your applications look better than ever.

New Link Target Attribute
The list templates Menu Bar, Menu Popup, Top Navigation Mega Menu, Top Navigation Menu, and Side Navigation Menu have a new #A06# Link Target attribute to specify the target window for the link. This enables opening top and side navigation links in a new window. The typical value for Link Target is _blank.

4.1.6 New Interactive Grid Editing with Control Breaks

When you add a new record to an interactive grid that contains control breaks, the interactive grid now takes values for the new record from the break values. This is especially important when a break column is required. It also makes sure the added row is within a break.

4.1.7 Friendly URL Syntax

Oracle Application Express applications now support two types of URL syntax: Friendly URL Syntax and legacy f?p Syntax. Applications created using Application Express release 20.1 or later use Friendly URL Syntax. You change existing applications to use Friendly URLs by editing the Friendly URLs attribute in the application Definition.

4.1.8 Mega Menu Navigation

The Universal Theme now supports Mega Menu Navigation. Mega Menu Navigation renders application navigation as a collapsible floating panel that displays all navigation items at once. You can select Mega Menu navigation when building an application in the Create Application Wizard.

4.1.9 Remote Application Deployment

Deploy an application to remote Application Express instances using REST Enabled SQL references.

4.1.10 Split Export Files into Separate Scripts

Split application, page, and component exports into separate files using the Export as Zip option which is available on the following App Builder pages: Export Application, Export Page, and Export Component. Use the Export as Zip option to archive the exported files into a single Zip file. You can unzip the Zip file on your local file system and then commit updated files to your source code repository.

4.1.11 Interactive Grid Support for URL Filtering

Interactive Grid now includes built-in support for URL filtering.

4.1.12 Application Backups

Oracle Application Express automatically backs up modified applications as a part of daily maintenance.

4.1.13 Native PDF Printing for Interactive Grid

You can now print PDF files directly from Interactive Grids. This feature produces a PDF file which includes formatting options such as highlighting, column grouping, and column breaks.

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/tools/downloads/apex-downloads/apex-201-known-issues.html

Changed behavior in this release includes:

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 End User Access to Workspaces

Starting with release 20.1, Application Express end users (users who are not developers or admins) can no longer log into a workspace directly.

If an end user attempts to log into a workspace, they are directed to the "Change My Password" page instead.

Additionally, end users can no longer be granted access to Team Development. They are only capable of running applications defined within the workspace.

5.1.3 Alert and Confirm Dynamic Actions Changed

The behavior of the dynamic actions Alert and Confirm now open dialogs that are the same as the apex.message API.

5.1.4 Page Designer User Interface Enhancements

Enhancements include:

  • The Rendering Sort by Processing Order and Group by Component Type buttons have been removed in the left pane (or Rendering tab) of Page Designer.
  • When building components in Page Designer, you now view error messages by clicking a Messages button next to the Save button.
  • Component View is hidden by default.

5.1.5 User Interface Page Changes

The application Definition, User Interface page now includes attributes formerly found on the User Interface Details page.

5.1.6 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#.

The API calls to wwv_flow_custom_auth_std.logout, wwv_flow_custom_auth_std.logout_then_go_to_pagewwv_flow_custom_auth_std.logout_then_go_to_url, and apex_custom_auth.logout are desupported and will raise a runtime error instead of logging out from the Oracle Application Express session. Instead, use the apex_authentication.logout entry point.

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.7 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.7.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_200100 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.7.2 Granting Connect Privileges Prior to Oracle Database 12c

Demonstrates how to grant connect privileges to any host for the APEX_200100 database user.

The following example demonstrates how to grant connect privileges to any host for the APEX_200100 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_200100
  -- the "connect" privilege if APEX_200100 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_200100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_200100', 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_200100', 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_200100
  -- the "connect" privilege if APEX_200100 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_200100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_200100', 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_200100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.7.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_200100 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_200100',
                           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_200100',
                           principal_type => xs_acl.ptype_db));
END;
/
5.1.7.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_200100 user.

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.

See Also:

"Running Advisor to Check Application Integrity" in the Oracle Application Express App Builder User’s Guide

6.1.1 Deprecated JavaScript Functions

The following functions are deprecated as of this release:

Universal Theme JavaScript API function:

  • apex.theme42.util.mq (use apex.theme.mq instead)

6.1.2 Deprecated Web Listeners

As of this release, support for the following web listeners is deprecated:

  • Oracle HTTP Server (mod_plsql)
  • Embedded PL/SQL Gateway

In the future, Application Express will only support Oracle REST Data Services.

6.1.3 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.4 Support for Internet Explorer 11 Deprecated

Support for Internet Explorer (IE) 11 is deprecated.

Starting with release 20.2, only the current and prior major release of Microsoft Edge along with Google Chrome, Mozilla Firefox, Apple Safari will be supported.

6.1.5 Tabular Forms Deprecated

The Create Tabular Form Page wizard is deprecated as of this release.

Tabular forms and the APEX_ITEM API will continue to function, however the creation of new tabular forms is deprecated in this release and will be removed in a future release.

Customers should use Interactive Grids instead of Tabular Forms instead.

6.1.6 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:

6.1.7 Theme Style "Vista" Deprecated in Universal Theme

As of this release, users can no longer select the Vista Theme style from the Create Application wizard. Support for the Vista theme style will be removed in a future release.

While this release supports the Vista Theme style for existing applications that use the Vista theme style, Oracle recommends customers to use the Vita theme style instead, then use Theme Roller to achieve a similar look and feel to Vista.

6.1.8 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.9 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.10 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.11 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 Guide

6.1.12 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.13 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.14 apex.widget.initPageItem Function Deprecated

The function apex.widget.initPageItem is deprecated. Item plug-in creators should use apex.item.create instead.

6.1.15 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.16 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.17 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.18 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.19 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.20 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.21 afterModify is Deprecated

The apex.item callback afterModify is deprecated. It was used primarily for jQuery Mobile, which is no longer supported.

6.1.22 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.23 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 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.2 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

7.1.3 Legacy Team Development Desupported

The legacy version of Team Development is desupported as of this release.

A new version of Team Development to track feedback, issues, and milestones has replaced it.

8.1 Fixed Bugs

The following section lists bugs fixed in this release.

Table - Fixed Bugs in Oracle Application Express 20.1

Bug Number Description
14616880 UI: SESSION TIME-OUTS CANNOT BE EXTENDED BY END-USER
22461959 INTERACTIVE REPORT SUBSCRIPTION DOES NOT CHECK REGION OR PAGE AUTHORIZATIONS
25090608 APEX REPOSITORY LOSING CUSTOM THEMES
25422037 INTERACTIVE GRID ROW ACTIONS MENU SHOULD NOT LOOK DISABLED FOR DELETED ROW
25438396 INTERACTIVE GRID SRV EXCLUDE NULLS AND DISPLAYED COLUMNS OPTIONS HAVE NO EFFECT
25538891 INTERACTIVE GRID ICON VIEW STYLE PROBLEMS
26475905 DUPLICATE PAGE SUBMISSION DOES NOT WORK WITH RELOAD ON SUBMIT = ONLY ON SUCCESS
27403289 CLASSIC REPORTS AND INTERACTIVE REPORTS DISPLAY FAILURE WITH DOUBLE-BYTE EMOJI
28834484 INTERACTIVE GRID CAN SHOW DUPLICATE ROWS AFTER WINDOW RESIZE AND SCROLL
29530019 INTERACTIVE GRID INTERNET EXPLORER 11 DEFAULT COLUMN WIDTH IS TOO SMALL
30216167 APEX_IR.GET_REPORT API CRASH WHEN BIND_VARIABLE OF THE IR HAS OVER 30 CHAR
30312414 DISABLE APEX COOKIE USED TO REMEMBER USERNAME/WORKSPACE
30365382 FORM ON PROCEDURE DOES NOT ENQUOTE SCHEMA, PROCEDURE AND ARGUMENT NAMES
30380685 OBJECT BROWSER: CORS ERROR FOR .../BLANK.HTML WHEN USING A CDN (FOR EXAMPLE, APEX.ORACLE.COM)
30400393 P_WALLET ARGUMENTS OF APEX_WEB_SERVICE.OAUTH_AUTHENTICATE SHOULD DEFAULT TO NULL FOR BOTH SIGNATURES
30406610 SQL WORKSHOP DATA UNLOAD DOES NOT HANDLE QUOTES CORRECTLY WHEN "ENCLOSED BY" IS USED
30406748 REDISCOVER AN XML DATA PROFILE WITHIN WEB SRC MODULE DOES NOT RESPECT XML NAMESPACES
30412792 SLOW CSV DOWNLOAD FOR CLASSIC REPORTS
30413693 SELECT LIST SHOW VALUE % IN WORKSPACE UTILITIES >APP BUILDER DEFAULTS>GLOBALIZATION
30418776 ERROR DELETING WORKSPACE WHEN ISSUE LINKED TO FEEDBACK EXISTS
30433888 INTERACTIVE GRID: USER IS NOT ABLE TO EDIT REPORT BASED ON REST ENABLED SQL SERVICE/TABLE
30434310 SQL WORKSHOP DATA LOADING DOES NOT AUTOMATICALLY MAP COLUMN NAMES CONTAINING A "#" CHAR
30441644 NEW STAR RATING ITEM DOESN'T WORK IN INTERACTIVE GRID
30441663 NEW STAR RATING ITEM HAS DISPLAY ISSUES IN INTERACTIVE GRID
30446647 DATA WORKSHOP > LOAD DATA, GENERATED ERROR TABLE NAME TOO LONG
30451889 EDITABLE INTERACTIVE GRID: REPORT DOWNLOADED IN CSV FORMAT EVEN WHEN CSV FORMAT IS RESTRICTED
30461018 PARSING SCHEMA POPUP LOV ON APP SECURITY PAGE DISPLAYS NO VISIBLE RESULTS
30470744 SQL WORKSHOP DATA LOADING AND APEX_DATA_PARSER DO NOT TREAT BOM IN CSV FILES CORRECTLY
30472546 SLIDER PLUGIN IN SAMPLE DYNAMIC ACTIONS PACKAGED APP IS NOT WORKING FINE
30484315 INTERACTIVE GRID: WHEN REGION IS MAXIMIZED, FLOATING EDITABLE CELL CONTENT DOESN'T SHOW
30487644 SQL WORKSHOP DATA LOADING / APEX_DATA_PARSER SHOULD NOT CUT COLUMN NAMES TO 30 CHARS ON 12.2 AND HIGHER DATABASES
30489131 READ ONLY INTERACTIVE GRID LOV COLUMN DOES NOT RESPECT DISPLAY EXTRA=NO
30493122 CLASSIC REPORT CSV DOWNLOAD FAILS WHEN DATA CONTAINS INVALID CHARACTERS
30498697 INTERACTIVE GRID DOWNLOAD FAILS WITH ORA-1403 WHEN SQL QUERY IS USED AND ROWID IS THE FIRST COLUMN IN THE LIST
30499464 PAGE DESIGNER: REMOVE VISUALLY HIDDEN 'REQUIRED' TEXT
30504903 APEX_REGION.OPEN_QUERY_CONTEXT DOES NOT WORK WITH INTERACTIVE REPORT PIVOT VIEWS
30505223 TABLE/VIEW OWNER SELECT LIST ON EDIT LOV (4000:4111) PAGE CAN INITIALIZE WITH WRONG SCHEMA
30505631 UNIVERSAL THEME: DUPLICATE 'BANNERS' REPORTED TO SCREEN READERS
30505740 INTERACTIVE GRID SINGLE ROW VIEW HELP BUTTON STYLE ISSUES
30511566 FACETED SEARCH: COMPUTE COUNTS DOES NOT PROCESS WEB SRC PARAMETERS CORRECTLY
30512102 SWITCH ITEM RETURNS EMPTY STRING IF ITS ON OR OFF VALUE IS SET TO 0
30516725 INTERACTIVE GRID FLOATING ITEMS DO NOT WORK WHEN GRID IS IN AN INLINE DIALOG
30517479 INTERACTIVE GRID: SAVE CHANGES FOR MASTER DETAIL FAILS WITH ORA-06502 FOR NEW MASTER WITH NEW DETAIL ROWS
30520385 INTERACTIVE GRID DML PROCESS WITH CUSTOM PL/SQL CODE USING :ROWID ERRORS OUT WITH "STOP APEX ENGINE"
30533928 ORACLE_APEX_DICTIONARY ORA-29913: ERROR IN EXECUTING ODCIEXTTABLEOPEN CALLOUT
30535914 INTERACTIVE GRID DOWNLOAD RETURNS NULL VALUES FOR CASCADING LOV COLUMNS
30537256 POPUP LOV: ADDITIONAL OUTPUT ITEMS GET CLEARED ON PAGE LOAD
30544387L POPUP LOV ON WEB SOURCE MODULE THROWS ORA 903 ("INVALID TABLE NAME") ON PAGE RENDERING WHEN ITEM VALUE IS NOT NUL
30567242 CONTENTS OF 'INLINE DIALOG' REGIONS ARE NOT ANNOUNCED TO SCREEN READERS
30580984 INSTALLATION THROWS ERRORS FOR WWV_FLOW_DATA_PARSER WHEN INSTALLED INTO A CDB WITH MAX_STRING_SIZE=EXTENDED
30589770 FORM REGION INIT PROCESS THROWS ORA-06502 WITH MAX_STRING_SIZE=EXTENDED AND VARCHAR2 VALUES > 4000 BYTE
30589873 SQL WORKSHOP DATA LOADING AND APEX_DATA_PARSER RETURN VALUES IN WRONG ROW FOR XLSX WITH EMPTY FIRST ROW
30593583 INTERACTIVE REPORT CREATE COMPUTATION DIALOG DOES NOT VALIDATE EXPRESSIONS WITH LOV COLUMNS CORRECTLY
30598781 DATA LOADING WIZARD "DATA VALIDATION" DOES NOT SHOW DATA FOR COLUMN 39; FOLLOWING COLUMNS ARE SHIFTED
30606430 ORACLE_APEX_DAILY_MAINTENANCE JOB IS FAILING : ORA-01400: CANNOT INSERT NULL
30610685 DATE PICKER ITEM WITH SHOW TYPE AS INLINE IS SHOWING ONLY THE MONTH NAME REST OF THE CALENDAR IS MISSING
30612973 COPY PAGE DOES NOT COPY DYNAMIC ACTION BUTTON REFERENCES CORRECTLY
30616156 ORA-06550 WHEN ATTEMPTING TO EXPORT SQL SCRIPT VIA SQL WORKSHOP > SQL SCRIPTS
30616719 REST ENABLED SQL CONTAINING HTTPS BASE URL DOES NOT GIVE ANY SUCCESS/FAILURE MESSAGE WHEN CLICKED ON TEST
30617262 INTERACTIVE GRID OR REPORT FAILS WITH ORA 6502 ON 12.1 OR 11.2 IF LOV COLUMN HAS MORE THAN 26 CHARACTERS
30617441 SPOTLIGHT SEARCH DOES NOT SHOW APPLICATION ICON OR INITIALS
30622773 ORA-20001: UNABLE TO CREATE FORM ON TABLE. WHEN CREATING APPLICATION
30626480 INTERACTIVE GRID DOES NOT REFRESH DETAIL GRID WHEN NEW MASTER ROW IS SAVED
30633970 PAGE DESIGNER: MODAL DIALOGS DO NOT HIDE BACKGROUND CONTENT TO SCREEN READERS
30636867 APEX_WEB_SERVICE.MAKE_REST_REQUEST IN APEX 19.2 DOES NOT IMPLICITLY CONVERT P_BODY TO UNICODE ANY MORE
30646286 PLSQL ERROR WHEN SENDING EMAIL USING TEMPLATE WITHOUT PLAIN TEXT CONTENT
30646890 ORACLE_APEX_DICTIONARY_CACHE JOB FAILS WITH ORA-06502
30657218 APEX INTERNAL SERVER ERRORS WHEN USING QUERY BUILDER
30665079 APEX_REGION.OPEN_QUERY_CONTEXT USE ON INTERACTIVE GRID REGION THROWS ORA-904 FOR "APEX$ROW_ACTION" COLUMN
30666199 APEX_REGION.OPEN_QUERY_CONTEXT ON CLASSIC REPORT CONFUSES COLUMNS WHEN CALLED IN QUERY FOR OTHER CLASSIC REPORT
30666330 INTERACTIVE REPORT: DISABLING HIGHLIGHT THROWS JS ERROR IN MODAL WINDOW
30668642 CSS CALENDAR SHOWS WEEKDAYS WRONG IF "START OF WEEK" IS DIFFERENT IN TERRITORY VS. LANGUAGE
30669481 ORA-42294 WHEN CREATING ROLE APEX_GRANTS_FOR_NEW_USERS_ROLE
30673803 APEX_JSON INVALIDATES EXISTING HTP BUFFER ONCE INITIALIZE_CLOB_OUTPUT IS CALLED
30675432 INTERACTIVE GRID VIRTUAL COLUMN WITH SOURCE=NONE DISPLAY NO ROWS
30675656 ORACLE_APEX_DICTIONARY_CACHE FAIL WITH ORA-00001: UNIQUE CONSTRAINT (APEX_190200.WWV_DICTIONARY_CACHE_OBJ_IDX1)
30716693 "CREATE APPLICATION" MAY FAIL WHEN FORMS & REPORTS ARE BASED ON LARGE COLUMN NUMBERS OR LONG COLUMN NAMES
30733833 JET CHART: STACK CATEGORY NOT CORRECTLY SUBSTITUTED IN MULTI-SERIES QUERY
30741141 UPGRADE TO APEX 19.2 FROM 5.1.4 - LOV JSON RETURNED BY AJAX (CASCADING) HAS CHANGED
30748465 CREATE NEW SESSION AS PART OF "BECOME USER" DOES NOT WORK
30749628 WWV_FLOW_UTILITIES.IS_AVAILABLE_APPLICATION_ID RETURNS TRUE EVEN IF ID EXISTS IN ANOTHER WORKSPACE
30755289 NVARCHAR2 COLUMN IS TREATED AS OBJECT TYPE WHEN SELECTED FROM REST ENABLED SQL DATA SOURCE
30756430 "OPTION HTML ATTRIBUTES" FOR CHECKBOXES AND RADIOS CAUSES INACCURATE RENDING
30757127 FORM REGION IGNORES AUTH SCHEMES ASSIGNED TO INSERT/UPDTE/DELETE OPERATION
30762164 APEX CALENDAR IN MOBILE SCREEN, LIST VIEW IS SHOWING WITHOUT LIST OPTION CHECK
30782208 SOCIAL SIGN-IN: OAUTH2 SHOULD SUPPORT DIFFERENT AUTH METHODS
30782329 DB ACCOUNTS AUTHENTICATION: PWD EXPIRED ERROR EVEN WHEN STILL IN GRACE PERIOD
30783722 ORA-904 OR ORA-911 WHEN CHANGING MIXED CASE COLUMN NAME ATTRIBUTE IN INTERACTIVE GRID
30786289 APEX_EXEC.EXECUTE_PLSQL_CODE DOES NOT RETURN OUT BIND VARIABLES TO THE CALLER
30787504 MASTER DETAIL FORM REGION INIT PROCESS THROWS ORA-918 IF SOURCE CONTAINS "TOTAL" OR "ROWN" COLUMN
30798575 IR PDF, XLSX OR RTF DOWNLOADS FAIL WITH ORA-904 WHEN ONE COLUMN HAS A FORMAT MASK
30800215 AJAX CALLS DO NOT ALWAYS RETURN "APEX-ERROR" AND "APEX-ERROR-CODE" HEADERS
30805995 JET CHART: 'OTHER' SLICE OF PIE/DONUT CHART NOT RESPECTING LABEL POSITON
30808646 ADDING DUPLICATE HIGHLIGHT CONDITION IN INTERACTIVE REPORT FAILS WITH UNIQUE CONSTRAINT ERROR
30815551 APEX 19.2 INSTALL FAILS WHEN DATABASE BLOCK SIZE <= 4K
30824026 REGRESSION - TEXT FIELD WITH AUTOCOMPLETE: MAXIMUM VALUES IN LIST IGNORED
30837064 APPLICATION IMPORT INVALIDATES PUBLIC AND PRIVATE REPORTS OF INTERACTIVE GRIDS
30875996 INTERACTIVE REPORT THROWS ORA-904 WHEN SINGLE ROW VIEW IS ENABLED AND USES ROWID
30882746 SQL WORKSHOP DATA LOADING CAN RAISE ORA-972 (IDENTIFIER TOO LONG) ON 12.2 OR HIGHER DB WHEN COMPATIBLE IS "12.1.0"
30890985 INTERACTIVE GRID ADD ROW WHEN BREAK REQUIRED COLUMN CAUSES ERROR ON SAVE
30895841 FACETED SEARCH FILTERS ARE NOT APPLIED CORRECTLY ON TRANSLATED APPLICATIONS
30904982 INTERACTIVE GRID DML FAILS WITH ORA-06502 ERROR IF GRID COLUMN NAME NOT EQUALS QUERY COLUMN NAM
30910055 "OMIT WHEN VALUE IS EMPTY" ATTRIBUTE IS NOT EXPORTED FOR OPERATION-LEVEL WEB SOURCE MODULE PARAMETER
30914382 APEX IMPORT: ORA-00001: UNIQUE CONSTRAINT (APEX_190200.WWV_FLOW_LISTS_PK) VIOLATE
30923000 FACETED SEARCH THROWS ORA-00904 FOR "D"."VAL" COLUMN WHEN FACET USES REMOTE SHARED LOV
30928037 SEARCH APPLICATION FAILS WITH ORA-20555 IF A REPORT QUERY EXISTS
30929605 LIST DETAILS PAGE 4000:4050 NOT REFRESHING 'QUERY SOURCE TYPE' SELECT LIST ITEM WHEN NEW 'LIST' SELECTED
30959430 INTERACTIVE GRID SELECT ALL CHECKED IF ALL CONTROL BREAKS COLLAPSED
30960081 LIST REFERENCED IN PAGE-LEVEL UI OVERRIDE LOST AFTER LIST COMPONENT IMPORT
30962651 PAGE DESIGNER THROWS JS ERROR WHEN TRYING TO CREATE A CHART ON A WEB SOURCE MODULE
31014047 APEX_DATA_PARSER DOES NOT READ "" VALUE AS "NULL" WHEN USING CSV PARSER WITH OPTIONALLY ENCODED
31014579 ORACLE_APEX_DICTIONARY_CACHE JOB ERRORS OUT WITH ORA-20901: MAXIMUM EXECUTION TIME EXCEEDED

Table - Fixed Bugs in 20.1 – Productivity and Sample Apps

Bug Number Description
27788007 CHECKLIST MANAGER: EDIT CHECKLIST PAGE HAS INACCESSIBLE CHECKBOXES
28513370 P-TRACK: UNABLE TO DELETE MILESTONE WITH NO ASSOCIATED ACTION ITEMS
29481186 DATA REPORTER: ADMINISTRATION ICON NOT DISPLAYED AFTER APP INSTALL
30101992 P-TRACK: DATE FORMAT NOT RECOGNIZED DOWNLOADING IR TO PDF
30141069 P-TRACK PROJECT LOGO NOT VISIBLE
30476572. APPLICATION STANDARD TRACKER: APP VIEW DETAILS IN PAGE 34 THROWS ERROR
30476979T DATA REPORTER PACKAGED APP: ID COLUMN VALUES IN PROJECTS TABLE ARE DISPLAYED AS #### IF FORMAT MASK IS SELECTED FOR INTERACTIVE REPOR
30477039 DATA REPORTER PKG APP: <SPAN> HTML TAGS ARE DISPLAYED IN METRICS > TAGS
30507474 P-TRACK: SESSION STATE PROTECTION ERROR ON P150_SHOW_WARNING
30853089 P-TRACK: SSP VIOLATION WHEN ADDING ACTION ITEM TO MILESTONE

9.1.1 Debug on the Runtime Developer Toolbar Fails with Friendly URLs

Issue

When an app is configured to use friendly URLs, using the Runtime Developer toolbar menu Default Debug Level can result in a malformed URL that results in an error page.

Resolution

To avoid this problem, leave the Default Debug Level at the default setting (Info).

If you need to change the debug level with the Runtime Developer toolbar, click the Debug button, then in the URL change the parameter debug=YES to debug=LEVEL6 (for example).

9.1.2 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.3 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.4 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 Guide

9.1.5 Width issue for item type Text with Autocomplete in Internet Explorer 11

Issue

The item type Text with Autocomplete does not render with the correct width using Oracle JET in Internet Explorer 11. 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.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:

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.

9.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:

Module 1
Name:          MyMod1
URI Prefix:    NULL

URI Templates: /Template1
               /Template2
Module 2
Name:          MyMod2
URI Prefix:    NULL

URI Templates: /Template3
               /Template4
In effect, these definitions create a single virtual service with four templates with null for the URI Prefix. These can be called in the following ways:
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:

  1. In Application Express, click SQL Workshop then RESTful Services.

  2. Click the Configure button to launch the ORDS Schema Attributes modal dialog.

  3. For Schema Alias, select the alias.

  4. 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

  1. In Page Designer, open Developer Console in the browser, and run the following command:

    JavaScript:pageDesigner.saveBoolPref( "GROUP_BY_COMPONENT_TYPE", true );
  2. Refresh the page.

9.1.11 Language Support for Native PDF Printing in Interactive Grid

When you print unicode characters from scripts other than Latin and Cyrillic, 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.

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 for APEX_AUTHENTICATION.GET_LOGIN_USERNAME_COOKIE and APEX_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.1

F24726-02

Copyright © 2003, 2020, 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.