| (-) APEX 4.2 Other Features||941||Numerous features and performance improvements|
|... Advanced transformation rules in Data Upload feature||831||EA1||Data Transformation rules that are used within data upload feature, are very basic so far. This will introduced most of other useful expressions - plsql , etc|
|... Allow Focus Area names to be changed in Team Development||975||EA1||From the team development features tab you can click a task called "manage focus area names". Additionally from the features "focus area" tab you can click a button called "manage" and you can also navigate to the same manage functionality. You can change the name of any given focus area, for example from "Productttivity" to "Productivity"|
|... Component Settings||895||EA1||Plug-In attributes of scope "Application" are currently stored within the plug-in definition. If an existing plug-in is getting replaced or if the subscribe mechanism is used those modified settings will always be overwritten and destroyed. |
To make these application wide settings independent of the plug-in and to also provide application level settings for native plug-ins a new shared component named "Component Settings" has been added. It will allow you to edit all native plug-ins and installed plug-ins which have custom attributes of scope "Application".
Plug-ins have an option "Subscribe Component Settings" (Y/N) to specify if the component settings of the plug-in in the master application should be subscribed or the local settings should be used.
|... Control Deep-Linking at the application level||878||EA2||Provide a feature which prevents deep-linking to an application. Deep-linking into an application can be either be enabled or disabled.
When disabled session state within a URL call is ignored and the user is sent to the home page.
|... Debug API Improvements||981||EA1||Re-designed Debug API called apex_debug.
This is renamed from apex_debug_message, but the old synonym is still in place for compatibility.
** apex_debug.error('Level 1 - Critical error %s occurred - this will always be logged', sqlerrm);
** apex_debug.warn('Level 2 - Non-critical error %s occurred - this will be logged if debug is enabled or the developer is logged into the builder', sqlerrm);
** apex_debug.info('Level 4 - high-level debug message');
** apex_debug.enter('my_procedure', 'p_arg1', p_arg1, 'p_other_arg', p_other_arg);
** apex_debug.trace('Level 6 - low-level debug message');
** apex_debug.message('General-purpose API call to emit the ultimate answer %s at level 3, even if debug is disabled', 42, p_level => 3, p_force => true );
|... Debug Mode should always work if application is executed from APEX Builder||482||EA1||Debugging of an application should always work if the application is executed from the APEX Builder. The application setting "Debugging" should only be used when the application is directly called.
This will add additional security, because by default the "Debugging" flag could be set to No, because in most cases it's required in a development environment only. This will also prevent that it's forgotten to be set back when the application is exported for a test/production system.
|... Debug improvements||943||EA1||Debug Levels - APEX now makes better use of different debug levels when debugging is enabled. It is now possible to enter LEVEL1 - LEVEL9 to control the level of debug detail.
Debug Popup Window - The overview has a new column "Path Info". In the detailed debug rows interactive report, the new column "Call Stack" (not shown by default) displays the PL/SQL call stack for the debug message call. This column only contains values if the log level is 9.
|... Default page zero to "no URL access"||919||EA1||When creating page zero via an apex wizard default the page security attribute to no URL access. Making page zero secure by default is good coding practice, and most applications have no reason to run page zero.|
|... Deprecate "DML Fetch Mode" of "Automated Row Fetch" processes||948||EA1||Deprecate the option "Set Memory Cache On Display" of the "DML Fetch Mode" attribute of "Automated Row Fetch" processes. "Automated Row Fetch" processes should always use the "Set Memory Cache On Fetch" option to avoid confusions and unnecessary digging why session state isn't set.|
The "DML Fetch Mode" attribute will only be visible if the DML currently is using "Set Memory Cache On Display". New processes will never show that attribute anymore.
|... Expose "Compatibility Mode" attribute in Application Properties||949||EA1||Expose the "Compatibility Mode" attribute in "Edit Application Properties"|
|... Globalization: allow grid editing of translated text||1014||EA2||Text Messages now support grid editing in Application Express 4.2. At the request of a customer in EA1, it would improve productivity to be able to Grid Edit the translation repository.|
|... Grid Edit of text messages||938||EA1||To improve productivity of editing translatable text strings in APEX a new grid edit capabilities has been provided|
|... Improve Usability of Supporting Objects||891||EA1||Enhance the usability of Supporting Objects by allowing list of supported object to be filtered using an interactive report. Additionally add ability to resequence (by increments of 10) existing supporting object scripts.|
|... Improve creation of On-Demand processes||750||EA1||Minor enhancements to the creation of On Demand processes:
1) During the creation of on-demand application level processes, inform the developer that ideally, these should be created on the page level.
2) Default the creation of application-level processes to have an initial authorization scheme of "Must Not Be Public User". This will avoid the application level process being executed by users in unauthenticated sessions.
|... Improvements to failed login handling||899||EA1||The ability to lockout an account for a period of time long enough to deter brute force attacks has been implemented. This is triggered when a configurable threshold for the maximum number of failed authentication attempts is exceeded.|
|... Increase Page Item Limit on page to 200||820||EA1||Change the limit on the number of enterable items on a page from 100 to 200.|
|... Integrate latest AnyGantt version||846||EA1||Integrate the latest version of AnyGantt, release 4.2.0|
|... Integration of new CKEditor 3.6.2 with Apex||898||EA1||Integration of New CKEditor 3.6.2 with Apex. Many bugs including Translation issues are fixed and IOS 5.0 support provided in the new version.|
|... Make authorization on application level optional for public pages||621||EA1||Add a flag to authorization on application level to only enable it for pages that require authentication.|
|... Named branches||872||EA1||Add support for developer-provided branch names.|
|... New attribute - Show Page Items above/below region content||278||EA1||Regions have an attribute "Items Display Position" with the values|
Currently this is stored within the display points (Page Template Body 1 - 3) and hard-coded for the others (Region Position 1 - x), which is very in-flexible.
|... New built-in APP_SESSION_VISIBLE||877||EA1||Provide a built-in substitution which should be used for Public applications that use session ID 0.|
|... New function APEX_ESCAPE.SELECTIVE_ESCAPE||925||EA1||A new function that can escape common simple HTML tags but not others. This can be used to escape HTML entered into database data, yet not escape common formatting HTML such as <h2>, <p>, <br />, <ul> etc. Can help to reduce XSS vulnurabilities.|
|... RESTful Web Services||863||EA2||Include the ability to define RESTful Web Service calls from the database.|
|... Read-Only attribute at Page and Region level||570||EA1||Currently we support read only at the item level, but not at the page or region level. This makes it inefficient and slow to show read only data.|
|... Remove the restriction that on-demand processes can't have a condition or authorization||751||EA1||Currently on-demand processes don't include the ability to define authorization or conditions. This has been incorporated to provide the same options for on-demand processes as for other components.|
|... Shared session state across applications ("global" variables)||897||EA1||Large logical application are often separated into several physical apps that live in the same workspace and share the same session. This can be implemented by configuring the same cookie name in these applications.|
The applications often also need to share a few global state variables. While the number of these items should be kept small, they are an important means for inter-application communication. Examples are
- additional properties of the current user (email address, employee number, ...)
- current company in a multi-tenant application
This feature will implement these variables. They are implemented as an extension to application items. If application items with the same name in different applications have scope "Global", the Apex runtime will access the same session state from within each application.
|... Support for attachments within Team Development||1007||EA2||Allow file attachments for bugs, todo, and features.|
|... Update to most recent jQuery and jQuery UI versions||875||EA1||Update to the latest available version of the jQuery and jQuery UI versions. This also now needs to be compatible with the version of jQuery Mobile we ship with.|