Oracle ADF - Key New Features

This table lists some of the key new features added to Oracle ADF 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.
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).
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.
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.
ADF REST RT ALLOW FILTERING OF RESOURCES IN CATALOG LEVEL DESCRIBE REST APIs support describing two or more named resource collections.
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 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.
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 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.
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 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.
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 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/ 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.
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.
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.
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.
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
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
ADF Faces SWIPE SUPPORT FOR LISTVIEW  New start and end facets provide location for items shown using swipe operation on list view
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.
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.
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.
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.
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 parameter in the web.xml file.
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.
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.
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).
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.