Oracle ADF 12.2.1.4 - Key New Features

This table lists some of the key new features added to Oracle ADF 12.2.1.4. List is organized by areas of the framework

Area Topic Description Doc Link
ADF REST RT REST: SUPPORT UPSERT OPERATION Using a POST method with Upsert mode enabled, the ADF REST runtime supports updating resource items that exist, and if not, creating the resource items. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-429CA0AE-3C0E-4D1E-A6DB-4CD75B5E77BF
ADF REST RT CASE-INSENSITIVE SORTING You can perform case-insensitive sorting on a resource collection using a GET method, by using the orderBy query string parameter with upper(attrName) or lower(attrName). https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-FB431022-6270-4B11-BA63-B8ACCE97C6AB
ADF REST RT RETRIEVE A MINIMAL CATALOG DESCRIBE FOR DISCOVERING RESOURCE ADF REST runtime supports describing all available resources while retrieving a reduced amount of information for the application end point using a GET method. The reduced or minimal catalog describe helps improve the readability of the describe by limiting the resource information to resource titles, links, and available annotations. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-95EDE830-9206-44C5-A83F-E571A0593804
ADF REST RT RETRIEVE A MINIMAL CATALOG WITHOUT METADATA ADF REST runtime support describing resources as a list of names and links without metadata. If you do not want any metadata in the response but only self links, you can append ?metadataMode=list to the describe request. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-E1EF2E56-0EFA-4239-8DBA-B044245A066C
ADF REST RT ALLOW FILTERING OF RESOURCES IN CATALOG LEVEL DESCRIBE REST APIs support describing two or more named resource collections. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-D13FD0F0-6273-4A3F-820C-463B90DE988F
ADF REST RT FRAMEWORK VERSION 7 - OPTION TO HIDE LOV'S FROM REST DESCRIBE The ADF REST runtime framework identified as version 7 is available starting with JDeveloper release 12.2.1.4.0. This framework version supports top-level LOVs, and removes row-level LOV resource descriptions in the ADF REST describe and removes links from the resource item payload links section. Earlier framework versions support LOV in a context of a row in the REST resource. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-9F6BC67D-453E-4E97-B397-DC662A4D4325
ADF REST RT FRAMEWORK VERSION 6 - MOVE CHANGE INDICATOR FROM UNDER SELF LINK PROPERTIES TO BE UNDER @CONTEXT The ADF REST runtime framework identified as version 6 is available starting with JDeveloper release 12.2.1.4.0. The purpose of this framework version is to easily differentiate between the resource fields and the item context information like links and headers. A new element @context is introduced in this version and all the information for an item is moved under @context. The changeIndicator value is moved to ETag, which is under headers. A new context information key is included under @context that contains the unique identifier of the specific resource item as a string. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-9F6BC67D-453E-4E97-B397-DC662A4D4325
ADF REST RT FRAMEWORK VERSION 5 - SUPPORT COMPLEX TYPE IN REST CUSTOM METHOD  The ADF REST runtime framework identified as version 5 is available starting with JDeveloper release 12.2.1.4.0. In versions 4 and earlier you might pick a nested resource as an LOV target. For example: /rest/v1/States/California/Cities. In versions 5 and later you use filtering to access the nested LOV resource instead, for example: /rest/v1/Cities?finder=ByState;name='California'. With this framework version, the row context LOV URLs are no longer returned in the payload and in the describe. Only LOV resource URLs that point to top-level resources are described and included in the payloads. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-9F6BC67D-453E-4E97-B397-DC662A4D4325
ADF REST RT FRAMEWORK VERSION 4 - REST STD: EXCEPTION DETAIL PAYLOAD  The ADF REST runtime framework identified as version 4 is available starting with JDeveloper release 12.2.1.4.0. In addition to HTTP status codes and error messages, it is possible to obtain exception details in the response when your request is enabled to use ADF REST framework version 4 and the request is made for either application/vnd.oracle.adf.error+json or application/json media types. With framework version 4, the response will be in the form an exception detail payload which provides details of the errors, potential ADF exception for the error, and an error path that identifies the location of the error in the rquest payload structure. With framework version 3 or earlier, error responses are in the form of a simple message string. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-43E52500-13CE-4196-9FE4-95922CEC1AB5
ADF REST RT GET QUERY SUPPORT FOR SPECIAL CHARACTERS ADF REST runtime provides improved support for literal values in GET method query parameter names and values. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/consuming-adf-restful-web-services.html#GUID-153423F0-825C-4D53-91C8-6881A78855DE
ADF REST DT "INCLUDE IN COMPACT VIEW" PROPERTY FOR ATTRIBUTES IN REST DESCRIBE In JDeveloper, you can use the overview editor to set ADF REST attribute hints. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-C58E4680-65A9-4C67-ABEC-8707C8F7AB9F
Setting the attribute hints effects the REST service describe payload. They appear as attribute properties in the json payload.
ADF REST DT ABILITY TO CREATE REST RESOURCES FROM "CREATE BC FROM TABLES" WIZARD The Create Business Components from Tables wizard is a new wizard that combines generating the various business components along with creating REST resources in a single end to end process. This wizard lets you create REST resources quickly and easily. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-EDD63093-C591-4AA7-A786-DB5A16B0FB75
ADF REST DT ABILITY TO CONFIGURE CACHE-CONTROL HEADER VALUE PER RESOURCE DEFINITION The ADF REST framework supports configuration options for Cache-Control. You can specify these additional configuration options in the REST resource source editor. When you specify one of the valid values, then that Cache-Control header will be added in the payload response https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-adf-restful-web-services-application-modules.html#GUID-9E88D5AD-D9CF-48AF-898C-E59D799E03F2
ADFBC GROOVY CLASS SUPPORT IN BC4J DESIGN-TIME Use Script Classes to define a class that can be used by other script classes. A script class file allows you to maintain common Groovy script methods that can be called from within any business component class.  https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/getting-started-adf-business-components.html#GUID-D636F63E-8ED8-4E9A-B587-4B0815CF25C3
ADFM CLIENT SIDE LIST OF VALUES The af:inputSearch component filters and highlights matching suggestions. You use this LOV component with an ADF REST resource. Filtering of suggestions is case insensitive. The difference between af:inputSearch and af:inputComboboxListOfValues is that the latter component fetches the list from the server every time you launch the dropdown. However, af:inputComboboxListOfValues has an attribute named contentDelivery which if set to immediate will not fetch the list while launching the dropdown. The list would have to be pre-fetched while loading or rendering the component. In the case ofaf:inputSearch , this component fetches the list from an ADF REST resource based on a RESTful web service. If caching is enabled by way of HTTP headers on the ADF REST service, the resource can also be cached on the client. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop/creating-databound-selection-lists-and-shuttles.html#GUID-3720017F-9E29-479F-B5AD-3057756E61BD
ADFM DT SUPPORT FOR CREATING ODATA DC You can create an OData data control for a RESTful web service. OData (Open Data Protocol) defines a set of best practices for building and consuming RESTful APIs without having to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats, query options and so on. OData RESTful APIs are easy to consume. In ADFDC:
https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-data-controls/consuming-web-services-using-adf-model-layer.html#GUID-260C18A3-7C5F-4472-8153-370ABEEC2DC8
ADF Faces INFOLET STREAMING FOR VIN/VIB ADF Faces supports a streaming component, such as infolets, in a JSF page that allows components to delay their rendering until a streaming request is fulfilled. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/rerendering-partial-page-content.html#GUID-F83343AB-BD12-45B4-A16D-71C0B45D639B
ADF Faces SUPPORT MRU IN CLIENT-SIDE LOV COMPONENT The suggestionSection component creates and manages the most recently used (MRU) suggestion lists based on the frequency and recentness of the suggestions used. The preferred list of suggestion items is stored in the browser’s storage object. The suggestionSection component manages a list of preferred suggestions and gets displayed based on the various factors on the client. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-list-values-components.html#GUID-A6D5C669-4F72-4D7A-ACF1-87A227C0A55F
ADF Faces ALTA VERTICAL TAB STYLE WITH TEXT LABELS  For a vertical compressed layout, ADF provides a verticalTabMode attribute for the panelTabbed component that determines whether to display the conveyor belt icons only or to display the conveyor belt icons with text labels. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/organizing-content-web-pages1.html#GUID-D9FB1ADE-CE8A-49CB-93A0-58B5DB7ABA12
ADF Faces CLIENT SIDE LIST OF VALUES Using inputSearch component you can filter from a list of values to search and highlight the matched suggestion. You must use the ADF inputSearch component with REST resource and inputSearch supports tag attributes to understand REST data. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-list-values-components.html#GUID-ACB232A6-5F49-422A-B606-0F99E192B848
ADF Faces CUSTOM FACET IN NEW LOV The inputSearch component includes a facet toolbar that renders a section in the suggestions panel, which you can use to place custom controls such as tool bar items of your choice. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-list-values-components.html#GUID-A527331F-A76D-4F3F-817A-F97A1630F5F1
ADF Faces INPUTSEARCH TO SUPPORT VERY LONG LISTS The inputSearch component does client filtering of the suggestions if the complete suggestions list is sent to the client on a simple request to the dataUrl. If the results set is paginated with the response having hasMore property set to true, then the component delegates the filtering to the REST service. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-list-values-components.html#GUID-ACB232A6-5F49-422A-B606-0F99E192B848
ADF Faces ADDING SVG CONTAINER STYLE WITHOUT COMPRESSION ADF supports styling inline Scalar Vector Graphics (SVG) by adding a style class in skin file and referencing it in the SVG content. This feature is required only when it is desirable to style SVG icons which will be used across the pages and components of the application in a specific way for one or more instances.
ADF Faces PANELFORMLAYOUT PROVIDE RESPONSIVE LAYOUT  You can configure the panelFormLayout component to be responsive so that it modifies the form layout dynamically, depending on the space available. Responsive form layout allows dynamically adjusting the number of columns in which the children should be laid out, determining the label position of panelFormLayoutcomponent children based on the space available for the component. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/organizing-content-web-pages1.html#GUID-7D0AAAED-CD4C-4F62-9705-99C3466AEA34
ADF Faces SWIPE SUPPORT FOR LISTVIEW  New start and end facets provide location for items shown using swipe operation on list view https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/tag-reference-faces/tagdoc/af_listView.html
ADF Faces INLINE SVG SUPPORT FOR ADF BUTTON, IMAGE AND MENUITEM COMPONENTS  Scalar Vector Graphics (SVG) images files are used to define vector-based graphics for the web in XML format. Use inline SVG images via CSS and Javascript for the ADF Faces components to access various elements available within the SVG DOM. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/customizing-appearance-using-styles-and-skins.html#GUID-AC60C674-5458-4FB8-80BA-1A31B5A45EC0
ADF Faces PROVIDE AN INTERFACE TO MAP LOGICAL VIEWID TO ACTUAL VIEW ID In ADF, the pages are accessed through different views, each with different viewID. Saved Search, layouts feature uses viewId to derive a unique location within MDS to save the layout files as binaries. If you open a page template or fragment that contains a component and attributes and its results from different viewIDs, the results layout will be saved in different locations in MDS, because the storage location depends on the viewID of the page. However, this breaks the results layout persistence feature in ADF Faces. To override the MDS location for one viewID with another viewID of the page containing results layout and to consolidate all layout files under one viewID, the public interface QueryResultsLayoutIdentifier should be registered with ConfigPropertyService key oracle.adf.view.faces.component.query.resultsLayoutIdentifier. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/creating-and-reusing-fragments-page-templates-and-components.html#GUID-4F7C02A9-7B80-46C2-A0D4-DD1B0D26E821
ADF Faces ALLOW TO CONFIGURE "SET AS DEFAULT" AND "RUN AUTOMATICALLY" AS UNCHECKED The query component displays a list of available system-saved serarches and user-saved searches. Saved searches are listed in alphabetical order and are case-insensitive. A Personalize option is also added if the saveQueryMode property is set to default. Selecting this option opens a Personalize dialog, which allows users to personalize saved searches. They can duplicate or update an existing saved search. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-query-components.html#GUID-1EF2B9E3-A259-4626-912D-A32A6071F346
ADF Faces ACTIONLISTENER FOR AF:QUERY SAVE, RESET AND PERSONALIZE Expanded the query operation actions that generate a QueryOperationEvent to include saving a search, personalizing a search, and resetting a search. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-query-components.html#GUID-D96488D1-342B-4500-B2A0-D116E0592E73
ADF Faces SUPPORT FOR VALUE FORMATTING IN TABLE FOR ADS EVENTS When you define value formatting for a table or chart, the value formatting applies only on the non-active events and does not apply on the ADS event. The converters, which are responsible for formatting response data do not work on ADS response. To format the ADS data, you can use the oracle.adf.view.rich.ads.USE_COMPONENT_FORMATTER parameter in the web.xml file. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/validating-and-converting-input.html#GUID-E84874BD-DC22-4A46-AD5D-41C07E8BEA1D
ADF Faces AF:INPUTDATE - SET THE CURRENT DATE IN THE POPUP  You can configure the inputDate component to show a default value for either the date or both the date and the time by using the DefaultValue attribute. The value that you specify for this attribute is used to display the default values for date and time. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-input-components-and-defining-forms.html#GUID-28CFB2FA-2BB7-489F-A5C8-218CD56101C4
ADF Faces DATE PICKER UX UPGRADE You can configure the inputDate component to specify the date picker functionality to expose and to optionally specify the number of months to be shown at once in the date picker. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-input-components-and-defining-forms.html#GUID-E660F766-49CE-4066-BC28-52FBB47F3458
ADF Faces MULTI-SELECTION SUPPORT IN AF:CHOOSEDATE With support from the chooseDate component load and selection events, you can define a client event listener to call an event handler and handle date selection based on the selection modifier keys used (Ctrl and Shift keys). https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-input-components-and-defining-forms.html#GUID-B4375F89-45CB-4771-A5BD-6594931153CE
ADF Faces PROVIDE SERVLET INITIALIZATION PARAMETER TO OVERRIDE WINDOW TIMEOUT  ADF Faces window lifecycle states are managed by the window manager. You can configure the session timeout to override when the window timeout. https://docs.oracle.com/en/middleware/developer-tools/adf/12.2.1.4/develop-faces/using-popup-dialogs-menus-and-windows.html#GUID-DD115C1B-FB52-470F-B416-0CDB88266D60