Release Notes
Release 5.1
E64906-06
March 2017
These release notes contain important information not included in the Oracle Application Express documentation.
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
If you already have Oracle Application Express installed, Oracle strongly recommends that you regularly upgrade to the latest version available. To learn more about see "Upgrading from a Previous Oracle Application Express Release" in Oracle Application Express Installation Guide.
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
If you are updating from previous release of Oracle Application Express, see the "Changed Behavior" sections in the following documents:
If your database uses Oracle Workspace Manager, you must download the patch for Bug 11061801 from My Oracle Support and apply it to your database prior to attempting the install. To locate this patch, search for 11061801 on the Patches tab.
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.
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
Oracle Application Express release 5.1 includes a number of new features. These new features are not present in Oracle Application Express release 5.0 and earlier releases.
Interactive grid presents end users with a set of data in a searchable, customizable report. For those users familiar with previous releases, interactive grid replaces tabular forms. From a functional perspective, an interactive grid includes the customizations available in interactive reports plus the ability to rearrange the report interactively using the mouse. In an editable interactive grid, users can also add to, modify, and refresh the data set directly on the page.
Key features include:
Full Featured Grid — Includes powerful reporting capabilities, including fixed headers, frozen columns, scroll pagination, multiple filters, sorting, and aggregates.
Extensible and Customizable — Edit text, numerical data, and list of values. Interactive grids support all native item types and item type plug-ins except rich text editor.
Master Detail — Create master-detail relationships that are any number of levels deep and across.
Charts in Oracle Application Express release 5.1 are powered by the Oracle JET charting library. Oracle JET charts are a component of the Oracle JavaScript Extension Toolkit (JET), an open source toolkit based on modern JavaScript, CSS3 and HTML5 design and development principles. Oracle JET charts are fast, highly customizable, and versatile. Oracle JET charts are fully HTML5 capable and work on any modern browser, regardless of platform, screen size, or features. Easily migrate existing AnyChart charts using the Upgrade Application Wizard.
In release 5.1, wizards have been streamlined and simplified. The Create Application Wizard for Desktop applications now supports the creation of interactive grid pages for reports, forms, and master detail. When creating an application from a spreadsheet, this wizard also supports interactive grids as either a single page or a report and form page. The Create Page Wizard features a more consistent, streamlined interface consisting of fewer steps. Master Detail forms now incorporate an interactive grid region on either single page or on two pages.
Calendar in this release is based on the FullCalendar jQuery library and can be customized through CSS. Key features include:
End Date Displayed Inclusive — In release 5.0, the CSS calendar considered the end date of an all-day event as exclusive (similar to the jQuery FullCalendar Plugin). In release 5.1, the end date is inclusive like all other Oracle Application Express components.
JavaScript Customization — Developers can add JavaScript code to support customization of the FullCalendar initialization using the new Initialization JavaScript Code attribute.
Dynamic Actions Events — Enables developers to capture events within the calendar and define dynamic actions against these events.
Keyboard Support — When the calendar grid has focus, the arrow keys can be used to navigate within the calendar.
Page Designer includes a number of key enhancements:
Component View Tab — To assist developers with the transition to Page Designer, Page Designer includes a Component View tab. Similar in appearance to Legacy Component View, the Page Designer Component View tab presents user interface elements and application logic by component type; however, when you click a component, the Property Editor highlights the corresponding attribute in the right pane and enables you to edit the component attributes.
Two Pane Mode — Page Designer now enables developers to view just two panes instead of three. Two Pane mode enables developers to focus on two panes at a time.
Drag and Drop Tab Reordering — Developers can now customize Page Designer by reordering tabs within and across panes.
Property Editor, Filter Properties Search — Search for a group or an attribute in the Property Editor by entering keyword in the Filter Properties field.
Property Editor Change Indicator — Changed attributes display with a blue marker until the page is saved.
In Oracle Application Express release 5.1, Font Awesome has been updated from 4.2.0 to 4.5.0.
Font APEX is a new icon library designed specifically for Oracle Application Express and Universal Theme and includes over 1000 icons. To learn more about Font APEX, install the Universal Theme Sample Application.
Tip:
Developers can change an application's icon library in Shared Components on the Edit Theme page.
Quick SQL
Competitive Analysis
REST Client Assistant
Sample Interactive Grids
Sample REST Services
Oracle Application Express now displays a warning to end users when it detects unsaved changes.
You cannot use the Warn on Unsaved Changes feature for tabular forms.
You may need to change some third-party plugins to support this feature. You may need to implement the isChanged
callback if your default implementation of the plugin malfunctions.
For buttons that open a dialog, set the Warn on Unsaved Changes attribute to Page Default.
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: http://www-content.oracle.com/technetwork/developer-tools/apex/downloads/apex-51-known-issues-3408261.html
Changed behavior in Oracle Application Express release 5.1 includes:
Oracle Application Express 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.
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.
See Also:
To learn more, see Oracle Application Express Patch Set Notes and search for Compatibility Mode.
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#
.
wwv_flow_custom_auth_std.logout, wwv_flow_custom_auth_std.logout_then_go_to_page
, wwv_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
In Oracle Application Express release 5.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. 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.
By default, the ability to interact with network services is disabled in Oracle Database 11g Release 1 or 2 or later. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 1 or 2 or later, you must use the new DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any host for the APEX_050100
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.
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 a 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.
The following example demonstrates how to grant connect privileges to any host for the apex_050100
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_050100 -- the "connect" privilege if apex_050100 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_050100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'apex_050100', 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_050100', 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_050100 -- the "connect" privilege if apex_050100 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_050100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'apex_050100', 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_050100', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
Procedures CREATE_ACL
, ASSIGN_ACL
, ADD_PRIVILEGE
and CHECK_PRIVILEGE
in DBMS_NETWORK_ACL_ADMIN
are deprecated in Oracle Database 12c. Oracle recommends using APPEND_HOST_ACE
instead. The following example demonstrates how to grant connect privileges to any host for the apex_050100
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_050100', 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_050100', principal_type => xs_acl.ptype_db)); END; /
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_050100
user.
In APEX_ESCAPE.HTML_TRUNC
, the semantics for the P_LENGTH
parameter has changed from "characters" to "bytes."
Calendar End Date Behavior Changed to Inclusive
Oracle Application Express Calendar is based on the jQuery fullCalendar plug-in. In previous releases, this plug-in treated end dates as exclusive (for example, a full day event from FEB 02 to FEB 04 only displays only until FEB-03. This behavior lead to inconsistencies to other page components. To address this behavior, developers may have added one day to the end date in their calendar query.
In Oracle Application Express release 5.1, end date behavior has changed to inclusive so that calendars behave consistently when compared to other Oracle Application Express components. Developers who worked around the previous behavior by adding one day to the end date in their calendar query, may need to revert any previous workarounds.
Calendar List View Reflects Last Used Day, Week or Month View
In Oracle Application Express, release 5.0, the entries in the calendar list view always reflected the month view. In this release, the calendar list view uses the last used view. For example, if changing from day to list view, the list view will be based on a day. If switching from week, it will contain entries for a week and when switching from month it will contain entries for a month.
jQuery has been updated from version 2.1.3 to version 2.2.3 and version 1.11.2 to 1.12.3. For a list of bug fixes and enhancements, see the:
jQuery Blog at https://blog.jquery.com/2016/04/
jQuery Change Log at https://github.com/jquery/jquery/compare/2.2.2...2.2.3
See Also:
"Understanding jQuery and jQuery UI Support" in Oracle Application Express App Builder User’s GuideThis release includes a new application User Interface attribute, Favicon. Developers can use the Favicon attribute create a favicon (or shortcut icon). Enter HTML code in this attribute to create a favicon (or shortcut icon). To use this feature, your page template must include the #FAVICONS#
substitution string.
The Oracle Application Express Engine has been changed on how it internally maps page item values entered on an HTML page to the parameters of the wwv_flow.accept
procedure when a page gets submitted. This change should not have any impact on existing applications.
The following summarizes the details of this change:
Name attribute of a page item input field is no longer maps to the p_t001
to p_200
parameters and p_v00
to p_v200
parameters of wwv_flow.accept
. Instead the Name attribute now contains the page item name.
The substitution #CURRENT_FORM_ELEMENT#
which can be used in the Pre Text and Post Text attributes of a page item now returns the page item Name instead of the p_t001
to p_200
parameters and p_v00
to p_v200
parameters.
The internal hidden field pPageChecksum
has been renamed to pPageItemsProtected
.
The internal hidden field p_md5_checksum
has been renamed to pPageItemsRowVersion
.
Page items submitted by a dynamic action or for an Ajax request now have new lines normalized to CRLF.
When importing themes, it was previously possible to replace the current theme. This is no longer supported. Themes can be imported and after the import, the application can be switched to use the imported theme. Or alternatively, the restore theme functionality can be used to refresh the current theme from a theme in another application.
In previous releases, provisioning a new workspace included the installation of two sample applications, Sample Database Application and AnyCo IT Department Websheet. In Oracle Application Express release 5.1 these sample applications and their supporting objects are no longer installed by default.
To change this default behavior and include these sample applications in new workspaces, sign in to Oracle Application Express Administration Services, navigate to Manage Instance, Feature Configuration, and set Create demonstration objects in new workspace to Yes.
See Also:
"Enabling the Creation of Demonstration Objects in New Workspaces" in Oracle Application Express Administration GuideThe return value of the apex.server
namespace plugin and process functions has changed from a jqXHR
object to a promise object.
If you used any jqXHR
specific functionality (except abort) it must be changed.
This change fixes a problem where calls to the jqXHR
done and fail callbacks did not correspond to the apex.server
success and error callbacks. There were cases where the error callback would be called and then the jqXHR
done callback would be called, making it difficult to determine when an error occurred. In those cases, the promise returned by these apex.server
functions calls the success call as done and the error call as fail.
In the past false
was returned in some cases rather than a jqXHR
object. Now a promise is always returned even when queue options are used.
If the apexbeforerefresh
event is canceled, then the promise is rejected (fail is called). Previously the function returned false
.
The apex.server
namespace plugin and process functions pOptions
parameter only support a subset of the jQuery.ajax
options.
See Also:
"apex.server.plugin" and “apex.server.process” in Oracle Application Express API Reference
The CKEditor used by Oracle Application Express release 5.1 has been updated to CKEditor version 4.5.11. The previous version (4.4.6) has been removed.
The CodeMirror used by Oracle Application Express release 5.1 has been updated to CodeMirror version 5.16. The previous version (4.4) has been removed.
Font Awesome used by Oracle Application Express release 5.1 has been updated to Font Awesome version 4.5.0. The previous version (4.2.0) has been removed.
Hammer used by Oracle Application Express release 5.1 has been updated to Hammer version 2.0.4. The previous version (2.0.3) has been removed.
jQuery Migrate used by Oracle Application Express release 5.1 has been updated to jQuery Migrate version 1.4.1. The previous version (1.2.1) has been removed.
jQuery FullCalendar library version 2.2.3, included in Oracle Application Express release 5.0, has been upgraded to jQuery FullCalendar 2.9.1 in Oracle Application Express release 5.1. This change might affect applications with custom JavaScript code based on the FullCalendar 2.2.3 bundled with Oracle Application Express.
The Calendar included in this release uses the upgraded version (that is, jQuery FullCalendar 2.9.1) and is not affected.
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 APIs, 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.
Conditional File Loading for Microsoft Internet Explorer Deprecated
apex.server Plugin and Process Function Async Option Deprecated
See Also:
"Running Advisor to Check Application Integrity" in the Oracle Application Express App Builder User’s GuideComponent View has been designated as a legacy user interface for editing application pages. Oracle recommends developers use Page Designer instead of Legacy Component View. Legacy Component View groups user interface elements and application logic by component type. Unlike Page Designer, Legacy Component View does not offer a visual representation of a page or support the dragging and dropping of page components. To preview the position of components on a page, you must run it. In Oracle Application Express release 5.1, Legacy Component View is disabled by default. To enable Component View, edit your user preferences and select Yes for Enable Legacy Component view. Once the Legacy Component View has been enabled, navigate back to Page Designer, click the Component View tab, and then click Legacy Component View [Deprecated]. Please note that some components, such as Interactive Grids and Oracle JET based Charts, can not be maintained using the Legacy Component View.
Tip:
To assist developers with the transition to Page Designer, Page Designer includes a Component View tab. Similar in appearance to Legacy Component View, the Page Designer Component View tab presents user interface elements and application logic by component type; however, when you click a component, the Property Editor highlights the corresponding attribute in the right pane and enables you to edit the component attributes.
APEX_UTIL.SET_CURRENT_THEME_STYLE
has been deprecated and will no longer be available in the next major release of Oracle Application Express. Developers should replace this functionality with APEX_THEME.SET_CURRENT_STYLE
.
Support for conditional file loading for Microsoft Internet Explorer in JavaScript File URLs and CSS File URLs attributes using [if IE]/mycss/ie.js
has been deprecated.
The Universal Theme (Theme 42) and the Mobile Theme (Theme 51) are the standard themes in Oracle Application Express release 5.1. Older themes are considered legacy and are deprecated. Applications using these themes should be migrated to the Universal Theme.
To learn more about transitioning to Universal Theme, navigate to http://apex.oracle.com/ut and click Migration Guide.
In a future release the async option will be ignored and all Ajax requests will be asynchronous.
The function apex.widget.initPageItem
is deprecated. Item plug-in creators should use apex.item.create
instead.
The jQuery jsTree
plugin optionally used by the APEX Tree region and the jQuery autocomplete
plugin used by the Text Field with Autocomplete item are deprecated and will not work in a future release of Oracle Application Express. The Tree region already has a replacement tree implementation called APEX Tree. You can migrate your apps to use the APEX Tree implementation.
In the future, a new implementation will provide the Text Field with Autocomplete with backwards compatibility. However, Oracle recommends that you do not use the jQuery autocomplete
plugin directly in your app due to potential incompatibility.
A future release of Application Express will upgrade the jQuery library to the 3.x line. At that time, any jQuery
plugins or custom code including JavaScript Dynamic Actions that rely on jQuery Migrate 1.4.x plugin will no longer function (including the jsTree
and autocomplete
plugins). Application Express will provide a declarative option to include the new jQuery Migrate 3.x plugin to support application code and plugins that work with jQuery 1.9+ but are incompatible with jQuery 3.x.
Oracle strongly recommends that you update your applications to work with jQuery 2.2.x without jQuery migrate 1.4.x. See the jQuery upgrade guides for details: https://jquery.com/upgrade-guide/
The jQuery versions 1.4.2, 1.6.2 and 1.7.1 are not used in Oracle Application Express and will be removed in a future release. Remove any references in your application code and use the most current jQuery version which ships with Oracle Application Express.
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.
Oracle Application Express Application Migration Workshop (Application Migration) no longer supports the migration of Microsoft Access applications. In addition, you can no longer generate an application directly from a Migration Project.
The Allow RESTful Access attribute which enabled developers to expose report regions on public pages as RESTful services has been desupported. The attribute was located in Oracle Application Express Administration Services, Manage Instance, Security. Oracle recommends developers use RESTful Services defined for Oracle REST Data Services instead.
The following packaged applications have been removed in this release of Oracle Application Express:
Packaged Applications:
Use Case Status
Go Live Checklist
Body Header - The Body Header attribute is no longer available. If you want to replicate this region position, create a new page template and add an unused Region Display Position placeholder, such as #REGION_POSITION_10#
before the #BODY#
placeholder.
Include Standard JavaScript and CSS - To remove the standard JavaScript and CSS included, you need to create a new page template and remove the #APEX_JAVASCRIPT#
and #APEX_CSS#
placeholders.
Desupported Column Types - The following column types have been desupported in classic reports: Date Picker; Date Picker (Classic); Popup LOV; Popup Key LOV; Radio Group; Row Selector; Simple Checkbox; Text Area; Text Field; Display as Text (Saves State).
Oracle recommends creating interactive grids instead of a classic reports. Classic reports are not designed to have enterable fields.
Hidden Column Type - All columns of this type should be changed to Hidden Column.
The tabular form Column Type, Date Picker (Classic) has been desupported. All columns of this type should be updated to Date Picker.
Desupported region types include:
Classic Tree - Recreate these regions by specifying the region type, Tree and using the same SQL statement.
SVG Chart and Simple Chart - Replace these regions with type Chart, using the same SQL Statement.
Desupported item attributes include:
Type, Date Picker (Classic) - Update these items to Date Picker.
Type, Stop and Start Grid Layout - Remove the Stop and Start Grid Layout item and set Start New Grid to Yes for the next page item.
WWV_FLOW_FILES
should be changed to using the APEX_APPLICATION_TEMP_FILES
table. Deletes are no longer necessary, as the file will automatically be purged after the request or when the session is purged.
Note:
If you usedWWV_FLOW_FILES
as a permanent store, the files should be copied into their own BLOB column(s) within a table within your schema.Desupported button attributes include:
Pre Text; Post Text - You are no longer able to add text on either side of buttons.
Action - The Previous Page, Next Page, and Reset Page buttons will no longer be generated automatically when creating regions, for example creating a Form and Report on a table. You can manually recreate similar buttons, and enter the appropriate button behavior.
The following condition types of the following attributes are no longer supported in Oracle Application Express release 5.1.
For each desupported condition type, follow the proceeding Oracle recommended action to correct your application.
Attribute — Conditions
CGI_ENV: DAD_NAME =/!= Value
CGI_ENV: HTTP_POST =/!= Value
CGI ENV: SERVER_NAME =/!= Value
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
Client Browser is Microsoft Internet Explorer 7.0 or higher
Client Browser is Mozilla, Netscape 6.x/7x or higher
Client Browser is Other browsers (or older version)
Client Browser is XHTML / CSS capable browser
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
instead.
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
SQL Reports
Current Page =/!= Page Submitted (posted)
Text =/!= Value
Text is/ is NOT contained in Value/Item
Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.
For Condition Type:
Always
By having no condition specified the same result will be achieved.
Attribute — Read Only Conditions
CGI_ENV: DAD_NAME =/!= Value
CGI_ENV: HTTP_POST =/!= Value
CGI ENV: SERVER_NAME =/!= Value
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
Client Browser is Microsoft Internet Explorer 7.0 or higher
Client Browser is Mozilla, Netscape 6.x/7x or higher
Client Browser is Other browsers (or older version)
Client Browser is XHTML / CSS capable browser
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
instead.
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
SQL Reports
Current Page =/!= Page Submitted (posted)
Text =/!= Value
Text is/ is NOT contained in Value/Item
Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.
Attribute — Server Cache Conditions
CGI_ENV: DAD_NAME =/!= Value
CGI_ENV: HTTP_POST =/!= Value
CGI ENV: SERVER_NAME =/!= Value
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
Client Browser is Microsoft Internet Explorer 7.0 or higher
Client Browser is Mozilla, Netscape 6.x/7x or higher
Client Browser is Other browsers (or older version)
Client Browser is XHTML / CSS capable browser
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
instead.
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
SQL Reports
Current Page =/!= Page Submitted (posted)
Text =/!= Value
Text is/ is NOT contained in Value/Item
Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.
For Condition Type:
Always
By having no condition specified the same result will be achieved.
Attribute — Link Conditions
CGI_ENV: DAD_NAME =/!= Value
CGI_ENV: HTTP_POST =/!= Value
CGI ENV: SERVER_NAME =/!= Value
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
Client Browser is Microsoft Internet Explorer 7.0 or higher
Client Browser is Mozilla, Netscape 6.x/7x or higher
Client Browser is Other browsers (or older version)
Client Browser is XHTML / CSS capable browser
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')
instead.
Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API
instead.
SQL Reports
Current Page =/!= Page Submitted (posted)
Text =/!= Value
Text is/ is NOT contained in Value/Item
Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.
For Condition Type:
Always
By having no condition specified the same result will be achieved.
The Save State before Branching attribute is no longer supported. If you want to save session state before branching, you must create a process or computation to set the required values, if they are not already set when the page is submitted (for example, use :P10_DEPTNO := 10;)
.
Note:
If the branch does not set an item when branching, setting this flag to No has no impact.Type, Legacy Automatic Row Processing - Replace these processes with Automatic Row Processing (DML).
Type, Legacy Web Service - Replace these processes with Web Services.
Fetch Mode, Set Memory Cache on Display - This fetch mode does not immediately assign the fetched value to the page item when the fetch process is executed, instead it is done when the page item is rendered. Oracle recommends that this attribute be set to NULL so that session state is immediately set when the fetch process is executed.
Oracle Application Express now uses asynchronous Ajax requests for dynamic actions with attribute Wait For Result equal to Yes. Oracle Application Express applications can no longer rely on the currently synchronous behavior. Specifically, do not make Ajax requests (using dynamic actions or by any other means) in response to the Page Unload (unload) or Before Page Submit (apexbeforepagesubmit) events.
item_menu
dhtml_CloseAllSubMenus
app_AppMenuMultiClose
dhtml_DocMenuCheck
dhtml_ButtonDropDown
dhtml_MenuOpen
dhtml_SingeMenuOpen
app_AppMenuMultiOpenBottom
app_AppMenuMultiOpenBottom2
app_AppMenuMultiOpenBottom3
Applications that currently use any of the above APIs must be changed to use declarative menus (that is, Menu Navigation or menu list templates).
Oracle Application Express release 5.1 no longer supports the htmldb_Get
object (previously located in legacy.js
). Code that currently uses htmldb_Get
must be rewritten to use APIs in the apex.server
namespace.
Oracle Application Express no longer supports usage of the editors FCKEditor 2 or Internet Explorer.
Instead, a Rich Text Editor page item will always render using CKEditor 4.
Oracle Application Express no longer supports dynamic actions based on DOM Objects. Change your dynamic actions to use a jQuery Selector or JavaScript Expression instead of DOM Object.
The APEX_PLSQL_JOB package is no longer available in Oracle Application Express. Replace this functionality with the native database-supplied package DBMS_SCHEDULER
.
Oracle Application Express no longer supports the jsTree region implementation of the Tree region. Change your Tree regions to use the APEX Tree region.
Oracle Application Express no longer supports Websheet PL/SQL section types. Editing of existing PL/SQL section types is no longer available.
jQuery UI 1.8, 1.8.14, 1.8.22
Modernizr 2.5.3
This section describes bugs and known issues for Oracle Application Express release 5.1.
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:
http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex-51-known-issues-3408261.html
Issue
In an Oracle JET Chart in Firefox, when the entire legend is not visible within the given chart region, and scrolling of the legend is required in order to view all entries, the user cannot scroll down to view the legend.
This issue is being tracked by Oracle JET bug #24675613.
Workaround
Scroll up instead of down to view the whole legend.
This section describes accessibility bugs and known issues for Oracle Application Express.
Interactive Grid Single Row View Keyboard Issues with Links and Buttons
Interactive Grid Cell Buttons and Links Cannot Activate in Edit Mode
Interactive Grid Contains Additional Hidden Tab Stops After the Grid
Universal Theme Page Notification Alerts are Ignored by Some Assistive Technology
Page Up and Page Down Navigation Links on Workspace Login Page Missing Link Text
Page Designer, Property Editor, Display Group Headings Should Be Buttons
Single Value / Item Check Boxes Render Unnecessary Fieldset and Legend Tags
Issue
Some configurations of required attributes produce inconsistent emissions by screen readers, and may confuse users of assistive technology.
Developers must use the relevant label template (such as "Required") to show the required icon next to the label. Choosing this label template also means the label appends hidden text that is read by a screen reader, stating "(Value Required)."
The most common method is to set the Value Required item attribute, which validates the input, and also emits "aria-required="true" required="
" in the form item attributes.
The less common method is to use a not null
page validation, which you may need to do if, for example, the validation needs to be done conditionally based on some other context (such as a page item storing TOTAL_SALES
information is only required if JOB = SALES
).
In this case, where a separate validation is used, the item does not contain the required attributes on the item emitted.
This can lead to inconsistencies in what is emitted, and possibly confuse a user of Assistive Technology.
This issue is tracked with Oracle bug 23761182.
Workaround
Instead of using the Value Required item attribute, create simple not null
style validations on the items and set the Value Required attributes to no
. Then, as long as developers have defined the appropriate label template for required items, this provides a consistent experience across all required items: the required information is conveyed in the label, and not in the item attributes.
Issue
Users cannot activate a column of type link or a column with a link defined with the keyboard in navigation mode.
A column that contains buttons or links has extra tab stops in edit or navigation mode.
This issue is tracked with Oracle bug 25245829.
Workaround
Use grid view, where links and buttons can be activated.
Issue
In an interactive grid, in grid view, users cannot press the space bar or Enter key to activate buttons or links that are contained in cells when the grid is in Edit Mode.
This issue is tracked with Oracle bug 25245887.
Workaround
Press the ESC key to exit Edit Mode and switch back to Navigation Mode, where the buttons and links can be activated as usual.
Issue
Interactive grid has additional hidden tab stops when users tab past the grid section.
This issue is tracked with Oracle bug 25245934.
Workaround
After tabbing past the grid section, press the Tab key multiple times until you reach the next visibly focusable element on the page.
Issue
Screen readers do not announce page notification alerts (such as interactive grid success messages) as intended. They are coded to WAI-ARIA alert guidelines, but screen readers fail to announce them.
This issue is tracked with Oracle bug 25245961.
Workaround
The notifications are still in a Heading tag, so screen reader users must scan the headings on the page to perceive the information conveyed in the alert.
Issue
On the workspace login page, down and up same page links that serve as a navigation aid to move between lower and upper content are missing link text. These links should have aria-label="Jump down"
(or similar text), and likewise for the up link, for better accessibility.
This issue is tracked with Oracle bug 20796641.
Workaround
Use standard browser controls to navigate the page.
Issue
Currently in the Property Editor, the display groups are marked up as <div>
elements that are focusable with the keyboard. When focused, users can navigate between display groups with the Up and Down arrow keys, which aids keyboard support of the Property Editor. However, when the <div>
is focused, JAWS announces the display group title twice, and JAWS does not initially announced the ARIA expanded state when the display group first gets focus (however, it is announced upon expand or collapse).
This issue is tracked with Oracle bug 20693220.
Workaround
Users should be aware that the state is not announced upon first focus, and can either force announcement by pressing Enter and making the group expand or collapse, or alternatively by pressing Tab to go to the next focusable element, which will either be the first field in the group (if expanded), or the next display group (if collapsed).
Issue
Rendering a native check box item renders a FIELDSET
tag that acts as a container for the group of check boxes and a LEGEND
tag which gives the FIELDSET
an accessible title. This works well for check boxes that have more than one check box in the group, but when the check box only has one check box, it is incorrect to render the FIELDSET
and LEGEND
.
This issue is tracked with Oracle bug 18188460.
Workaround
For single input check boxes, use the Simple Check box Item plug-in, available from Oracle Technology Network here: http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html
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.
Oracle® Application Express Release Notes, Release 5.1
E64906-06
Copyright © 2003, 2017, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.