The following topics introduce the new and changed features of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) and other significant changes, which are described in this guide. This document is the new edition of the document formerly titled Fusion Developer's Guide for Oracle Application Development Framework.
Oracle Fusion Middleware Release 12c (12.1.2) of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) includes the following new and changed development features, which are described in this guide.
ADF Business Components
New offline database option, which supports using an offline database as the database object provider for the data model project. This feature lets you work in a disconnected fashion and pick up database changes when are ready. See Section 3.2.4, "How to Change the Data Model Project to Work With Offline Database Objects."
New row finders feature, which can be used to locate specific rows in a view object row set. The row finder is similar to query by example searches, and does not rely on a row key attribute to locate specific rows. See Section 5.11, "Working with Row Finders" and Section 6.2.8, "How to Find Rows of a Master View Object Using Row Finders."
Revised Query page in the view object overview editor, which makes it easier to manage query bind parameters and avoid the unreferenced bind variable SQL exception. See Section 5.10.2, "How to Add WHERE Clause Bind Variables to a View Object Definition."
New View Criteria page in the view object overview editor to show view criteria bind variables, which makes it easier to avoid the unreferenced bind variable SQL exception. See Section 5.10.1, "How to Add View Criteria Bind Variables to a View Object Definition."
New multiple required view criteria feature, which allows you to prevent view criteria that you apply to a view object instance in the application module data model from being unapplied whenever your application invokes the view criteria API. See Section 184.108.40.206, "Customizing a View Object Instance that You Add to an Application Module."
jbo.ampool.connection_threshold application module configuration property, which specifies the maximum number of connections that application module in all application module pools combined may hold onto without releasing back to the connection pool upon checkin. See Section 50.2.7, "What You May Need to Know About Application Module Pool Parameters."
Removed documentation related to the deprecated EJB Session Bean-enabled application modules, which means it is no longer possible to create or run EJB Session Bean-enabled application modules in JDeveloper. For ways to migrate existing EJB Session Bean-enabled application modules, see Section 13.1.1, "Application Module Use Cases and Examples."
ADF Data Visualization components
New ADF Data Visualization components:
sunburst. See Chapter 39, "Creating Databound Hierarchy Viewer, Treemap, and Sunburst Components."
New active data support for these additional ADF Faces components:
treemap. See Section 47.1.1, "Active Data Service Use Cases and Examples."
Revised user interface for the Oracle Diagnostic Log Analyzer, which makes it easier to view ADF log messages. See Section 42.6, "Using the ADF Logger."
oracle.adfdiagnostics logger, which enables ADF logging using a single logger. See Section 42.6.2, "How to Create an Oracle ADF Debugging Configuration."
New JDeveloper window names, context menu options, and other UI changes in JDeveloper are reflected in all chapters of this guide..
ADF Faces button and link components are now consolidated into the
af:link components. All code examples in the book have been updated to reflect these new components.
For Release 12c (12.1.2), this document has been updated in several ways. Following are the sections that have been added or changed.
Updated images of the sample application that appear throughout this guide with images that reflect the new Summit sample applications for Oracle ADF. See Chapter 2, "Introduction to the ADF Sample Application."
Updated sample code that appears throughout this guide with samples that reflect the new Summit sample applications for Oracle ADF. See Chapter 2, "Introduction to the ADF Sample Application."
Part II Building Your Business Services
Merged the contents of the chapter on advanced entity object techniques with its entity object foundation chapter. See Chapter 4, "Creating a Business Domain Layer Using Entity Objects."
Added new sections to describe how to avoid dependencies on application modules and view objects in the methods that you implement in custom entity object, view object, and view row classes. See Section 4.14.9, "What You May Need to Know About Custom Entity Object Methods" and Section 10.1.3.4, "Avoid Creating Dependencies on Parent Application Module Types."
Moved sections describing how to create master-detail relationships to a new chapter. See Chapter 6, "Defining Master-Detail Related View Objects."
Added a new section to describe how to create inline view criteria to reference detail attributes in a master-detail view object hierarchy. See Section 6.4, "Working with Master-Detail Related View Objects in View Criteria."
Renamed the chapter on view object query results. See Chapter 8, "Testing View Instance Queries."
Added a new section to describe a limitation of attribute validation rules when used with List of Values (LOV) attributes. See Section 11.3.5, "What You May Need to Know About List of Values and Attribute Validation Rules."
Renamed the chapter on advance business components techniques. See Chapter 16, "Extending Business Components Functionality."
Split the chapter on advanced view object techniques into separate chapters. See Chapter 7, "Defining Polymorphic View Objects," Chapter 9, "Tuning View Object Performance," and Chapter 10, "Working Programmatically with View Objects."
Part III Using the ADF Model Layer
Moved the chapters on web service data controls and URL service data controls to the new book, Developing Applications with Oracle ADF Data Controls.
Part IV Creating ADF Task Flows
Reorganized the following sections of Chapter 20, "Getting Started with ADF Task Flows.":
Added a new section to describe the use of control flow rules in task flows. See Section 20.4, "Adding Control Flow Rules to Task Flows."
Consolidated the information on executing a bounded task directly from a JSP page into Section 20.5, "Testing Task Flows."
Reorganized the following sections of Chapter 22, "Using Parameters in Task Flows":
Moved the section describing sharing data control instance to another chapter. See Section 24.2, "Sharing Data Controls Between Task Flows."
Renamed the section describing return value usage. See Section 22.4, "Configuring a Return Value from a Bounded Task Flow."
Reorganized the following sections of Chapter 23, "Using Task Flows as Regions":
Consolidated the information about running multiple task flows into Section 23.1.2, "About View Ports and ADF Regions."
Renamed the section describing how to invoke task flows from ADF regions. See Section 23.5, "Configuring an ADF Region to Refresh."
Revised a section to describe how the configuration of a parent
panelTabbed component can determine if a
region component refreshes. See Section 23.5.1, "How to Configure the Refresh of an ADF Region."
Added a new section that discusses how to configure the transaction options of a task flow that renders in an ADF region. See Section 23.8, "Configuring Transaction Management in an ADF Region."
Added a new section to describe page rendering with multiple regions. See Section 23.11, "Configuring a Page To Render an Unknown Number of Regions."
Added a new section to describe how you can now specify a bounded task flow to render in an ADF region as an alternative to bounded task flows that users may not be able to access due to not having the required security permissions. You specify the alternative bounded task flow as a value for the
unauthorized-region-taskflow element in the
adf-config.xml file. See Section 23.12, "Handling Access to Secured Task Flows by Unauthorized Users."
Reorganized the following sections of Chapter 24, "Creating Complex Task Flows":
Merged the contents of the section on using initializers and finalizers into Section 24.1, "About Creating Complex Task Flows."
Moved the contents of the section on using BPEL with task flows to Section 24.1.2, "Additional Functionality for Complex Task Flows."
Revised a section to describe the SQL script provided by Oracle ADF that cleans up expired save points. See Section 24.7.9, "What You May Need to Know About the Time-to-Live Period for a Save Point."
Renamed the section describing train components. See Section 24.8, "Using Train Components in Bounded Task Flows."
Revised a section to describe how the diagram of a bounded task flow that is based on a task flow template displays the activities that have been defined in the template. See Section 24.9, "Creating Task Flow Templates."
Revised a section to describe how choosing the <No Controller Transaction> option from a task flow's overview editor turns off the transaction management capabilities of the ADF task flow and delegates transaction management to the ADF Model layer. See Section 24.3, "Managing Transactions in Task Flows."
Added a new section to describe the interactions that occur when you isolate two bounded task flow transactions completely so that they can be committed or rolled back separately. See Section 220.127.116.11, "Creating Completely Separate Transactions."
Added a new section to describe the interactions that occur when you configure two bounded task flows to share a transaction to save connection resources and stop the transaction if the called bounded task flow cannot join the transaction of the calling bounded task flow. See Section 18.104.22.168, "Guaranteeing a Called Bounded Task Joins an Existing Transaction."
Added a new section to describe the interactions that occur when you call a bounded task flow that joins the transaction of the calling bounded task flow if one exists and, if not, creates its own transaction. See Section 22.214.171.124, "Using an Existing Transaction if Possible."
Added a new section that describes the configuration changes to make if you want to have separate root application modules connect to different data sources within the same ADF Model project. See Section 24.3.4, "What You May Need to Know About ADF Business Component Database Connections and Task Flow Transaction Options."
Renamed the section describing uses of the ADF Faces dialog framework. See Section 25.3, "Using the ADF Faces Dialog Framework Instead of Bounded Task Flows."
Part V Creating a Databound Web User Interface
Revised Chapter 27, "Understanding the Fusion Page Lifecycle" for clarity.
Renamed the section describing how to create text fields. See Section 28.2, "Creating Text Fields Using Data Control Attributes."
Renamed the section describing how to create basic forms. See Section 28.3, "Creating Basic Forms Using Data Control Collections."
Added a new section to describe how to create command components using the Data Controls panel. See Section 28.4.1, "How to Create Command Components From Operations."
Added a new section to describe how to create parameter forms. See Section 28.7, "Using Parameters to Create a Form."
Modified the section on input forms to emphasize the use of task flows. See Section 28.8, "Creating an Input Form."
Modified the section on dynamic forms to reflect the new dynamic component feature. See Section 28.9, "Creating a Form with Dynamic Components."
Added a new section on getting row data programmatically without changing currency. See Section 29.2.4, "What You May Need to Know About Getting Row Data Programmatically."
Added a new section on committing multiple rows in a JPA-based data control. See Section 29.4.6, "What You May Need to Know About Saving Multiple Rows in a JPA-Based Data Control."
Added a new section to describe creating tables based on dynamic components. See Section 29.5, "Creating a Table with Dynamic Components."
Renamed the section on basic functionality of master-detail components and provided for more context on prerequisites for master-detail forms. See Section 31.2, "Prerequisites for Master-Detail Tables, Forms, and Trees."
Revised the section on creating master-detail components to add information on creating master-detail components from individual components and on separate pages. See Section 31.3, "Using Tables and Forms to Display Master-Detail Objects."
Added a new section on using the
TargetIterator property for an ADF Faces Tree component. See Section 31.4.4, "How to Synchronize Other Parts of a Page With a Tree Selection."
Removed the "Creating More Complex Pages" chapter by distributing the following content into other chapters:
Moved the section describing command components to a new chapter. See Chapter 30, "Using Command Components to Invoke Functionality in the View Layer."
Moved the sections describing the ADF Faces Calendar component and the ADF Faces Carousel component to a new chapter. See Chapter 34, "Using More Complex Databound ADF Faces Components."
Moved the section describing contextual events to a new chapter. See Chapter 40, "Using Contextual Events."
Moved the section describing ADF Model layer validation to a new chapter. See Section 18.2, "Defining Validation Rules in the ADF Model Layer."
Moved the section describing customizing error handling to a new chapter. See Section 18.3, "Customizing Error Handling."
Revised a section to include the automatic addition of
dvt:attributeFormat tags for non-string attributes during data-first graph creation. See Section 35.2.2, "What Happens When You Use the Data Controls Panel to Create a Graph."
Added a new section to document drilling support for databound graph components. See Section 35.2.9, "Configuring Databound Graphs for Drilling."
Added a new section to document how to include gauges in ADF tables. See Section 35.3.5, "Including Gauges in Databound ADF Tables."
Added a new section to document how to configure alternate view objects for hierarchy viewer panel cards. See Section 39.2.3, "How to Configure an Alternate View Object for a Databound Panel Card."
Added a new section to document support for configuring pivot table data cells for editing. See Section 36.2.5, "What You May Need to Know About Configuring Editable Data Cells."
Renamed the databound ADF DVT components chapter. See Chapter 35, "Creating Databound Graph and Gauge Components."Also, split the following content from this chapter into new chapters:
Created a new DVT component chapter for pivot components. See Chapter 36, "Creating Databound Pivot Table and Pivot Filter Bar Components."
Created a new DVT component chapter for the geographic and thematic map components. See Chapter 37, "Creating Databound Geographic and Thematic Map Components."
Created a new DVT component chapter for the Gantt chart and timeline components and added the new timeline component. See Chapter 38, "Creating Databound Gantt Chart and Timeline Components."
Created a new DVT component chapter for the hierarchy viewer component and added the new treemap and sunburst components. See Chapter 39, "Creating Databound Hierarchy Viewer, Treemap, and Sunburst Components."
Part VI Completing Your Application
Added a new section to describe ways to ensure that a redirect to a different host server when the user logs out is secure. See Section 41.7.7, "What You May Need to Know About About Redirecting to a Different Host Server."
Added a new section to describe how to use entity row API and ADF Security EL methods to test user permission for secured entity object operations. See Section 41.11.3, "How to Perform Authorization Checks for Entity Object Operations."
Added a new section to describe packaging and deploying customized applications. See Section 45.4, "How to Package and Deploy Customized Applications."
Revised a section to remove requirement that end users of applications with ADS configured must disable popup blockers in their web browser. This limitation no longer exists and ADS now functions with standard popup blockers enabled. See Section 47.1.2, "Limitations of the Active Data Service Framework."
Added a new section to describe how to configure the ADS application to time out from user inactivity. See Section 47.2.3, "How to Configure Session Timeout for Active Data Service."
Renamed the chapter on application state management. See Chapter 49, "Using State Management in a Fusion Web Application."
Created a new deployment appendix for deploying ADF applications to the GlassFish Server. See Appendix H, "Deploying ADF Applications to GlassFish."
Part VII Appendices
Revised a section to note that
invokeAction is deprecated. See Section A.8, "pageNamePageDef.xml."