|EA3||Supporting objects can be edited by any developers in the workspace. It would be nice to lock supporting objects script to prevent someone else editing the script while a developer is working on it. This should be similar to page locking in the builder.
1. Supporting objects install and upgrade scripts can be locked by a workspace developer. Deinstall script cannot be locked in 5.0 (see reason in progress entry below).
2. Developers can lock script by clicking lock icon from the report view or script properties page (4000:328) by clicking on the script name.
3. When script is locked by someone, the edit icon from the report view does not display. Developers can click on the script name to view read only script properties along with script source. Ability to view lock history and steal lock is available. Steal lock allows developer to steal someone else's lock.
4. When script is locked by the developer, they can edit the script, unlock or change the lock comment.
|EA3||Accessibility testing of the default components contained in the Universal Theme, providing a solid base for applications built using the Universal Theme to aim to be highly accessible and usable to users with a disability. This includes a broad spectrum of testing, including keyboard-only, zoom and with the screen reader JAWS. In the Universal Theme, testing has been carried out on all templates, template options and the default Theme Style 'Blue'.|
|EA3||Accessibility testing has been performed on all of the native item types built into Application Express. This includes a broad spectrum of testing, including keyboard-only, zoom and with the screen reader JAWS.|
|EA3||There are a number of bugs currently in APEX relating to issues with item labels, specifically relating to the case when the item is a non-standard form element (eg Shuttle, Checkbox, Radio, Wizard Progress, Code Editor, etc.), and this feature designed to fix as many of these as possible|
|EA3||Defined and managed in the list template, attributes are provided to define the substitution string label. List templates make use of A01, A02 etc, but the use is not obvious to the application developer.|
|EA3||Various Flash chart enhancements have been made:
1) Add ability to define a "Line" series for a Scatter plot chart.
2) Add the ability to set minimun and maximum values for the extra Y-axis, created when 'Multiple Y-Axis' display option selected.
3) Apply smart mode to axes, to avoid duplicate data being represented on the axes i.e auto_calculation_mode="Smart".
|EA3||Modify tabular form wizards to create the proper item types for identity columns. Also ensure MRU process can handle identity columns. Finally, make the data tab insert/update of Object Browser in SQL Workshop work with Identity Always columns.|
|EA3||This feature tracks the improvements made to Region Display Selector to make it more accessible and to improve its usability., Including -
- Mode: Standard / Jump - standard for old and new.
- Include 'Show All': (only when Mode = Standard) (true by default)
- Remember Last Position: true by default
Application attribute (under Shared Components -> Component Settings)
- Handle Overflow: true by default, false for old applications.
The functionality of the tree region is the same with the exception that the Template attribute does not apply to the new treeView. Just the look, usability, and accessibility is improved.
|EA3||Changes made to the plug-in architecture|
|EA3||Add new flag "Show in Wizard" to plug-in attribute configuration to allow to specify if a plug-in attribute should be displayed in the Create wizards (i.e. Create Page/Create Region/Create Item/... wizard).|
|EA3||The following new features have been added for List of Values of Plug-In 'Custom Attributes'.
- Help Text
- Quick Pick
The library name is staticSearch.js
This plugin will use the existing apex plugin infrastructure to make this library an apex plugin so that it is easier to use and configure.
staticSearch.js operates on an array of key-value json objects, called the "data set". By passing a "mapping" argument at the staticSearch's intialization, a user can specify which fields should be included, what priority each field should have, and if there are special modes to render those fields, e.g. parse as "HTML" and ignore all well-formed tags. Unlike existing highlight libraries which must search for words in order and presents unchanged markup, staticSearch matches the words in any order and also automatically handles highlighting of the search terms found.
The speed of staticSearch depends on the complexity of the query, the size of the data set, and the number of keys specified by the mapping argument. Thus it works best on either large but "simple" data sets (only 2-3 fields to search through) or "complex" (multiple fields, each with great length) but small data sets, e.g. the packaged applications gallery.
|EA3||Setting 'Source Used' to 'Only when current value in session state is null' for a page item of type 'Database Column' is very dangerous, because after submitting the page and viewing a different record, APEX will not fetch the value from the new record. When the page gets submitted again, the wrong value will be updated in the database.
The APEX runtime engine raises an error if Compatibility Mode = 5.0 and a page item of type database column uses 'Only when current value in session state is null'. Associating it with the Compatibility Mode will prevent that we break existing applications.
|EA3||As UDDI browsing and SOAP style web services are rarely used today, the choice to browse a UDDI repository is irrelevant.|
|EA3||It is now possible to scope a team development feature to a specific page, just as you can do for bugs, to dos, and feedback. The Module is now Module/Page and is an "enterable" popup list of values, so that modules can still be entered. Once an application is entered then the list of values will show pages for that application.
|EA3||Under shared components and plugins, LOVs, authentication, authorization, ... you can see a report which lists the plugins, LOVs. This list now shows "Subscribed From", and "Subscribers" so you readily see how each component is subscribed.|
|EA3||Allow developers to copy plug-ins from another application or from scratch. If you choose from another application it lists the plugins with a select list (do not copy, copy, copy and subscribe). |
|EA3||Improve the accessibility of List View in Calendar as this is the default view for accessibility.|
|EA3||The underlying code has been improved to better handle large data sets being uploaded.|
|EA3||Add fixed header support to Interactive Report regions in APEX. Fixed header means that the header will remain fixed in position on screen when the user is scrolling down the page, so the header context remains visible for lower rows.|
|EA3||Update of all the wizards that previously restricted more than one Interactive Report on a page.|
|EA3||Once the end user defines a report setting, such as a filter or computation, these settings are displayed below the report toolbar. Improvements have been made to control breaks, flashback, and view edit links (such as for charts) have been improved so they can be edited by clicking directly on the setting. Previously users would need to navigate back into that setting or it was displayed in plain text. |
|EA3||Modernize the UI of Interactive Reports. Cleaner and more semantic HTML markup. Updated styling.|
|EA3||In interactive report dialogs, columns not displayed in the report are not ordered alphabetically. This makes it hard for end users to find columns to create any report settings using the dialogs (i.e. display, filter, sort or control break, etc). Displaying non-displayed columns alphabetically will improve user experience.
|EA3||jQuery Mobile provides support for panels, i.e. regions that can be shown on the screen on demand, either by sliding into the visible area, or overlaying the current page content. Panels can be used for navigation, menus, forms, inspectors and more.|
|EA3||Added new type "Dialog Return Item" to the "Set Value" dynamic action. This set type allows to read the return item of a dialog and assign it to a page item of the current page.|
|EA3||Through the use of CSS, supports the ability to customize the appearance of a dialog via the specification of a CSS class. Using this approach offers more control over the styling of a dialog, whether it be to specify a warning or error message. The CSS class setting is at page level and page template level. We should incorporate one page template with an option to apply a class (offering multiple to the user), to control the appearance of the dialog.|
|EA3||In support of the revised Packaged Application interface, APEX 5.0 will support the provisioning of a Packaged Applications Only workspace. This workspace will allow users to do the following, depending on their privilege:
1. Log into Packaged Apps-only workspace.
2. Install and run Packaged Applications
* Manage Users - Create/Edit users; Change Password
* Manage Service - Set Workspace Preferences
* Request a Workspace
4. Edit Profile
5. Edit Preferences
1. Log into Packaged Apps-only workspace.
2. Install and run Packaged Applications
* Change Password
* Request a Workspace
4. Edit Profile
5. Edit Preferences
Should not have the ability to log into a Packaged Apps-only workspace.
|EA3||The Signup wizard exposes an option to select the type of workspace that the user wishes to request, either a full Application Builder Development or Packaged Application Installation Only option. The latter option ties in with the introduction of the new 'Apps' tab in APEX 5.0 i.e. app 4750.
This feature ties in with the introduction of a new Packaged Applications Only workspace, to access the revised Packaged Application interface, app 4750.
|EA3||How many characters to indent program text is a personal preference that many people feel strongly about. Currently the text editor has a fixed tab size of 4 characters. The feature adds configuration options (consistent across all instances of the text editor) for tab size and other options as well. Access these settings by going to the Settings drop-down within the text editor.|
|EA3||Provides a special pop-up which is displayed from Property Editor when an attribute is specified as Link to Target Page / URL. This allows the developer to define the link fully using available items and substitution variables, clear cache, and so forth.|
|EA3||Once on Page Designer, clicking on the Help icon, in the top right of the navigation bar will list 'Getting Started in Page Designer'. This page gives a breakdown of the main panes and the toolbar options.|
|EA3||Clean up of security related advisor checks and add checks for new 5.0 features.
The advisor checks below were added to the security section.
Application attributes that can be locked down:
- Runtime API Usage
- Page is not protected by an authorization scheme.
- On Demand application process is not protected by an authorization scheme.
- integrated "Target Page Authorization equals current Component Authorization" checks that previously were a separate item
Session State Protection
- "Bookmark Hash Function" is set to a legacy algorithm (i.e. set to "MD5").
- "Session State Protection" is disabled at application level.
- A page with a fetch process should use Page Access Protection.
Browser Security Settings
- "HTML Escaping Mode" only escapes a limited set of characters (i.e. set to "Basic").
- "Embed in Frames" leaves the application vulnerable to clickjacking attacks (i.e. set to "Allow").
- "Cache" allows the browser to cache sensitive data (i.e. set to "Enabled").
- Autocomplete (page attribute) is set to "On" for a page that contains password items.
|EA3||The "REQUEST" value is now included in the Application Express activity logs. This helps facilitate debugging.|
|EA3||his feature tracks the change of terminology of Login / Logout to Sign In / Sign Out in the following places:
1. When accessing a workspace
2. When accessing Instance Administration
3. When accessing a Websheet / Packaged Application
Note: User-created APEX applications will use "Log In" and "Log Out" (rather than Login / Logout).
|EA3||By default Session State Protection is enabled when creating new applications, or new pages.|
|EA3||If the URL does not contain items, the checksum type defaults to Session Level as before. Otherwise, the checksum is based on the highest Session State Protection level of the given items.|
|EA3||Add the possibility to include user interface specific CSS files which are loaded for every page. With application wide CSS files, developers will be able to provide additional CSS classes used on multiple pages of the application. Those CSS classes will be independent of the CSS defined by the theme or on page level.|
|EA3||APEX previously allowed only individual templates to be subscribed to a master theme within the same work. With APEX 5.0 this is extended to allow for subscribing entire themes, including all templates, template options and theme styles. Further this feature will also allow having themes be subscribed to one of the built-in standard themes, this will enable customers to refresh themes with future upgrades of APEX, without having to temporarily switch to a different theme and then back to an updated version of the current theme.
When a theme is subscribed, most theme attributes, all subscribed template options and all subscribed templates are set to be read-only. When editing the theme attributes, only the default templates can be changed, when opening the template or theme style edit pages, that meta data can’t be modified. Developers who wish to modify a template without breaking the subscription to the master theme, can do so by creating a local copy of a template. Local copies are not subscribed ot the master and are thus editable. Local templates are not updated when the theme gets refreshed. The same concept applies to theme styles. It is possible to add custom theme styles to a subscribed theme. These theme styles will be editable and will be excluded from any theme refresh actions.
When creating a new application with the create application wizard, and selecting one of the standard themes, the theme is subscribed to the master theme by default. This means that neither the theme, nor template or theme styles are editable after the application got generated initially. Developers have the ability to unsubscribe a theme if they wish, or to create local copies of templates if they wish to make minor changes. In general, the recommendation is to no unsubscribe a theme and thus ensure future upgradeability and instead add custom theme styles to a theme and modify the custom theme style to match the desired look & feel.
It is also possible to subscribe a theme to a theme within the current workspace. The create application wizard provides the option to copy shared components from another application, which includes themes, and when selecting themes, developers can choose to copy and subscribe the theme. For existing applications, customers can create a new theme in their application, by copying a theme from another application or from the repository. Both options allow for subscribing the theme.
Subscribed themes can be refreshed from the master theme by navigating to the theme edit page and pressing the refresh button. For master themes in the same workspace it is also possible to publish changes to all subscribing themes by navigating to the theme edit page and pressing the publish button. Changes to individual templates can also be published to all subscribing templates by pressing the publish button on the template edit page.
Themes can be unsubscribed by pressing the unsubscribe button on the theme edit page. Unsubscribing a theme removes all references from the theme, theme styles and templates to their master records. Once unsubscribed, a theme can not be easily re-subscribed. To revert back to a subscribed theme, developers will typically have to create another subscribed theme in their current application and then switch to that new theme. There’s also an option to restore a theme subscription, which uses simple template name matching, but this method might be insufficient, in cases when a theme already go heavily modified, templates were renamed and new templates were created.
|EA3||This feature is about adding a new column and substitution string that allows a developer to configure css classes for their grid layout columns. The substitution string, #CSS_CLASSES# can be used in the grid column template defined in the page template. A new column will need to be exposed in property editor and classic edit pages for Column CSS Classes.|
|EA3||APEX navigation bars are not fully modern but are sufficient for typical use cases and broadly used within the product for login, logout and feedback links. To implement fully modern and responsive navigation controls it is desirable to have a list based implementation. So this feature is to allow user to select the mode in which they would like the #NAVIGATION_BAR# to be substituted in the page template, via nav bar entries or as a list.|
|EA3||Allow non universal themes to be migrated to a universal theme based application. This will require that we do not enforce template classes which allows you to move most every region template used in non universal themes to a standard region. Also need to reset the grid so that you can see forms.|
|EA3||Theme Roller is a feature that will enable APEX developers to easily customize the appearance of their application by simply selecting some colors with a color picker and setting some values. Theme roller will be integrated into the builder and will tie into the Theme Styles of a given theme. |
|EA3||#CURRENT_PROGRESS# - Available in the 'Before List Entry > List Template Before Rows' attribute of a list template. Useful as a heading in a wizard progress style list region, heading could be hidden and audible if designed only for consumption by screen readers. Uses the 'APEX.CURRENT_PROGRESS' internal system message that defaults to 'Current Progress' text, but can be overwritten in custom applications by defining a text message with the same name and the desired text.
#REGION_TITLE# - Makes the region title available for use in the 'Before List Entry > List Template Before Rows' attribute of a list template.
|EA3||For universal theme based apps allow for global navigation to be on the top or side. Two additional attributes- the list template and the position. To see these attribute edit the application properties of an application that uses the universal theme, click "user interface" tab, click "desktop" theme, see new global navigation region and see the new attributes.|
|EA3||Websheets now use the new menu widget for the main menu and breadcrumb menu. The breadcrumb menu bar now requires a click to open the menu rather than hover.|