Release Notes
Release 4.2 for Oracle Database 12c
E17957-06
May 2013
These Release Notes contain important information not included in the Oracle Application Express documentation. For the most current information, refer to updates of this document, which are located at:
http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-094287.html
For a summary of new Oracle Application Express release 4.2 for Oracle Database 12c features, see "Changes in This Release" in the beginning of each document in the Oracle Application Express release 4.2 for Oracle Database 12c documentation library.
Oracle Application Express is released more frequently than the Oracle Database. To view information about or download a more current release, refer to:
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 from the Oracle Application Express Oracle Technology Network (OTN) Downloads page. To learn more about upgrading Oracle Application Express, see:
http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-deployment-upgrades-1878445.html
The value of the character set portion of PlsqlNLSLanguage in the configuration of the mod_plsql
Database Access Descriptor (DAD) must be set 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. To learn more, see "Restricting Access to Oracle Application Express by Database Access Descriptor (DAD)" in Oracle Application Express Administration Guide.
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.
This section describes new features of Oracle Application Express that are not documented elsewhere. If you are not updating from Application Express release 4.1 to release 4.2, please see "Changed Behavior" in Oracle Application Express Release Notes release 4.1 and Oracle Application Express Release Notes release 4.0.
You can find these documents at the following locations:
Oracle Application Express Release Notes release 4.1
http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21672/toc.htm#BABFBHEF
Oracle Application Express Release Notes release 4.0
http://docs.oracle.com/cd/E17556_01/doc/relnotes.40/e15512/toc.htm#BABFBHEF
The maximum size of the VARCHAR2, NVARCHAR2, and RAW data types has been increased from 4,000 to 32K characters. Increasing the allotted size for these data types enables users to store more information in character data types before switching to large objects (LOBs). This is especially useful for brief textual data types and the capabilities to build indexes on these types of columns.
You can now define text items, textareas, and rich text editor items in Oracle Application Express based on VARCHAR2 columns in a table with a maximum size of 32767. In order for Oracle Application Express collections to be able to utilize the increased size limit, you must run /core/collection_member_resize.sql
to change collection VARCHAR2 columns from 4000 characters to 32767 characters.
Table columns have been enhanced to support the American National Standards Institute (ANSI) IDENTITY keyword. This provides a standards-based approach to the declaration of automatically incrementing columns, simplifying application development and making the migration of DDL to Oracle simpler.
Oracle Application Express page and region wizards can accept identity columns as primary key columns. The DML processes defined on form pages for retrieving and processing records can accept identity columns as primary key columns. Within the SQL Workshop, you can create tables with columns as identity columns.
The property of whether a column is visible can be controlled by the user. Invisible columns are not seen unless specified explicitly in the SELECT list. Any generic access of a table (such as a SELECT * FROM
table or a DESCRIBE
) will not show invisible columns. The notion of invisible columns enables easier online application migrations as provided by Oracle's edition-based redefinition.
Within Oracle Application Express page and region wizards invisible columns are not be selectable. The SQL source generated for regions does not include invisible columns. However, after completing the wizard you can update the SQL source and include invisible columns. Within SQL Workshop, invisible columns are not displayed within the Object Browser or Query Builder. You can explicitly select invisible columns within SQL Commands.
Application Express release 4.1 and later includes a new theme, Theme 24. Theme 24 incorporates HTML5 and CSS3 features and is based on the colors used in Oracle Public Cloud.
Application Express release 4.2 includes a new theme, Theme 25. Blue Responsive Theme 25 incorporates HTML 5 and CSS3 features and is based on the color scheme of the productivity applications. This theme is a "Responsive" theme that utilizes the Application Express release 4.2 Grid Layout feature. The theme automatically shifts or realigns page components so that they fit properly on a mobile or tablet device.
Application Express release 4.2 includes a new theme, Theme 26. Productivity Applications Theme 26 incorporates HTML 5 and CSS3 features and is based on the color scheme of the productivity applications.
In Oracle Application Express release 4.2, the APEX_DEBUG_MESSAGE
package is renamed to APEX_DEBUG
. The APEX_DEBUG_MESSAGE
package name is still supported to provide backward compatibility. As a best practice, however, use the new APEX_DEBUG
package for new applications unless you plan to run them in an earlier version of Oracle Application Express.
This section describes changed behavior in Oracle Application Express release 4.2.
Tip:
This section is current as of the writing of this document. To view the most current listing of changed behavior, go to the Known Issues page available off the Downloads page. See:http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
Note:
If you are not updating from Application Express release 4.1.1 to release 4.2, please see "Changed Behavior" in Oracle Application Express Release Notes release 4.1 for other changes.Report Queries Exceeding the Maximum Row Count Display an Error
New Placeholders to Include Standard CSS and Standard JavaScript Files
Firing Point Change for Before Regions and After Regions Computations or Process
Chart Series Page for Flash Charts No Supports Conditional Display
Dynamic Actions Firing After the Page Has Loaded Now Handled Consistently
This attribute controls the compatibility mode of the Application Express runtime engine. Certain runtime behaviors are changed from release to release. Use this attribute to obtain specific application behavior.
In Application Express release 4.1, Automatic DML forms raise an error when rendering the page if the column name of the source of an item is invalid. Prior to 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. To realize the new behavior in an application, set the compatibility mode of the application to 4.1. If you desire the behavior as it was in Application Express release 4.0 or earlier releases, set the compatibility mode of the application to Pre 4.1.
Also, in 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 compatibility mode Pre 4.1 function as if the Cache is enabled and as if Embed in Frames is set to allowed. Applications running in compatibility mode 4.1 respect the specific Browser Security attributes.
In 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 lay 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, because 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.
Also, in Application Express 4.1, because of bug 12990445
, the following changes have been implemented for Automatic Row Processing (DML) process types. The code which performs the INSERT
has been 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?
Does the specified Build Option have a status of Include or is it not specified at all?
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 realize the new behavior in an application, set the compatibility mode of the application to 4.1. If you desire the behavior as it was in release 4.0 or earlier releases, set the compatibility mode of the application to Pre 4.1.
In 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).
For further information on setting the compatibility mode, see "Editing the Application Definition" in Oracle Application Express Application Builder User's Guide.
Prior to Application Express release 4.2, a maximum of 10 attempts is performed to send an email message from the Application Express mail queue. If, after the tenth time, the email message cannot be sent, it is removed from the mail queue and is recorded in the mail log along with the last error encountered.
In Application Express release 4.2, up to 14 attempts are made to deliver an email message. The delay between each attempt increases on a logarithmic scale, up to and including the 14th attempt which has a delay of 2^14 (32768) minutes from the previous attempt.
The modes for optimized accessibility, Screen Reader and High Contrast in Oracle Application Express will be phased out. Instead of requiring developers to provision these modes in applications, and users having to enable these modes, Oracle Application Express will be optimized by default without requiring any additional actions from users or developers. The work on this has commenced in Oracle Application Express release 4.2, with the removal of the need to run Screen Reader Mode for the following functionality:
Shuttle, radio, and check box page items are rendered within a FIELDSET
HTML tag. FIELDSET
elements require a text description that is used as context for any elements within it, for example the individual radio inputs. This is done using the LEGEND
HTML tag. When running in screen reader mode, this tag is generated and is given the value of the page item's Label.
The previously called Stop and Start HTML Table item type is now called Stop and Start Grid Layout (deprecated) and has been removed from the Create Page Item wizard.
Instead of using the Stop and Start HTML Table item type, developers should use the new Start New Grid attribute of page items which provides the same behavior. If developers still want to use the old item type they can still pick Stop and Start Grid Layout (deprecated) in the item type select list on the Edit Page Item page.
Prior to Oracle Application Express release 4.1, the Application Express online help system was included with the Application Express distribution. In Oracle Application Express release 4.1 and later, the online help is the Oracle Application Express Documentation Library hosted on Oracle's Technology Network.
To access the online help with and with Application Express release 4.1 and earlier, you click the Help link in the upper right corner of most Oracle Application Express pages. See "Accessing Help and the Documentation Library" in the Oracle Application Express Application Builder User's Guide.
Some benefits of the hosted online help include:
Our documentation team now has greater flexibility in updating, correcting and enhancing documentation and online help, providing the most current and useful content.
The hosted online help provides more powerful search capability.
By not including the help system with the Application Express distribution, the overall distribution size of Application Express release 4.2 has been dramatically reduced as well as the size of the content loaded into the XDB repository, if you are using embedded PL/SQL gateway.
This removes the complexity associated with indexing the online help files, especially if your instance is accessed over SSL or the database is behind a firewall that cannot get to the Web server.
For customers that cannot get to the Internet, the entire documentation library can be downloaded and staged locally. The URL for the Help link can be adjusted from within Application Express to go directly to the locally staged documentation. See "Configuring Online Help" in the Oracle Application Express Administration Guide.
Local search capability is available for downloaded documentation. See "Downloading the Online Documentation Library" in the Oracle Application Express Application Builder User's Guide.
The JavaScript libraries for jQuery and jQueryUI used by Application Express have been updated as follows:
jQuery has been updated from version 1.6.2 to version 1.7.1
jQueryUI has been updated from version 1.8.14 to version 1.8.22
See jQuery and jQueryUI release notes for bug fixes and enhancement at:
There are a couple of situations, relating to this upgrade, that you should consider.
The first situation to consider is if you have used jQuery in your own JavaScript code in applications, then you may be impacted by changed behavior caused by the updated jQuery version. The most significant impact you may experience from updating your jQuery version is due to the use of the jQuery attr
method. This method returns slightly different values in some circumstances. Please review the jQuery change log for further details of this and other changes.
If you are concerned this may impact your applications, there are 2 possible options:
Fallback to the previous version of jQuery for your code. You can easily include jQuery 1.6.2 by adding the following to your Page Template > Header, within the <head>…</head>
tags, importantly ensuring this is done directly after the #HEAD#
substitution string and before you include any of your libraries:
... #HEAD# <script src="#IMAGE_PREFIX#libraries/jquery/1.6.2/jquery-1.6.2.min.js" type="text/javascript"></script> ...
We will still include jQuery 1.7.1 as part of the #APEX_JAVASCRIPT#
substitution, but including 1.6.2 afterwards means that the variables $
and jQuery
will now point to jQuery version 1.6.2, which you can continue to use in your applications. Note that jQuery 1.6.2 is still included in our distribution, so you don't need to add this to your web server.
Review and retest your jQuery code to see if you are impacted by the changes. This is more work initially, but has the advantage that you only need to load one version of the jQuery library into your application and secondly, you can also benefit from the enhancements of the most recent version.
The second point to consider as part of this upgrade, relates to jQuery UI and if you have included components of jQuery UI that are not included by default by Application Express. We don't include all the components of jQuery UI by default to reduce page size and processing, only the components used by Application Express base functionality. All of these default components are now using jQuery UI 1.8.22, whereas any components you may have previously included may be referencing an older version. This means there may be compatibility issues between the versions of jQuery UI components you have included and the updated jQuery and jQuery UI versions we include by default.
Again, if you are concerned this may impact your applications, there are 2 possible options:
Fallback to the previous versions of jQuery and jQuery UI in your code. You can include jQuery 1.6.2 and jQuery UI 1.8.14 by adding the following to your Page Template > Header, within the <head>…</head>
tags, importantly ensuring this is done straight after the #HEAD#
substitution string and before you include any of your libraries:
... #HEAD# <script src="#IMAGE_PREFIX#libraries/jquery/1.6.2/jquery-1.6.2.min.js" type="text/javascript"></script> <script src="#IMAGE_PREFIX#libraries/jquery-ui/1.8.14/ui/minified/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script> ...
We still include jQuery 1.7.1 and jQuery UI 1.8.14 as part of the #APEX_JAVASCRIPT#
substitution, we're just including the older versions for compatibility with your other jQuery UI components you may reference. Note that jQuery 1.6.2 and jQuery UI 1.8.14 are still included in our distribution, so you don't need to add this to your web server.
Review your jQuery UI code, update any jQuery UI components to reference version 1.8.22 and retest. This is more work initially, but has the advantage that you only need to load one version of the jQuery library and one version of the jQuery UI library into your application and secondly, you benefit from the enhancements of the most recent versions. We suggest you search the files containing your JavaScript code and also in Application Search in the Application Builder, for the following text:
libraries/jquery-ui/
The CKeditor used by Application Express release 4.2 has been updated to CKeditor version 3.6.4.
The AnyChart Flash charts used by Application Express have been updated to the latest version 6.0.11.
Prior to Application Express release 4.2, AnyChart Flash charts and AnyMap Flash maps were embedded in a page using <OBJECT>/<EMBED>
HTML tags, and the region source was visible and editable on the Edit Region page.
In Application Express release 4.2, the AnyChart JavaScript Integration Library is used to embed the component in a page, and the region source is no longer visible on the Edit Region page. Existing applications containing AnyChart 5 charts will automatically be upgraded to AnyChart 6 charts in Application Express release 4.2. The XML structure of AnyChart 5 charts is compatible with AnyChart 6, and no changes are required.
For customers wishing to access the region source of existing Flash chart regions, which may contain custom code, the APEX_APPLICATION_PAGE_REGIONS
view can be used to view the region source information, using the following query:
select page_id, region_name, region_source from apex_application_page_regions where application_id = :APP_ID and source_type_code in ('FLASH_CHART','FLASH_CHART5')
In the above query, :APP_ID
is the ID of the application you wish to obtain the information on.
When the Upgrade Application wizard is used to upgrade existing Flash charts to Flash 6, the contents of the region source will be deleted, and custom content will be lost.
See AnyChart website for bug fixes and enhancements at:
The AnyGantt charts used by Application Express have been updated to the latest version 4.2.0.
Prior to Application Express release 4.2, AnyGantt charts used a JavaScript Integration library called AnyChart.js
, with an associated class name of AnyChart.
In Application Express release 4.2, the AnyGantt JavaScript Integration Library has been refactored, and renamed to AnyGantt.js
. The associated class has been renamed to AnyGantt. Existing applications containing AnyGantt 4.1.0 charts will automatically be upgraded to AnyGantt 4.2.0 charts in Application Express release 4.2. However, custom AnyGantt 4.1.0 chart regions will need to be manually updated, to change references to the old JavaScript library name, AnyChart.js, with the new name, AnyGantt.js
.
See AnyChart website for bug fixes and enhancements at:
In Application Express release 4.1, we introduced the restriction that Set Value dynamic actions no longer supported the ability to set multiple affected elements to a singular value. For example, you could no longer use one Static Assignment set type action to set multiple affected elements to a single static value. Instead, you would have to create separate actions for each item you wanted to set. This restriction has now been lifted in Application Express release 4.2, such that for the single value set types (Static Assignment, JavaScript Expression, PL/SQL Expression and PL/SQL Function Body), it is once again possible to set multiple affected elements to a single value in one action.
Note: The only exception to this is the 'SQL Statement' set type. This set type supports setting multiple values to multiple page items, so here if you want to set multiple affected elements to the same value, you should code your SQL Statement such that it selects the same value, with a different alias for each affected element. This was done in order to keep a simple mapping between the value and the item, in the case where both could be greater than 1."
Since the last few releases of Application Express, the Builder requires the SQL statement of a List of Values to contain two columns when a page item is created or modified.
In Application Express release 4.1, the rendering engine has been modified to perform the same check during runtime. If a List of Values is detected that contains only one column, the error messages "Wrong number of columns selected in the LOV SQL query for P1_DNAME. See examples for valid statements." is displayed.
To fix this error, edit the SQL statement of the List of Values. Duplicate the column and give the first column the alias name display_value
and the new second column return_value
.
For example:
SQL statement before editing:
select dname from dept
SQL statement after editing:
select dname as display_value, dname as return_value from dept
By default, the ability to interact with network services is disabled in Oracle Database 12c. Therefore, if you are running Oracle Application Express with Oracle Database 12c, you must use the new DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any host for the APEX_040200
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.
Topics in this section include:
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 Oracle Database 12c already has the parameter set properly, but a database upgraded to 11g from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.The examples below should be modified according to your environment and in a Oracle Database 12c multitenant architecture, should be run on each PDB.
The following example demonstrates how to grant connect privileges to any host for the APEX_040200
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_040200 -- the "connect" privilege if APEX_040200 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_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', 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 is used to enable 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_040200 -- the "connect" privilege if APEX_040200 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_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
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 need to run the first script in this section to apply the ACL to the APEX_040200
user. See "Granting Connect Privileges to a Host".
The CSS tab of the Item Finder is no longer available.
If you have item buttons where "Start New Row" or "Start New Column" are set to Yes, you may see slightly different positioning of the item button, because item buttons no longer emit an empty table cell for a label. If you are affected by this, please use the new "Column" attribute in the "Grid Layout" region, to position the button accordingly.
In Application Express releases earlier than 4.2, if you had hidden items in between two displayed items, then this affected the layout of the following page item if Start New Row was set to Yes. It was displayed in a new line. In Application Express release 4.2, hidden items are completely ignored when layouting page items, that's why the following page item will be displayed in the same line if it has Start New Row set to No.
If a report query exceeds the maximum row count defined by a chart or group by view, chart or group by does not display. Instead following message displays:
Your current query retrieves more than (999,999) rows (the maximum row count for this report). The [group by / chart] view is only supported when all rows retrieved can be displayed. Please apply a filter.
The Drag and Drop icon that previously displayed on the Page Definition in Component View and the Drag and Drop Layout page have been removed from Oracle Application Express release 4.2.
The page-level attribute Include Standard JavaScript and CSS is deprecated and is only displayed for existing applications if the value is set to No. New applications no longer have this page-level attribute.
Developers can now use the placeholders #APEX_CSS#
and #APEX_JAVASCRIPT#
in page templates to indicate if and where the standard Oracle Application Express CSS and JavaScript files should be loaded. If these placeholders are not included in the page template, they will not be loaded.
The DML Fetch Mode attribute for process type Automated Row Fetch only be displays if its current value is "Set Memory Cache On Display." For new processes it is no longer possible to set this attribute. New processes will always use "Set Memory Cache On Fetch."
Previously the Maximum Width attribute of a Text Area page item was not checked. With Oracle Application Express release 4.2, this attribute is now checked so existing applications may behave differently if the value defined in the Maximum Width attribute is too small or does not correspond with the database column length.
Computations and processes which have a the processing point of Before Regions and After Regions now fire before and after the region displays. In previous releases of Oracle Application Express, they only fired before or after regions with a Display Point of Body 1, Body 2, or Body 3. The old behavior is still be used for applications where the application Compatibility Mode is set to 4.1 or earlier
Prior to Oracle Application Express release 4.1, conditional rendering of Flash chart series queries was not supported. In this release, you now have the ability to specify a condition on Flash 5 chart series queries. A condition is a small unit of logic that helps you control the display of the chart series query. For example, when you apply a condition to a query, the rendering engine evaluates the condition during the rendering (or Show Page) process. Whether the condition passes or fails determines if the chart series data is represented on the chart
Within dynamic actions, there are two methods of getting actions to fire after the page has loaded:
By defining a dynamic action's When Event as Page Load
By setting an Action to Fire on Page Load
Prior to Oracle Application Express release 4.2, these two methods were executed slightly differently by Oracle Application Express, which resulted in an inconsistency with the value available from the 'this.browserEvent' attribute of dynamic actions. For Actions firing from the Page Load, When Event, this would be set to the full jQuery event object for the 'ready' event. For Actions firing where the Fire on Page Load attribute was set, 'this.browserEvent' would be set to just 'load'. This made it difficult for a plug-in developer to easily and consistently isolate behavior that was specific to page load.
In Oracle Application Express 4.2 and later, this is now handled consistently such that 'this.browserEvent' is always set to 'load.' For plug-in developers, you must test 'this.browserEvent' for 'load,' to consistently isolate page load behavior for your plug-ins.
The following are not supported in Oracle Application Express release 4.1 and later.
The option "Save State before Branch" is no longer available for new and existing branches. Only if the option was previously checked will it still be available for compatibility reasons and will work as before.
Oracle Application Express does not support an EBCDIC character set. The value of the character set in the configuration of the mod_plsql
Database Access Descriptor (DAD) must be set to AL32UTF8
, regardless of the underlying database character set.
See Also:
"Configuration Requirements"Text Area item types have been migrated to a simple text area. This functionality has been replaced by Web browser spell checking support, which supports more languages.
Oracle Application Express includes a new jQuery based Date Picker. This new date picker does not support the format masks described in Table 1, "Unsupported Date Picker Formats".
Table 1 Unsupported Date Picker Formats
Format | Description |
---|---|
DS |
Short Date. Returns a value in the short date format and is dependent on local settings. |
DL |
Long Date. Returns a value in the long date format and is dependent on local settings. |
CC |
Century |
BCC |
Century BC prefixed with |
SYYY |
Year with BC prefixed |
IYYYY |
ISO year |
YEAR |
Year spelled out |
SYEAR |
Years spelled out with BC prefixed |
BC |
BC/AD indicator |
Q |
Quarter |
RM |
Roman month |
WW |
Week of year 1-52 |
W |
Week of month 1-5 |
IW |
ISO standard week of year |
DDTH |
Ordinal day |
DDSPTH |
Spelled out Ordinal |
J |
Julian Day |
TH |
Ordinal format |
TZD |
Abbreviated time zone name |
TZH |
Time zone Hour displacement |
TZM |
Time zone Minute displacement |
TZR |
Time Zone Region |
This section describes bugs and known issues for Oracle Application Express. For more current information, see the Oracle Application Express release 4.2 Known Issues page on Oracle Technology Network:
http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-42-known-issues-1863578.html
Dynamic Action Refresh Does Not Work for Classic Reports in Mobile Pages
Calendars in Mobile Pages Fail to Display an Entry for the Current Date After Navigation
Problems with Queries Containing a Bind Variable and a String with Two Dashes
Runtime Errors in an Application Imported from a Previous Release
Some Dynamic Action When Condition Types Not Applicable for Certain Events
Issues With Deleting Dynamic Actions Having a Region Defined
JavaScript Function Not Working When Setting Multiple Values of a Multiselect List
Query Editor in Access Migration Project Not Functioning Correctly
Tip:
This section is current as of the writing of this document. To view the most current listing of known issues, go to the Known Issues page available off the Downloads page. See:http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
In application pages that use the jQuery Mobile Smartphone User Interface Type, it is not possible to use the Dynamic Action Refresh to refresh classic report regions. The AJAX call will return with an error and the report will not be updated.
This issue is tracked with Oracle bug 14399349.
Workaround:
A possible workaround to consider is to submit the entire page in order to refresh the report (which jQuery Mobile will process as a partial page refresh using its native page transitioning). This obviously won't be as light a request as a true Dynamic Action Refresh and will of course refresh the entire page, but is a possible alternative. How to submit the page depends on how you are refreshing the report:
For Dynamic Actions, you can use the Submit Page action, with Show Processing set to No.
For Buttons, use the Action When Button Clicked of Submit Page.
For some native item types, there is a Page Action When Value Changes setting, which can be set to Submit Page.
Please also note that submitting the page will cause other Page Processing functionality (computations, validations, processes and branches) to be considered for processing, so whether these should or should not fire can be controlled, based on the REQUEST value for the submit.
The default behavior when running a calendar page is that the month-grid is rendered, and wherever you have entries, a blue dot is displayed in the month grid. If you tap on a field with a blue dot, the date entry is displayed underneath the month grid. If you happen to run the current month, and there's a date entry for today, then that date entry is shown on load of that page, without you having to tap on today. Now if you navigate forward and backwards, using the Next or Previous buttons, using the default AJAX navigation, the current date entry, if one exists, is not shown on load.
This issue is tracked with Oracle bug 14532665.
Workaround:
After navigation, tap on today to see details of the date entry underneath the month grid.
When you set a dynamic action to refresh a region where the region template is defined as No Template, the region will not be refreshed. This is due to the fact that No Template does not have a Region Id which is required by Dynamic Actions.
Workaround:
Define a Template, for example "Blank" with the following:
<section id="#REGION_STATIC_ID#" #REGION_ATTRIBUTES#> <div> #BODY# <div> </section>
If you experience problems displaying AnyMap maps in Chrome 21, where the region appears blank and no map is visible, try disabling the Pepper-based Flash Player. To disable the Pepper-base Flash Player in Chrome 21:
Launch the Chrome 21 browser.
Type chrome://plugins
in search field.
Under the Flash plug-ins list, expand the Details node to the right of the Plug-ins title.
Locate the PEPFLASHPLAYER.dll
Shockwave Flash plug-in, and click Disable.
See Also:
AnyMap Maps Display problem in Chrome 21 knowledgebase article on the AnyChart website: http://www.anychart.com/supportdesk/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=50If you experience problems with an SVG chart, try upgrading the chart to a Flash chart.
To upgrade an SVG chart to Flash:
Navigate to the appropriate Page Definition.
Under Regions, click the region name. The region name displays to the left of SVG Chart.
On the Region Definition, click Upgrade SVG Chart to Flash Chart on the Tasks list.
Click Upgrade.
See Also:
"Creating Charts" in Oracle Application Express Application Builder User's GuideCreating a report region based on a query that contains a string with two dashes may hinder the Application Express Engine's ability to handle item bind variable references. Consider the following example:
SELECT ename, job, sal, comm, deptno FROM emp WHERE instr ('-'||'-dash-'||'-','uu') = 0 AND deptno = :P18_X AND 1 = 1
Workaround:
You can correct this behavior by changing the bind variable format. For example, to correct this issue in the previous example you would change :P18_X
to v('P18_X')
.
If you import spreadsheet data by copying and pasting and a column value contains a double quotation mark, the data will not import correctly (for example, 54" Plasma Flat Screen
). To avoid this problem, you have two options:
Option 1:
Save the data in a delimited format (such as comma-delimited (.csv) or tab-delimited).
Use Import Text Data wizard to upload and import the saved file.
Option 2:
Replace the quotation mark with two double quotation marks as shown in the following example:
54"" Plasma Flat Screen
Use the Import Spreadsheet Data wizard to import the file.
If you export an application from an earlier Oracle Application Express release and then import and install it using the installation pages in Application Builder, in rare situations you may encounter runtime errors after the application installs.
These errors often manifest themselves as PL/SQL parser or execution errors pertaining to blocks of PL/SQL code embedded within application components. The installation process sometimes splits strings greater than 200 characters into multiple lines. For example, lines may split between PL/SQL keywords, or at other places that cause parsing errors.
Workaround:
If you encounter these types of errors and suspect the installation process has split large strings:
Isolate the failing component containing the suspect PL/SQL within the application by editing the failing page in Application Builder.
Locate the blocks of code that appear to split incorrectly.
Attempt to split the blocks of code in more appropriate places, or insert white space with the lines until no runtime errors are observed.
Export the application, import the export file, and then reinstall it.
Retain the new export file as a permanent backup copy.
The following restriction applies to features in Oracle Application Express that require DBA authentication (for example, the Session report on the Database Monitor page). The DBA account used for authentication must not require double-quoting. In other words, it cannot be lower or mixed case.
When migrating a Microsoft Access application to an Oracle Application Express application, you export your Microsoft Access metadata using the Exporter tool. Note that Exporter Tool for Microsoft Access supports Microsoft Access 97, Microsoft Access 2000, Microsoft Access 2002, Microsoft Access 2003, and Microsoft Access 2007.
There are problems creating a map of Brazil because the region Distrito Federal is not independent of the surrounding state Goias. As a result, any associated data is not displaying correctly on the map.
This issue is tracked with Oracle bug 9725582.
To display all data points associated with an AnyChart 5 or higher chart, generated in Oracle Application Express release 4.0 or later, each data point must have a unique label. AnyChart 5 does not support the display of data points with duplicate labels, and the occurrence of duplicate labels will result in missing data points on your chart. Ensure that the chart series query returns a result set with a unique label for each data point to be displayed on your chart.
The following themes do not support custom calendars:
Theme 8
Theme 10
Theme 13
Theme 14
Theme 15
Theme 16
Theme 18
Theme 19
Theme 20
Theme 24
If a session expires after the point when a page containing in interactive report region has been displayed and the user tries to interact with the interactive report, the report hangs and does nothing.
This issue is tracked with Oracle bug 9690335.
When defining a dynamic action in When attributes, there is an Event select list containing all the possible events that can trigger the dynamic action. Also in the When attributes is a Condition select list which enables you to define a condition that controls when the dynamic action runs. For the following event types only a condition type of JavaScript Expression works: Before Page Submit
, Page Load
, Page Unload
, and Resize
(which hides the Selection Type fields. The other condition types (equal to
, is null
, and so on) are for events where the Selection Type is defined.
This issue is tracked with Oracle bug 9733317.
If you delete a region which is assigned as the affected element to a dynamic action, you are prompted to delete the dynamic action. If that dynamic action also has other actions which are not related to this region, the whole dynamic action is still deleted, rather than just the specific action that references the region.
Workaround:
To avoid the deletion of the entire dynamic action, prior to deleting the region, delete the referencing action from the dynamic action. As a result, the region delete will not pick up that dynamic action as a candidate to delete and the dynamic action will not be deleted.
This issue is tracked with Oracle bug 9615853.
The JavaScript function $s
enables you to set the value or values of both native and plug-in item types in Oracle Application Express. This function does not work for setting more than one value of a multiselect list. A multiselect list is a select list with Allow Multiple Selection set to Yes. Setting single values will work.
This issue is tracked with Oracle bug 9616570.
If you see errors prefixed with "Warning: Websheet schema" in the upgrade log, they are specific to a user's Websheet schema. Those schemas may have invalid Websheet objects that caused the Websheet object upgrade to fail. This should not impact the overall upgrade of Oracle Application Express.
This section describes accessibility bugs and known issues for Oracle Application Express.
Affecting the Application Express Development Environment:
Sub-menu drill down icons in the top level navigation menu are not keyboard accessible in IE. This issue is tracked with Oracle bug 12678997.
Workaround:
Tab to and activate the top level menu item, then on the subsequent loaded page, navigate to the specific sub-component or use one of the other supported browsers (Firefox, Chrome or Safari).
The 'Tree View' used on the 'Page Definition' page is not usable with the keyboard. This issue is tracked with Oracle bug 9773584.
Workaround:
This page has an alternative view available called 'Component View', which should be used if using keyboard only. 'Component View' can be enabled by either tabbing to the 'Switch to Component View' button at the top of this page and pressing 'ENTER' or by using the Application Express development environment with screen reader mode enabled.
The Code Editor used in a few places hijacks the TAB key in Chrome and Safari. This means that in these browsers a keyboard-only user cannot tab away from the editor. This issue is tracked with Oracle bug 11883419.
Workaround:
Use one of our other supported browsers (Internet Explorer or Firefox) where this is not an issue.
The 'Request Workspace' confirmation page contains inaccessible 'Captcha' style verification. Users must enter alphanumeric characters displayed in an image on-screen, however, this image has no ALT text by design. This means this is not accessible to screen reader users. This issue is tracked with Oracle bug 11728600.
Workaround:
The instance administrator can choose to disable the 'Captcha' style verification.
Reports can contain a 'Check All' checkbox in the column header. This checkbox is sometimes missing descriptive text. This issue is tracked with Oracle bug 12612649.
Workaround:
Check the individual check boxes on each row for that column.
Interactive report regions used throughout the Oracle Application Express development environment do not include a HEADING (H1, H2, etc.) tag containing the region title. This makes it hard for screen reader users to easily identify such regions. This issue is tracked with Oracle bug 9780852.
Workarounds:
In order to easily navigate to the content in the interactive report region, go directly to the search field at the top of the interactive report with JAWS by:
1. Press INSERT + F5 to load the Select a Form Field dialog box.
2. Press the S key repeatedly until you hear "Search Report Edit".
3. This is the field at the top of the report. It is usually the first form field beginning with the letter S.
4. Press ENTER and JAWS takes you to the search field at the top of the interactive report region.
To further your understanding of what the report contains, switch the report to Report view. When running in Screen Reader Mode, interactive report regions are optimized to run in Report view. To learn more, see "About Screen Reader Mode" section of "Accessibility in Oracle Application Express" Appendix in the Oracle Application Express Application Builder User's Guide.
To enable Report view for an interactive report region:
1. Press INSERT + F7 to load the links List dialog box.
2. Press the V key repeatedly until you hear, "View Report".
3. Press ENTER to refresh the interactive report.
4. To get detailed information relating to what data the report contains, press T and JAWS announces detailed information relating to this report.
Affecting the Application Express Websheet Runtime:
The top level menus used to navigate around the application and the 'Settings' menu available when editing 'Sections' on a page, do not follow the DHTML Style Guidelines for keyboard support. This issue is tracked with Oracle bug 12691947.
Workaround:
They are however accessible via tabbing to the menu and respective menu items. We also provide keyboard shortcuts for menu items available.
Affecting Development Environment, Websheet Runtime and Custom Applications:
The 'Rich Text Editor' native item type of Application Express is announced by the screen reader referring the item's name, rather than the label. This issue is tracked with Oracle bug 12702214.
Workaround:
Ensure the name given to the item is representative of its functionality and understandable by the end user.
For Interactive Report Regions, column aliases containing spaces cause invalid table markup.
For Interactive Report Regions, if the report query contains column aliases that contain spaces, Application Express will generate ID and HEADERS values that also contain spaces, which is invalid HTML. For IDs, spaces are invalid and for HEADERS, spaces are used to demarcate different HEADERS values. This invalid HTML may result in some Assistive Technologies (for example screen readers) no longer perceiving the association between a cell in a table, and it's column header.
This issue is tracked with Oracle bug 14025528.
Workaround:
The workaround is to not use spaces in any column aliases defined in Interactive Report Region queries. Then the ID and HEADERS values will be generated correctly, and will provide the association required by Assistive Technologies.
When using the AquaLight or AquaDark style for 2D Column and Bar Flash charts to represent data ranging from a low value to a high value, shading may appear on top of the lower value, making it appear larger than the value it actually represents.
This issue is tracked with Oracle bug 13898096.
Workaround:
If you encounter this type of behavior when using the AquaLight or AquaDark style, edit the Chart Attributes and change the Style setting to one of the following:
Silver
Default
In application pages that use the jQuery Mobile Smartphone User Interface Type and the page item type "File Upload...", uploading a file will have no effect.
This issue is tracked with Oracle bug 14651423.
Workaround:
Instruct jQuery Mobile to submit the page and not use an AJAX call.
Edit Page Attributes
Go to region "JavaScript" and enter into the attribute "Execute when Page Loads":
$("#wwvFlowForm", apex.gPageContext$).attr("data-ajax", false);
Note:
This disables the visual page transition effect.The Query Editor page in an Access Migration project is not functioning correctly due to an invalid CSS file reference in the page template.
This issue is tracked with Oracle bug 14683230.
Workaround:
Navigate to SQL Workshop and then to Object Browser, to edit or create an Oracle view associated with an Access Migration Project.
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
.
Oracle customers 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.
Accessibility of Code Examples in Documentation
Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.
Accessibility of Links to External Web Sites in Documentation
This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.
Oracle Application Express Release Notes, Release 4.2 for Oracle Database 12c
E17957-06
Copyright © 2013, 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, 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 on 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. 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.